Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
SBOM-VEX-Taint-Analysis | Kitploit
ツール/GitHubGitHub/owasp/sbom-vex-taint-analysis
脆弱性分析サプライチェーンセキュリティ論文と研究学習と教育厳選リソースAIセキュリティ
GitHubowasp/sbom-vex-taint-analysis

SBOM-VEX-Taint-Analysis

リポジトリを見る
2129日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

SBOM → VEX Agent

OWASP GenAI セキュリティプロジェクトのガイドラインに準拠して構築されたセキュアなマルチエージェント AI パイプラインを使用し、SBOM から署名付き CycloneDX VEX ドキュメントを自動生成します。

License: MIT OWASP CycloneDX AutoGen


問題

SBOM を生成すると、数百もの CVE が浮上します。実際には、その 90% 以上が特定の製品のランタイムコンテキストでは悪用不可能です。脆弱性悪用可能性交換(VEX)ドキュメントがなければ、Dependency-Track、リリースゲート、調達チェックリストなど、下流のすべてのツールが誤検知に埋もれてしまいます。

詳細な技術情報とテスト結果については WIKI を参照してください。

手動での VEX 生成は時間がかかり、スケーラビリティに欠けます。熟練したアナリストでも、単一のコンポーネントの評価に数時間を費やすことがあります。本番環境の SBOM には 500〜2,000 のコンポーネントが含まれる場合があります。

このプロジェクトは、その推論パイプラインを自動化します。ベンダーロックインなしで、すべてのデータを自社インフラ上に保持したまま、安全に実行できます。

実世界の動機: 2024 年、セキュリティ研究者の Johanna Curiel 氏は、Kubernetes Java Client を分析中にまさにこの問題を記録しました(LinkedIn 記事)。OSV スキャナーは com.diffplug.spotless:spotless-maven-plugin 1.17.0 の高リスク CVE を数秒で特定しました。一方、それが not_affected(ビルド時のみに実行され、ランタイムでは決して実行されないプラグイン)であると判断するには、数時間の手動分析が必要でした。このプロジェクトは、その推論ステップを自動化します。


アーキテクチャ

4 つのセキュリティゾーンで構成されています。明示的な検証なしに境界を越えるものはありません。

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│  ZONE 1 — Input ingestion (no LLM)                              │
│  SBOM upload → Schema validate → Sanitise → SHA-256 audit hash  │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 2 — OWASP guardrail middleware                            │
│  Prompt guard (LLM01) · Output filter (LLM02/05)                │
│  Agency limiter (LLM06) · Token budget (LLM10)                  │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 3 — Multi-agent pipeline (AutoGen AgentChat)              │
│                                                                  │
│  Orchestrator                                                    │
│       ├── CVE Analyst       NVD v2 + OSV + EPSS per component   │
│       ├── Exploit Reasoner  Call graph · LLM reasoning · RAG    │
│       └── VEX Writer        CycloneDX 1.6 schema-validated      │
│                                                                  │
│  Vector store (Qdrant) — signed past VEX decisions              │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 4 — Output, signing, audit                                │
│  Human-in-the-loop gate → cosign/GPG sign → audit log           │
└─────────────────────────────────────────────────────────────────┘

OWASP GenAI コンプライアンス

このプロジェクトは、OWASP Top 10 for LLM Applications 2025 と OWASP Top 10 for Agentic Applications 2026 に対応して設計されています。

Human-in-the-loop は必須です。 高深刻度 CVE に対する VEX の not_affected ステートメントは、法的グレードの表明です。人間のレビュアーの承認なしに VEX が署名されることはありません。これは設定変更できません。


技術スタック

すべてオンプレミスで実行されます。データがインフラの外に出ることはありません。


要件

ハードウェア(本番環境):

  • Qwen2.5-Coder-32B 用: 1× A100 80GB、または 2× RTX 3090(合計 48GB VRAM)
  • 16GB 以上のシステム RAM
  • モデルウェイトとベクターストア用の 100GB 以上の SSD

ハードウェア(開発 / 小規模 SBOM):

  • RAM 16GB の任意のマシン — Ollama 経由で llama3.1:8b を使用

ソフトウェア:

  • Python 3.11+
  • Docker + Docker Compose
  • Node.js 18+(cosign ツール用)

クイックスタート

1. クローンとインストール

root@kitploit:~
git clone https://github.com/your-org/sbom-vex-agent
cd sbom-vex-agent
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

2. LLM バックエンドの起動

root@kitploit:~
# Development — Ollama (CPU/GPU, any laptop)
ollama pull llama3.1
ollama serve

# Production — vLLM (GPU required)
python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen2.5-Coder-32B-Instruct \
  --gpu-memory-utilization 0.90 \
  --host 0.0.0.0 --port 8000

3. サポートサービスの起動

root@kitploit:~
docker compose up -d   # starts Qdrant + PostgreSQL

4. SBOM でエージェントを実行

root@kitploit:~
python -m vex_agent analyse \
  --sbom path/to/your-sbom.cdx.json \
  --output path/to/output.vex.json

パイプラインは以下の処理を行います:

  1. SBOM を検証してサニタイズ
  2. 各コンポーネントの CVE を検索
  3. 悪用可能性について推論
  4. ドラフト VEX を人間のレビュアーに提示
  5. 承認後に最終ドキュメントへ署名して出力

設定

.env.example を .env にコピーして設定します:

root@kitploit:~
# LLM backend
VLLM_BASE_URL=http://localhost:8000/v1    # or Ollama: http://localhost:11434/v1
LLM_MODEL=Qwen2.5-Coder-32B-Instruct     # or llama3.1 for dev

# Services
QDRANT_URL=http://localhost:6333
AUDIT_DB_URL=postgresql://audit:secret@localhost:5432/audit

# Signing (leave blank to use cosign keyless via Sigstore OIDC)
GPG_KEY_ID=                               # optional: use GPG instead

プロジェクト構成

root@kitploit:~
sbom-vex-agent/
├── vex_agent/
│   ├── ingest.py          # Zone 1: SBOM validation and sanitisation
│   ├── guardrails.py      # Zone 2: OWASP middleware (GuardrailedAgent)
│   ├── agents/
│   │   ├── orchestrator.py
│   │   ├── cve_analyst.py
│   │   ├── exploit_reasoner.py
│   │   └── vex_writer.py
│   ├── tools/
│   │   ├── nvd.py         # NVD v2 API client
│   │   ├── osv.py         # OSV.dev client
│   │   └── epss.py        # EPSS scoring
│   ├── vector_store.py    # Qdrant integration + provenance signing
│   ├── hitl.py            # Human-in-the-loop review gate
│   └── sign.py            # Zone 4: cosign / GPG signing
├── schemas/
│   ├── cdx-1.6.schema.json
│   └── cdx-1.6-vex.schema.json
├── tests/
├── docker-compose.yml
├── .env.example
└── requirements.txt

VEX 出力形式

このエージェントは CycloneDX 1.6 VEX ドキュメントを生成します。単一コンポーネントの出力例:

root@kitploit:~
{
  "bomFormat": "CycloneDX",
  "specVersion": "1.6",
  "version": 1,
  "metadata": {
    "timestamp": "2026-04-26T10:00:00Z",
    "tools": [{ "name": "sbom-vex-agent", "version": "1.0.0" }]
  },
  "vulnerabilities": [
    {
      "id": "CVE-2021-37714",
      "affects": [{ "ref": "pkg:maven/com.diffplug.spotless/[email protected]" }],
      "analysis": {
        "state": "not_affected",
        "justification": "vulnerable_code_not_in_execute_path",
        "detail": "Plugin executes only at build time; not present in deployed runtime."
      }
    }
  ]
}

有効な state 値: affected · not_affected · fixed · under_investigation

有効な justification 値(not_affected の場合):

  • component_not_present
  • vulnerable_code_not_present
  • vulnerable_code_not_in_execute_path
  • vulnerable_code_cannot_be_controlled_by_adversary
  • inline_mitigations_already_exist

関連リソース

  • OWASP GenAI Security Project
  • OWASP Top 10 for LLM Applications 2025
  • OWASP Top 10 for Agentic Applications 2026
  • CycloneDX Specification
  • AutoGen AgentChat v0.4
  • OSV Vulnerability Database
  • EPSS Scoring API
  • Sigstore / cosign
  • Johanna Curiel — SBOM を使用した Kubernetes Java Client のサプライチェーン脆弱性の分析と VEX の生成 (2024)

コントリビューション

コントリビューションを歓迎します。大幅な変更の場合は、プルリクエストを送信する前に issue を開いてください。

セキュリティの問題は非公開で報告してください — SECURITY.md を参照してください。


ライセンス

MIT — LICENSE を参照してください。


OWASP GenAI セキュリティプロジェクトに準拠して構築されています。公式の OWASP プロジェクトではありません。

ツールをダウンロード
OWASP リスクID本プロジェクトでの緩和策
プロンプトインジェクションLLM01LLM インジェクション前にすべての SBOM フィールドをサニタイズ。インジェクションパターンのブロックリスト
機密情報の開示LLM02すべてのエージェント出力に対する PII スクラバー。内部パスフィルター
不適切な出力処理LLM05署名前の CycloneDX スキーマ検証。失敗時の再試行
過剰なエージェンシーLLM06分析中の読み取り専用ツール。CVSS ≥ 7.0 のすべての判定に対する HITL ゲート
システムプロンプトの漏えいLLM07内部ポリシーをシステムプロンプトから分離
ベクター / 埋め込みの弱点LLM08保存されたベクターに署名。コンテキスト注入前に来歴を検証
無制限な消費LLM10MaxMessageTermination(20)。コンポーネントごとのトークン予算。NVD タイムアウト
コンポーネントツール備考
エージェントオーケストレーションAutoGen AgentChat v0.4マルチエージェント、ツール使用、メッセージフック
LLM(推奨)Qwen2.5-Coder-32B構造化 JSON とセキュリティ推論に最適
LLM サーバーvLLM(本番)/ Ollama(開発)OpenAI 互換 API
CVE データNVD v2 API + OSV.dev + EPSSすべて無料、API キー不要
ベクターストアQdrantセルフホスト。過去の VEX 判定
埋め込みall-MiniLM-L6-v2(sentence-transformers)完全ローカル
SBOM 形式CycloneDX 1.4–1.7(JSON/XML)、SPDX 2.3/3.0取り込み時にスキーマ検証
VEX 出力CycloneDX 1.6 VEX署名前にスキーマ検証
署名cosign(Sigstore キーレス)タイムスタンプ付き、監査ログ記録
監査ログPostgreSQL(追記専用、pgaudit)すべてのエージェントの判定を記録