COPUR/axios-supply-chain-incident-response

GitHub: COPUR/axios-supply-chain-incident-response

针对 axios 供应链投毒事件的零信任应急响应工具包,提供从检测扫描、影响分析到 CI/CD 防护的全流程自动化处置能力。

Stars: 0 | Forks: 0

# Axios 供应链事件应急响应套件 针对涉及以下版本的 axios 供应链事件的零信任响应工具包: - `axios@1.14.1` - `axios@0.30.4` - 恶意依赖 `plain-crypto-js@4.2.1` 本仓库提供: - 完整的检测扫描以及面向操作的报告输出 - 影响分析(repos、CI/CD、潜在的 secret 泄露) - 严格的修复操作手册(在不确定的情况下假设已遭到入侵) - 针对 CI/CD 和运行时操作的预防性防护措施 - 以 Node.js 为核心的工具链,包含 TDD 和覆盖率门禁 ## 快速开始 ``` npm ci --ignore-scripts npm run scan -- --roots /path/to/repos --output report.md --json-out report.json ``` 输出脱敏处理: - 报告输出默认经过匿名化/脱敏处理(路径和用户名)。 - 若要禁用脱敏以进行仅限内部的调试,请使用 `--no-anonymize-output`。 扫描器会按以下格式输出报告: - 第 1 部分:检测结果 - 第 2 部分:风险等级 - 第 3 部分:紧急操作 - 第 4 部分:修复计划 - 第 5 部分:预防措施 JSON 输出还包括: - `affected_basis`(`direct_compromise_detected`、`assumed_compromise_due_to_uncertainty`、`no_compromise_indicators`) - `direct_compromise_evidence` - `uncertainty_evidence` ## 仓库结构 ``` . ├── src/lib/ │ ├── anonymize.js │ ├── guardrail-core.js │ ├── incident-scan-core.js │ ├── lockfile-utils.js │ ├── matrix-core.js │ └── security-events.js ├── scripts/ │ ├── incident-scan.js │ ├── guardrail.js │ ├── run-guardrail-matrix.js │ └── publish-guardrail-event.js ├── agent/ │ └── security-agent.js ├── policies/ │ └── guardrail-policy.json ├── docs/ │ ├── approach.md │ └── remediation-runbook.md ├── k8s/ │ └── security-agent-deployment.yaml ├── tests/ │ └── *.test.js └── .github/workflows/ ├── dependency-guardrail.yml ├── guardrail-matrix.yml └── node-tests.yml ``` ## 检测范围 检测器会检查: - 是否已安装 `axios` 以及存在哪些版本 - 是否有任何项目使用了 `axios@1.14.1` 或 `axios@0.30.4` - 是否存在 `node_modules/plain-crypto-js` - 系统级指标: - Linux:`/tmp/ld.py` - macOS:`/Library/Caches/com.apple.act.mond` - Windows:`%PROGRAMDATA%\\wt.exe` ## CI 防护措施 ``` npm run guardrail ``` 行为: - 黑名单包/版本 -> 阻断(非零退出码) - 极新的包(< 策略阈值)-> 隔离 - 其他 -> 放行 ## 多仓库 Lockfile 防护措施 使用一条命令运行针对每个 lockfile 的防护检查: ``` npm run guardrail:matrix -- \ --roots /path/to/repos \ --output-dir guardrail-matrix-output \ --policy-file policies/guardrail-policy.json \ --denylist-only \ --max-workers 4 ``` 启用缓存和时效检查的完整模式: ``` npm run guardrail:matrix -- \ --roots /path/to/repos \ --output-dir guardrail-matrix-output \ --policy-file policies/guardrail-policy.json \ --cache-file /tmp/guardrail-npm-metadata-cache.json \ --age-scope direct ``` 产物: - `summary.csv` - `summary.json` - `results/*.json`(每个 lockfile 一个) 产物脱敏处理: - 矩阵输出默认经过匿名化/脱敏处理。 - 结果文件名为路径安全的哈希值(无宿主路径泄露)。 - 若要禁用脱敏以进行仅限内部的调试,请使用 `--no-anonymize-output`。 性能提示: - 如果对每个传递依赖评估时效策略,`full` 模式在处理大型 lockfile 时可能会产生高昂开销。 - 请使用 `--age-scope direct` 以实现实际的 CI 执行,同时保留对所有已解析包的黑名单检查。 - 请使用 `--max-workers` 来并行化 lockfile 检查,从而减少大型 mono-repo 集群的实际运行耗时。 ## 安全事件流水线 发布防护事件: ``` npm run publish:guardrail-event ``` 运行事件代理: ``` npm run agent:start ``` ## 测试 (TDD) ``` npm test ``` 全局语句、行和分支的覆盖率门禁被强制要求达到 `95%+`。 ## 可观测性、自愈与自我改进 启用结构化的运行时遥测和可选的自愈功能: ``` OBSERVABILITY_EVENTS_FILE=.observability/events.ndjson \ OBSERVABILITY_FORMAT=json \ OBSERVABILITY_LEVEL=info \ OBSERVABILITY_SELF_HEAL=1 \ npm run guardrail:matrix -- --roots /path/to/repos --denylist-only --max-workers 4 ``` 从捕获的运行时事件生成改进建议: ``` npm run observability:insights -- --events-file .observability/events.ndjson --output observability-insights.md ``` 强制执行严格的遥测门禁(当事件缺失/格式错误或生命周期事件不存在时失败): ``` npm run observability:verify -- \ --events-file .observability/events.ndjson \ --expected-tools guardrail_matrix \ --min-events 2 ``` CI 防护工作流会强制执行此门禁,并将 `.observability/` 作为产物上传以用于事件取证。 ## 安全原则 - 依赖安装即代码执行。 - 宁可误报,不可漏报。 - 若存在不确定性,则假设已遭到入侵。 - 切勿仅依赖 `node_modules` 检查。 ## 免责声明 本套件属于事件响应自动化支持工具,不能替代专业的取证调查。
标签:Axios, Chrome Headless, CI/CD安全, CISA项目, DevSecOps, GNU通用公共许可证, JSONLines, Kubernetes安全, Llama, Lockfile解析, MITM代理, Node.js, NPM安全, SBOM, StruQ, TDD, Web截图, 上游代理, 子域名突变, 安全策略, 安全运行手册, 容器安全, 密钥泄露检测, 库, 应急响应, 恶意依赖, 提示词设计, 暗色界面, 硬件无关, 网络安全, 自定义脚本, 覆盖门槛, 跌倒检测, 软件物料清单, 隐私保护, 零信任, 风险分析