Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
SBOM-VEX-Taint-Analysis — Automatisierte SBOM-zu-VEX-Pipeline unter Verwendung eines sicheren Multi-Agenten-KI-Systems, um CVEs zu analysieren, Ausnutzbarkeit zu bewerten und signierte CycloneDX VEX-Dokumente in Übereinstimmung mit OWASP GenAI guidelines zu generieren | Kitploit
Tools/GitHubGitHub/owasp/sbom-vex-taint-analysis
SchwachstellenanalyseLieferkettensicherheitPapers & ForschungLernen & BildungKuratierte RessourcenKI-Sicherheit
GitHubowasp/sbom-vex-taint-analysis

SBOM-VEX-Taint-Analysis

Automatisierte SBOM-zu-VEX-Pipeline unter Verwendung eines sicheren Multi-Agenten-KI-Systems, um CVEs zu analysieren, Ausnutzbarkeit zu bewerten und signierte CycloneDX VEX-Dokumente in Übereinstimmung mit OWASP GenAI guidelines zu generieren

Repository anzeigen
21vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

SBOM → VEX Agent

Generieren Sie automatisch signierte CycloneDX-VEX-Dokumente aus SBOMs mittels einer sicheren Multi-Agenten-KI-Pipeline, entwickelt gemäß den Richtlinien des OWASP GenAI Security Projects.

License: MIT OWASP CycloneDX AutoGen


Das Problem

Die Erstellung eines SBOMs fördert hunderte CVEs zutage. In der Praxis sind über 90 % in der Laufzeitumgebung eines bestimmten Produkts nicht ausnutzbar. Ohne ein Vulnerability Exploitability eXchange (VEX)-Dokument ertrinken alle nachgelagerten Tools – Dependency-Track, Release-Gates, Beschaffungschecklisten – in Fehlalarmen.

Weitere technische Details und Testergebnisse entnehmen Sie bitte dem WIKI.

Die manuelle VEX-Erstellung ist zeitaufwändig und skaliert nicht. Ein erfahrener Analyst kann Stunden mit der Bewertung einer einzigen Komponente verbringen. Ein produktives SBOM kann 500–2.000 Komponenten enthalten.

Dieses Projekt automatisiert diese Argumentationspipeline – sicher, ohne Vendor-Lock-in, wobei alle Daten in Ihrer Infrastruktur verbleiben.

Im Jahr 2024 dokumentierte die Sicherheitsforscherin Johanna Curiel genau dieses Problem bei der Analyse des Kubernetes Java Client (). Der OSV-Scanner identifizierte in Sekundenschnelle ein hohes CVE-Risiko in . Die Feststellung, dass es sei (Build-Zeit-Plugin, wird zur Laufzeit nie ausgeführt), erforderte Stunden manueller Analyse. Dieses Projekt automatisiert diesen Argumentationsschritt.

Motivation aus der Praxis:
LinkedIn-Artikel
com.diffplug.spotless:spotless-maven-plugin 1.17.0
not_affected

Architektur

Vier Sicherheitszonen. Nichts überschreitet eine Grenze ohne explizite Validierung.

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│  ZONE 1 — Eingabe (kein LLM)                                    │
│  SBOM-Upload → Schema validieren → Bereinigen → SHA-256-Prüfhash │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 2 — OWASP-Guardrail-Middleware                            │
│  Prompt Guard (LLM01) · Output-Filter (LLM02/05)                │
│  Agency-Limiter (LLM06) · Token-Budget (LLM10)                  │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 3 — Multi-Agenten-Pipeline (AutoGen AgentChat)            │
│                                                                  │
│  Orchestrator                                                    │
│       ├── CVE-Analyst       NVD v2 + OSV + EPSS pro Komponente  │
│       ├── Exploit-Reasoner  Call-Graph · LLM-Reasoning · RAG    │
│       └── VEX-Autor         CycloneDX 1.6 schema-validiert      │
│                                                                  │
│  Vektor-Store (Qdrant) — signierte frühere VEX-Entscheidungen   │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 4 — Ausgabe, Signierung, Audit                            │
│  Human-in-the-Loop-Gate → cosign/GPG signieren → Audit-Log      │
└─────────────────────────────────────────────────────────────────┘

OWASP GenAI-Konformität

Dieses Projekt ist in Anlehnung an den OWASP Top 10 for LLM Applications 2025 und den OWASP Top 10 for Agentic Applications 2026 konzipiert.

OWASP-RisikoIDGegenmaßnahme in diesem Projekt
Prompt InjectionLLM01Alle SBOM-Felder vor der LLM-Eingabe bereinigt; Injizierungsmuster-Blocklist
Offenlegung sensibler InformationenLLM02PII-Scrubber auf allen Agentenausgaben; interner Pfadfilter
Unsachgemäße AusgabehandhabungLLM05CycloneDX-Schemavalidierung vor der Signierung; Wiederholung bei Fehlschlag
Übermäßige AgencyLLM06Schreibgeschützte Tools während der Analyse; HITL-Gate für alle Entscheidungen mit CVSS ≥ 7.0
Leckage von System-PromptsLLM07Interne Richtlinien vom System-Prompt getrennt
Schwäche von Vektoren/EmbeddingsLLM08Gespeicherte Vektoren signiert; Herkunft vor Kontexteinspritzung geprüft
Unbegrenzter VerbrauchLLM10MaxMessageTermination(20); Token-Budget pro Komponente; NVD-Timeout

Human-in-the-loop ist obligatorisch. Eine VEX-Aussage not_affected für ein schwerwiegendes CVE ist eine rechtlich relevante Behauptung. Keine VEX wird ohne Genehmigung eines menschlichen Prüfers signiert. Dies ist nicht konfigurierbar.


Tech-Stack

KomponenteToolAnmerkungen
Agenten-OrchestrierungAutoGen AgentChat v0.4Multi-Agent, Tool-Nutzung, Message Hooks
LLM (empfohlen)Qwen2.5-Coder-32BBestes strukturiertes JSON + Security-Reasoning
LLM-ServervLLM (Produktion) / Ollama (Entwicklung)OpenAI-kompatible API
CVE-DatenNVD v2 API + OSV.dev + EPSSAlle kostenlos, kein API-Key erforderlich
Vektor-StoreQdrantSelbst gehostet, vergangene VEX-Entscheidungen
Embeddingsall-MiniLM-L6-v2 (sentence-transformers)Vollständig lokal
SBOM-FormateCycloneDX 1.4–1.7 (JSON/XML), SPDX 2.3/3.0Schema-validiert bei Aufnahme
VEX-AusgabeCycloneDX 1.6 VEXSchema-validiert vor Signierung
Signierungcosign (Sigstore keyless)Zeitgestempelt, audit-logged
Audit-LogPostgreSQL (append-only, pgaudit)Jede Agentenentscheidung aufgezeichnet

Alles läuft vor Ort. Keine Daten verlassen Ihre Infrastruktur.


Voraussetzungen

Hardware (Produktion):

  • 1× A100 80GB, oder 2× RTX 3090 (48GB VRAM kombiniert) für Qwen2.5-Coder-32B
  • 16GB+ Arbeitsspeicher
  • 100GB+ SSD für Modellgewichte und Vektor-Store

Hardware (Entwicklung / kleine SBOMs):

  • Jeder Rechner mit 16GB RAM – verwenden Sie llama3.1:8b über Ollama

Software:

  • Python 3.11+
  • Docker + Docker Compose
  • Node.js 18+ (für cosign-Tools)

Schnellstart

1. Repository klonen und installieren

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-Backend starten

root@kitploit:~
# Entwicklung — Ollama (CPU/GPU, jedes Notebook)
ollama pull llama3.1
ollama serve

# Produktion — vLLM (GPU erforderlich)
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. Hilfsdienste starten

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

4. Agent auf einem SBOM ausführen

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

Die Pipeline wird:

  1. Das SBOM validieren und bereinigen
  2. CVEs für jede Komponente nachschlagen
  3. Über die Ausnutzbarkeit argumentieren
  4. Den VEX-Entwurf einem menschlichen Prüfer vorlegen
  5. Bei Genehmigung das endgültige Dokument signieren und ausgeben

Konfiguration

Kopieren Sie .env.example nach .env und setzen Sie:

root@kitploit:~
# LLM-Backend
VLLM_BASE_URL=http://localhost:8000/v1    # oder Ollama: http://localhost:11434/v1
LLM_MODEL=Qwen2.5-Coder-32B-Instruct     # oder llama3.1 für Entwicklung

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

# Signierung (leer lassen für cosign keyless über Sigstore OIDC)
GPG_KEY_ID=                               # optional: GPG stattdessen verwenden

Projektstruktur

root@kitploit:~
sbom-vex-agent/
├── vex_agent/
│   ├── ingest.py          # Zone 1: SBOM-Validierung und -Bereinigung
│   ├── 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-Signierung
│   ├── hitl.py            # Human-in-the-Loop-Prüfgate
│   └── sign.py            # Zone 4: cosign / GPG-Signierung
├── schemas/
│   ├── cdx-1.6.schema.json
│   └── cdx-1.6-vex.schema.json
├── tests/
├── docker-compose.yml
├── .env.example
└── requirements.txt

VEX-Ausgabeformat

Der Agent erstellt CycloneDX 1.6 VEX-Dokumente. Beispielausgabe für eine einzelne Komponente:

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."
      }
    }
  ]
}

Gültige state-Werte: affected · not_affected · fixed · under_investigation

Gültige justification-Werte (für 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

Verwandte Ressourcen

  • OWASP GenAI Security Project
  • OWASP Top 10 für LLM-Anwendungen 2025
  • OWASP Top 10 für Agentenanwendungen 2026
  • CycloneDX-Spezifikation
  • AutoGen AgentChat v0.4
  • OSV-Schwachstellendatenbank
  • EPSS-Scoring-API
  • Sigstore / cosign
  • Johanna Curiel — Analysing Supply Chain Vulnerabilities in the Kubernetes Java Client Using SBOM and Generating VEX (2024)

Beitragen

Beiträge sind willkommen. Bitte eröffnen Sie ein Issue, bevor Sie einen Pull-Request für wesentliche Änderungen einreichen.

Sicherheitsprobleme bitte vertraulich melden – siehe SECURITY.md.


Lizenz

MIT – siehe LICENSE.


Erstellt in Anlehnung an das OWASP GenAI Security Project. Kein offizielles OWASP-Projekt.

Tool herunterladen