Communitygithub.com

supply-chain-security

ソフトウェアのサプライチェーンセキュリティ評価(SBOM、SCA、CI/CDパイプライン、コンテナイメージ、ビルド整合性、依存関係の証明、脆弱性の到達可能性)のためのスキルです。

supply-chain-security とは?

このスキルは、ソフトウェアサプライチェーンセキュリティ評価のための包括的なフレームワークを提供します。SBOM(ソフトウェア部品表)の生成・監査、SCA(ソフトウェア構成分析)による脆弱性スキャン、CI/CDパイプラインのセキュリティ監査、コンテナイメージのセキュリティ分析、依存関係の証明と整合性検証をカバーします。特に、脆弱性の「到達可能性」分析に重点を置き、SCAツールが報告するアラートのうち実際に悪用可能なものを特定することで、優先順位付けを支援します。対応プラットフォームは、Claude Code、Coder、CodexなどのAIエージェント向けに設計されており、実際のツール(OSV-Scanner、Trivy、Dependency-Track、Cosignなど)を活用したワークフローをステップバイステップで実行します。すべての手順は、`field-journal`の事前承認や`tool-index`によるツールパス確認を必須としており、安全かつ確実な運用を保証します。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

サプライチェーンセキュリティテスト

アクション必須(読んだらすぐ実行)

  1. NOW: ../field-journal/precedent-pentest.md を読む — 本スキルの操作が許可された通常業務であることを確認する
  2. NOW: 現在のタスクが本スキルの適用範囲に該当するか確認する
  3. NEXT: ../tool-index.md を読み、ツールの利用可否と実際のパスを確認する
  4. NEXT: ツールがない場合は bootstrap を呼び出し、パスを推測しない
  5. ACT: 「ワークフロー」の最初のステップに進み実行する。確認状態で止まらない

SBOM / SCA / CI/CD パイプライン / 依存関係の証明 規制要因:米国行政命令 SBOM、中国国家標準、EU CRA

適用シナリオ

  • ソフトウェアサプライチェーンセキュリティ評価
  • オープンソース依存関係の脆弱性スキャンと検証
  • CI/CD パイプラインのセキュリティ監査
  • コンテナイメージのセキュリティ分析
  • サードパーティコンポーネントのコンプライアンスレビュー
  • ビルド成果物の証明と完全性検証

6層サプライチェーンガバナンスフレームワーク

レイヤー1: ソースコード信頼評価 → 上流リポジトリ/メンテナー/リリース履歴のレビュー
レイヤー2: ビルドパイプライン統合 → CI/CD セキュリティゲート、署名検証
レイヤー3: 成果物配布の完全性 → 署名、チェックサム、SBOM の添付
レイヤー4: ランタイム保護 → コンテナスキャン、アクセス制御
レイヤー5: 継続的監視 → CVE リアルタイム追跡、脆弱性到達可能性分析
レイヤー6: インシデント対応 → サプライチェーン攻撃緊急対応、ロールバック戦略

ワークフロー

1. SBOM 生成と監査

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

監査ポイント:
□ 未知または未承認の依存関係が存在しないか
□ 非推奨またはメンテナンス停止済みのパッケージが存在しないか
□ ライセンス競合の検出
□ 直接依存関係 対 推移的依存関係の一覧
□ 各コンポーネントのリリースタイムラインとメンテナー状態

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(実行パス支配率)+ 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 で固定)

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. サードパーティ依存関係レビュー

新規依存関係追加時のチェックリスト:
□ メンテナンス状態:最近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 で要求されているチェックリスト項目を完了し、書き戻しましたか?

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.

関連スキル