从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - ID: js/actions/command-injection - Kind: problem - Security severity: 9.3 - Severity: warning - Precision: high 2. 漏洞类型: - Tags: actions, security, external/cwe/cwe-094 - Query suites: javascript-code-scanning.qls, javascript-security-extended.qls, javascript-security-and-quality.qls 3. 漏洞影响: - GitHub Actions:使用用户控制的输入可能导致代码注入漏洞。 - GitHub Actions的攻击面:允许攻击者利用临时GitHub仓库授权令牌,可能具有写入仓库的权限,从而利用令牌对仓库进行更改。 4. 推荐措施: - 最佳实践:将不受信任的输入值设置为中间环境变量,然后使用环境变量的原生语法(而不是${{ env.VAR }})。 - 建议:限制用于工作流的任何令牌的权限,例如GITHUB_TOKEN。 5. 示例: - 示例1:使用环境变量,但仍然允许注入,因为使用了表达式语法。 - 示例2:使用shell语法读取环境变量,从而防止攻击。 6. 参考资料: - GitHub Security Lab Research: Keeping your GitHub Actions and workflows secure: Untrusted input. - GitHub Docs: Security hardening for GitHub Actions. - GitHub Docs: Permissions for the GITHUB_TOKEN. - Common Weakness Enumeration: CWE-94.