Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SBOM-VEX-Taint-Analysis — Pipeline automatisé SBOM-to-VEX utilisant un système d'IA multi-agent sécurisé pour analyser les CVE, raisonner sur l'exploitabilité et générer des documents VEX CycloneDX signés conformément aux directives OWASP GenAI. | Kitploit
Outils/GitHubGitHub/owasp/sbom-vex-taint-analysis
Analyse des VulnérabilitésSécurité de la Chaîne LogistiqueArticles et RechercheApprentissage et ÉducationRessources OrganiséesSécurité de l'IA
GitHubowasp/sbom-vex-taint-analysis

SBOM-VEX-Taint-Analysis

Pipeline automatisé SBOM-to-VEX utilisant un système d'IA multi-agent sécurisé pour analyser les CVE, raisonner sur l'exploitabilité et générer des documents VEX CycloneDX signés conformément aux directives OWASP GenAI.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
21il y a 1 moisPas encore vérifié

SBOM → VEX Agent

Générez automatiquement des documents VEX CycloneDX signés à partir de SBOM en utilisant un pipeline multi-agent IA sécurisé, conçu conformément aux directives du projet OWASP GenAI Security.

License: MIT OWASP CycloneDX AutoGen


Le problème

Générer un SBOM fait remonter des centaines de CVE. En pratique, plus de 90 % ne sont pas exploitables dans le contexte d'exécution d'un produit spécifique. Sans document VEX (Vulnerability Exploitability eXchange), chaque outil en aval — Dependency‑Track, portes de release, listes de contrôle d’approvisionnement — se noie dans les faux positifs.

Consultez le WIKI pour plus de détails techniques et les résultats des tests.

La génération manuelle de VEX prend du temps et ne passe pas à l’échelle. Un analyste expérimenté peut passer des heures à évaluer un seul composant. Un SBOM de production peut contenir 500 à 2 000 composants.

Ce projet automatise ce pipeline de raisonnement — de manière sécurisée, sans dépendance propriétaire, toutes les données restant sur votre infrastructure.

Motivation réelle : En 2024, la chercheuse en sécurité Johanna Curiel a documenté exactement ce problème en analysant le client Java Kubernetes (article LinkedIn). Le scanner OSV a identifié une CVE à haut risque dans com.diffplug.spotless:spotless-maven-plugin 1.17.0 en quelques secondes. Déterminer qu’elle était not_affected (plugin de construction, jamais exécuté à l’exécution) a nécessité des heures d’analyse manuelle. Ce projet automatise cette étape de raisonnement.


Architecture

Quatre zones de sécurité. Rien ne franchit une frontière sans validation explicite.

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│  ZONE 1 — Ingestion des entrées (pas de LLM)                    │
│  Upload SBOM → Validation schéma → Assainissement → Hachage audit SHA-256 │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 2 — Middleware OWASP                                      │
│  Garde de prompt (LLM01) · Filtre de sortie (LLM02/05)         │
│  Limiteur d’agence (LLM06) · Budget de jetons (LLM10)          │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 3 — Pipeline multi-agent (AutoGen AgentChat)              │
│                                                                  │
│  Orchestrateur                                                   │
│       ├── Analyste CVE       NVD v2 + OSV + EPSS par composant │
│       ├── Raisonneur d'exploit  Graphe d’appels · Raisonnement LLM · RAG │
│       └── Rédacteur VEX        CycloneDX 1.6 validé par schéma │
│                                                                  │
│  Magasin vectoriel (Qdrant) — décisions VEX antérieures signées │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 4 — Sortie, signature, audit                              │
│  Porte Humain dans la boucle → Signature cosign/GPG → Journal d’audit │
└─────────────────────────────────────────────────────────────────┘

Conformité OWASP GenAI

Ce projet est conçu en regard de l’OWASP Top 10 for LLM Applications 2025 et de l’OWASP Top 10 for Agentic Applications 2026.

L’humain dans la boucle est obligatoire. Une déclaration VEX not_affected pour une CVE de haute sévérité est une assertion de niveau juridique. Aucun VEX n’est signé sans approbation d’un relecteur humain. Ceci n’est pas configurable.


Stack technique

Tout fonctionne sur site. Aucune donnée ne quitte votre infrastructure.


Prérequis

Matériel (production) :

  • 1× A100 80 Go, ou 2× RTX 3090 (48 Go VRAM combinées) pour Qwen2.5-Coder-32B
  • 16 Go+ de RAM système
  • 100 Go+ SSD pour les poids du modèle et le magasin vectoriel

Matériel (développement / petits SBOM) :

  • N’importe quelle machine avec 16 Go de RAM — utilisez llama3.1:8b via Ollama

Logiciel :

  • Python 3.11+
  • Docker + Docker Compose
  • Node.js 18+ (pour les outils cosign)

Démarrage rapide

1. Cloner et installer

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. Démarrer le backend LLM

root@kitploit:~
# Développement — Ollama (CPU/GPU, n’importe quel ordinateur portable)
ollama pull llama3.1
ollama serve

# Production — vLLM (GPU requis)
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. Démarrer les services supports

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

4. Exécuter l’agent sur un SBOM

root@kitploit:~
python -m vex_agent analyse \
  --sbom chemin/vers/votre-sbom.cdx.json \
  --output chemin/vers/sortie.vex.json

Le pipeline :

  1. Valide et assainit le SBOM
  2. Recherche les CVE pour chaque composant
  3. Raisonne sur l’exploitabilité
  4. Présente le VEX brouillon à un relecteur humain
  5. Signe et émet le document final après approbation

Configuration

Copiez .env.example en .env et définissez :

root@kitploit:~
# Backend LLM
VLLM_BASE_URL=http://localhost:8000/v1    # ou Ollama : http://localhost:11434/v1
LLM_MODEL=Qwen2.5-Coder-32B-Instruct     # ou llama3.1 pour le développement

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

# Signature (laisser vide pour utiliser cosign keyless via Sigstore OIDC)
GPG_KEY_ID=                               # optionnel : utiliser GPG à la place

Structure du projet

root@kitploit:~
sbom-vex-agent/
├── vex_agent/
│   ├── ingest.py          # Zone 1 : validation et assainissement SBOM
│   ├── guardrails.py      # Zone 2 : middleware OWASP (GuardrailedAgent)
│   ├── agents/
│   │   ├── orchestrator.py
│   │   ├── cve_analyst.py
│   │   ├── exploit_reasoner.py
│   │   └── vex_writer.py
│   ├── tools/
│   │   ├── nvd.py         # Client API NVD v2
│   │   ├── osv.py         # Client OSV.dev
│   │   └── epss.py        # Score EPSS
│   ├── vector_store.py    # Intégration Qdrant + signature de provenance
│   ├── hitl.py            # Porte de relecture Humain dans la boucle
│   └── sign.py            # Zone 4 : signature cosign / GPG
├── schemas/
│   ├── cdx-1.6.schema.json
│   └── cdx-1.6-vex.schema.json
├── tests/
├── docker-compose.yml
├── .env.example
└── requirements.txt

Format de sortie VEX

L’agent produit des documents VEX CycloneDX 1.6. Exemple de sortie pour un seul composant :

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": "Le plugin s’exécute uniquement à la construction ; non présent dans l’exécution déployée."
      }
    }
  ]
}

Valeurs valides pour state : affected · not_affected · fixed · under_investigation

Valeurs valides pour justification (pour 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

Ressources associées

  • Projet OWASP GenAI Security
  • OWASP Top 10 for LLM Applications 2025
  • OWASP Top 10 for Agentic Applications 2026
  • Spécification CycloneDX
  • AutoGen AgentChat v0.4
  • Base de données de vulnérabilités OSV
  • API de score EPSS
  • Sigstore / cosign
  • Johanna Curiel — Analysing Supply Chain Vulnerabilities in the Kubernetes Java Client Using SBOM and Generating VEX (2024)

Contribuer

Les contributions sont les bienvenues. Veuillez ouvrir une issue avant de soumettre une pull request pour des changements importants.

Les problèmes de sécurité doivent être signalés de manière privée — voir SECURITY.md.


Licence

MIT — voir LICENSE.


Construit en alignement avec le Projet OWASP GenAI Security. Ce n’est pas un projet officiel OWASP.

Télécharger l’outil
Risque OWASPIDMesure d’atténuation dans ce projet
Injection de promptLLM01Tous les champs SBOM sont assainis avant injection LLM ; liste de blocage des motifs d’injection
Divulgation d’informations sensiblesLLM02Nettoyeur de données personnelles sur toutes les sorties des agents ; filtre de chemins internes
Gestion inappropriée des sortiesLLM05Validation du schéma CycloneDX avant signature ; nouvelle tentative en cas d’échec
Agence excessiveLLM06Outils en lecture seule pendant l’analyse ; porte HITL pour toute décision CVSS ≥ 7.0
Fuite du prompt systèmeLLM07Politiques internes séparées du prompt système
Faiblesse vectorielle / d’embeddingLLM08Vecteurs stockés signés ; provenance vérifiée avant injection de contexte
Consommation non bornéeLLM10MaxMessageTermination(20) ; budget de jetons par composant ; délai d’expiration NVD
ComposantOutilNotes
Orchestration des agentsAutoGen AgentChat v0.4Multi-agent, utilisation d’outils, hooks de messages
LLM (recommandé)Qwen2.5-Coder-32BMeilleur rapport structuré JSON + raisonnement sécurité
Serveur LLMvLLM (prod) / Ollama (dév)API compatible OpenAI
Données CVEAPI NVD v2 + OSV.dev + EPSSToutes gratuites, aucune clé API requise
Magasin vectorielQdrantAuto-hébergé, décisions VEX antérieures
Embeddingsall-MiniLM-L6-v2 (sentence-transformers)Entièrement local
Formats SBOMCycloneDX 1.4–1.7 (JSON/XML), SPDX 2.3/3.0Validé par schéma à l’ingestion
Sortie VEXCycloneDX 1.6 VEXValidé par schéma avant signature
Signaturecosign (Sigstore keyless)Horodaté, journalisé
Journal d’auditPostgreSQL (append‑only, pgaudit)Chaque décision d’agent enregistrée