src/index.js:45
src/index.js:56
pip3 install -r requirements.txt
--require-hashes
src/index.js:58
src/index.js:20
--break-system-packages
src/index.js:73
.gitcode/workflows/api-scan.yml:22
@master
dist/index.js:1
漏洞清单
漏洞详情
1. 外部仓库克隆无完整性校验导致供应链 RCE(CWE-494)— 中危
src/index.js:452. 外部 requirements.txt 无哈希校验直接安装(CWE-494)— 中危
src/index.js:56pip3 install -r requirements.txt安装其中的 Python 依赖。由于未使用--require-hashes哈希校验、未固定 commit SHA、使用第三方 PyPI 镜像源,攻击者可通过篡改外部仓库或注册 typosquatting 包两条路径在 CI 运行环境中实现任意代码执行(RCE)。CI runner 通常持有 GITHUB_TOKEN、ATOMGIT 凭据等敏感密钥,攻击成功后可窃取这些密钥并横向渗透代码仓库。--require-hashes安装依赖;固定 commit SHA 克隆外部仓库;使用官方 PyPI 源3. 扫描结果上传无认证(CWE-306)
src/index.js:584. upload_url 未校验导致 SSRF(CWE-918)
src/index.js:205. --break-system-packages 绕过 PEP 668 保护(CWE-749)
src/index.js:56--break-system-packages标志绕过 PEP 668 externally-managed-environment 保护机制,允许 pip 全局安装覆盖系统级 Python 包。同时使用第三方镜像源(清华大学 PyPI 镜像)而非官方 pypi.org。如果外部仓库的 requirements.txt 被篡改或镜像源被入侵,恶意 Python 包可在安装时通过 setup.py 执行任意代码,覆盖 runner 上的系统工具或植入后门。--break-system-packages;使用官方 PyPI 源6. 上传失败不阻断门禁(CWE-755)
src/index.js:737. 工作流使用 @master 可变引用(CWE-1357)
.gitcode/workflows/api-scan.yml:22@master引用改为固定 commit SHA8. dist/index.js inline 依赖无法审计(CWE-494)
dist/index.js:1