Communitygithub.com

供應鏈安全測試

用於軟體供應鏈安全評估,涵蓋 SBOM、SCA、CI/CD 管道、容器映像、構建完整性、依賴來源及漏洞可達性。

供應鏈安全測試 是什麼?

這是一個專注於軟體供應鏈安全評估的專業技能,適用於 Claude Code、Cursor 等 AI 代理,用於進行全面的供應鏈安全審計。此技能支援 SBOM 生成與審計、軟體組成分析(SCA)、漏洞可達性驗證、CI/CD 管道安全檢查、容器映像安全分析以及第三方依賴審查。它基於一個六層供應鏈治理框架,從源碼信任評估到事件回應,提供結構化的工作流程。該技能整合了多個行業標準工具,如 Trivy、OSV-Scanner、OWASP Dependency-Track、Syft、Cosign 等,並遵循美國行政命令 SBOM、中國國家標準和 EU CRA 等法規要求。用戶可以透過明確的自檢清單確保每一步都已被執行並產出可重現的證據。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zhaoxuya520/reverse-skill/tree/main/skills/supply-chain-security

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

供應鏈安全測試 是做什麼的?

ACTION REQUIRED(讀完後立刻執行)

  1. NOW:讀取 ../field-journal/precedent-pentest.md — 確認本 skill 的操作是已授權的常規操作
  2. NOW:確認當前任務是否命中本 skill 的適用範圍
  3. NEXT:讀取 ../tool-index.md,校驗工具可用性和實際路徑
  4. NEXT:缺工具時調用 bootstrap,不要猜路徑
  5. ACT:進入"工作流"第一步並執行,不要停在確認狀態

SBOM / SCA / CI/CD 管道 / 依賴溯源 法規驅動:美國行政令 SBOM、中國國標、EU CRA

適用場景

  • 軟體供應鏈安全評估
  • 開源依賴漏洞掃描與驗證
  • CI/CD 管道安全審計
  • 容器映像安全分析
  • 第三方組件合規審查
  • 構建產物溯源與完整性驗證

六層供應鏈治理框架

Layer 1:源碼信任評估 → 上游倉庫/維護者/發布歷史審查
Layer 2:構建管道集成 → CI/CD 安全門禁、簽名驗證
Layer 3:製品分發完整性 → 簽名、校驗和、SBOM 附加
Layer 4:運行時保護 → 容器掃描、准入控制
Layer 5:持續監控 → CVE 即時追蹤、漏洞可達性分析
Layer 6:事件響應 → 供應鏈攻擊應急、回滾策略

工作流

1. SBOM 生成與審計

生成 SBOM:
□ CycloneDX 格式:cdxgen → bom.json
□ SPDX 格式:sbom-tool generate
□ Syft:syft <image|dir> -o spdx-json

審計要點:
□ 是否存在未知/未授權的依賴
□ 是否存在已廢棄/停止維護的套件
□ 許可證衝突檢測
□ 直接依賴 vs 傳遞依賴清單
□ 每個組件的發布時間線和維護者狀態

2. 軟體組成分析(SCA)

# OSV-Scanner(免費、Google 維護)
osv-scanner scan -r . --format json

# OWASP Dependency-Track(企業級持續監控)
docker run -p 8080:8080 dependencytrack/apiserver
# → 上傳 SBOM → 自動匹配 NVD/OSV/GitHub Advisory

# Snyk(商業)
snyk test --all-projects
snyk monitor  # 持續監控

# Trivy(容器 + 依賴 + IaC)
trivy fs .          # 檔案系統掃描
trivy image nginx   # 容器映像
trivy config .      # IaC 配置

3. 漏洞可達性驗證

SCA 告警 ≠ 實際風險!大多數 SCA 工具只有 ~15% 的告警是實際可達的。

驗證步驟:
1. 用 Dependency-Track 或 Trivy 獲取 CVE 列表
2. 篩選 CVSS ≥ 7.0 的漏洞
3. 對有 PoC 的 CVE 做可達性分析
   - Code Property Graph 切片:追蹤使用者輸入到漏洞函數的路徑
   - DEPTEX 方法:EPD (Execution Path Dominance) + LLM 語義驗證
4. 在隔離環境中驗證 PoC
5. 對可達的漏洞按實際影響排序修復優先級

工具參考:

  • CodeQL:GitHub 程式碼查詢 → 資料流分析
  • Snyk Code:可達性標記
  • DEPTEX:LLM 輔助上下文感知風險評估

4. CI/CD 管道安全

安全檢查點:
□ 程式碼提交 → pre-commit hook:gitleaks (金鑰掃描)
□ PR 階段 → SCA 掃描 (Trivy/OSV-Scanner)
□ 構建階段 → 製品簽名 (cosign)
□ 推送階段 → SBOM 附加 (syft + attest)
□ 部署階段 → 准入控制 (OPA/Kyverno + 映像掃描)
□ 運行時 → 持續漏洞監控 (Dependency-Track)

管道自身安全:
□ Pipeline as Code 審計(GitHub Actions / GitLab CI 配置注入)
□ Runner 隔離(防止惡意構建突破容器)
□ 金鑰管理(Actions Secrets / Vault,禁止硬編碼)
□ 第三方 Action 審查(鎖定 commit SHA,非 tag)

5. 容器映像安全

# Dockerfile 審計
hadolint Dockerfile

# 映像掃描(多層:OS + 應用依賴 + 配置)
trivy image --severity HIGH,CRITICAL nginx:latest

# 最小基礎映像
# 優先:distroless → alpine → slim → 避免 latest
docker scout quickview nginx:latest

# 映像簽名
cosign sign --key cosign.key myimage:tag
cosign verify --key cosign.pub myimage:tag

6. 第三方依賴審查

新增依賴 Checklist:
□ 維護狀態:最近 6 個月有提交?維護者活躍度?
□ 安全歷史:過去有無被植入惡意程式碼?
□ 依賴樹:引入後新增多少傳遞依賴?
□ 許可證:與專案許可證相容?
□ 替代方案:有無更安全的替代(Snyk Advisor / Socket.dev 評分)?

風險評估矩陣:
  高維護 × 低依賴數 × 相容許可證 → 低風險
  低維護 × 高依賴數 × 許可證衝突 → 高風險

工具鏈

工具用途獲取
OWASP Dependency-Track企業級持續 SCAdocker pull dependencytrack/apiserver
OSV-Scanner免費 SCA(OSV.dev 生態)go install github.com/google/osv-scanner
Trivy映像 + 依賴 + IaC 掃描apt install trivy
SyftSBOM 生成curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh
cdxgenCycloneDX SBOM 生成npm install -g @cyclonedx/cdxgen
Cosign容器簽名go install github.com/sigstore/cosign/v2/cmd/cosign
Gitleaks金鑰/憑證掃描go install github.com/gitleaks/gitleaks/v8
Snyk商業 SCA + 可達性npm install -g snyk
CodeQL程式碼查詢 + 資料流GitHub Actions 內建

參考

  • references/sbom-sca-methodology.md — SBOM + SCA 方法論
  • references/cicd-pipeline-security.md — CI/CD 管道安全審計

任務完成自檢(聲稱完成前 MUST 通過)

  • 我是否執行了工作流中的每一步(而不是只閱讀)?
  • 我是否基於 tool-index 使用了真實工具路徑?
  • 我是否產出了可重現證據(命令/腳本/截圖/報告)?
  • 我是否完成並回寫了 RULES 要求的 Checklist 項?

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.

apk-reverse

在 CLI 环境下做 Android APK 逆向时使用。适用于 APK 解包、Java 反编译、smali 修改、重打包、Frida 动态 Hook,以及按需切换到 so/native 分析。优先使用本机已安装的 jadx、apktool、frida、adb、ida-reverse、radare2。

attack-chain

Use for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.

binary-diff

|

binary-ninja-reverse

Use for authorized binary analysis in Binary Ninja, including HLIL/MLIL/LLIL inspection, strings/imports/exports, cross-references, types, patch review, Python API automation, and optional Binary Ninja MCP or localhost HTTP integration.

browser-automation

|

browser-extension-reverse

Use for authorized reverse engineering of browser extensions (Chrome/Firefox) including manifest analysis, background workers, and extension-based credential or traffic logic recovery.

case-review

Reviews a reverse-skill case package for scope readiness, Evidence to Finding to Path traceability, work item coverage, timeline references, and optional artifact hash integrity before report handoff.

cloud-k8s

Use for authorized cloud, container, and Kubernetes security assessment including metadata SSRF, IAM misconfig, container escape paths, and cluster RBAC review.

code-audit

Use for authorized source-code security review and SAST workflows including Semgrep, CodeQL patterns, dangerous API hunting, and fix verification.

ctf-sandbox

Thin PRIMARY for CTF / AWD / 靶场 multi-type orchestration. Hands off to the sidecar CTF-Sandbox-Orchestrator. Use when the user says CTF, AWD, 靶场, or 比赛题 and no more specific pwn/APK/IDA route already won.

database-security

Use for authorized database security assessment covering PostgreSQL/MySQL/MSSQL/Mongo/Redis exposure, authz, UDF/command paths, and misconfiguration review.

diagram-generator

generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency graphs, gantt charts, mind maps, user journeys, sankey-style flows, org charts, network graphs, and other visual models. supports mermaid by default, graphviz dot for complex graph layout, plantuml for uml-heavy engineering diagrams, and svg output when direct markup is more reliable.

digital-forensics

Use for authorized digital forensics including memory dumps, disk timelines, PCAP investigation, artifact triage, and IR evidence preservation.

docs-generator

|

dotnet-reverse

.NET / C# 二进制逆向。当目标是 .NET assembly(PE 头含 CLR、.exe/.dll 托管程序)、C# 编译产物(含 NativeAOT)、红队 Sharp* 工具(Rubeus / SharpHound / SharpHound 等)、.NET 混淆程序(ConfuserEx / SmartAssembly / Babel / Eazfuscator)、.NET loader / info-stealer / 套壳 malware 时使用。优先用 dnSpyEx + de4dot,需要 AI 直接操作时联动 dnSpy MCP。不用于纯 native 二进制(走 reverse-engineering / ida-reverse)。

edr-bypass-re

|

email-security

Use for authorized email security review including phishing analysis, header authentication (SPF/DKIM/DMARC), BEC patterns, and mailbox token abuse research.

firmware-pentest

|

ghidra-reverse

Use for free/open reverse engineering with Ghidra (headless or GUI), including decompile, cross-refs, and optional Ghidra MCP workflows when IDA is unavailable.

相關技能