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
Vlun-Agent-X — VulnAgent-X: Un cadre agentique en couches pour la détection de vulnérabilités au niveau du dépôt | Kitploit
Outils/GitHubGitHub/renweimeng/vlun-agent-x
Analyse StatiqueAnalyse Dynamique (Sandboxing)Analyse des VulnérabilitésAnalyse de CodeApprentissage AutomatiqueArticles et RechercheSécurité de l'IA
GitHubrenweimeng/vlun-agent-x

Vlun-Agent-X

VulnAgent-X: Un cadre agentique en couches pour la détection de vulnérabilités au niveau du dépôt

Voir le dépôt
1il y a 5 moisPas encore vérifié

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

中文 English

Prototype de recherche VulnAgent-X

VulnAgent-X est un prototype de détection de vulnérabilités/défauts multi-agent destiné à la reproduction d'articles. Il prend en entrée un dépôt local ou un diff, et produit des résultats structurés, des chaînes de preuves, des localisations, des niveaux de confiance et des journaux d'expérience.

Capacités principales

  • Entrée : chemin du dépôt ou diff unifié
  • Flux de travail : screening -> expansion de contexte -> ordonnanceur -> routeur -> experts -> sceptique -> vérification (maquette) -> fusion des preuves
  • Champs de sortie :
    • type_de_problème
    • emplacement (fichier + plage de lignes)
    • résumé_des_preuves
    • confiance
    • sévérité
    • cwe_optionnel
    • indice_de_correction
    • chaîne_de_preuves
    • contre-preuves
  • Interface : CLI + FastAPI
  • Expériences reproductibles : pytest / mypy / ruff + support Docker

Aperçu du flux de travail

  1. screening : filtrage rapide des zones suspectes (règles + signaux de métadonnées)
  2. expansion_de_contexte : extraction du « contexte minimal suffisant » (fenêtres autour des localisations suspectes)
  3. ordonnanceur : stratégie d'escalade selon la confiance et le risque (early_exit / expert_review / vérification)
  4. agent_routeur : sélection d'un agent expert pour chaque zone suspecte
  5. sémantique/sécurité/logique : formulations structurées et preuves selon différents points de vue
  6. agent_sceptique : génération de contre-preuves et signaux de pénalité
  7. vérification : vérification dynamique optionnelle (actuellement une implémentation de sécurité factice)
  8. fusion_des_preuves : fusion unifiée et sortie des constats finaux

Guide d'installation et d'exécution

1) Préparation de l'environnement

Prérequis : Python 3.11+ (fonctionne également avec des versions plus récentes)

root@kitploit:~
cd /Users/xiaolu/Documents/Python_code/vulnAgentX
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[dev]'

2) Utilisation en CLI

Analyser un dépôt complet :

root@kitploit:~
.venv/bin/vulnagentx analyze --repo /chemin/vers/depot --output json

Analyser un fichier diff :

root@kitploit:~
.venv/bin/vulnagentx analyze --diff-file /chemin/vers/patch.diff --output json

Sortie condensée :

root@kitploit:~
.venv/bin/vulnagentx analyze --repo /chemin/vers/depot --output summary

3) Utilisation via API

Démarrer le service :

root@kitploit:~
.venv/bin/uvicorn vulnagentx.app.api:app --reload

Vérification de l'état de santé :

root@kitploit:~
curl http://127.0.0.1:8000/health

Lancer une analyse :

root@kitploit:~
curl -X POST http://127.0.0.1:8000/analyze \
  -H "Content-Type: application/json" \
  -d '{"repo_path":"/chemin/vers/depot"}'

4) Exécution avec Docker

root@kitploit:~
docker compose -f docker/docker-compose.yml up --build

5) Contrôle qualité et tests

root@kitploit:~
.venv/bin/ruff check src tests
.venv/bin/mypy src
.venv/bin/pytest

Exemple de sortie

root@kitploit:~
{
  "run_id": "...",
  "findings": [
    {
      "issue_type": "injection_de_commande",
      "location": {"file_path": "app.py", "start_line": 42, "end_line": 42},
      "evidence_summary": "Surface d'exécution de commande détectée...",
      "confidence": 0.87,
      "severity": "critique",
      "optional_cwe": "CWE-78",
      "fix_hint": "Éviter la composition de commandes shell...",
      "source_agents": ["security_agent", "semantic_agent"],
      "evidence_chain": [],
      "counter_evidence": []
    }
  ],
  "metrics": {
    "runtime_seconds": 0.07
  },
  "logs": []
}

Description des fichiers (fichier par fichier)

Répertoire racine et fichiers projet

Code source principal (src/vulnagentx)

Fichiers de test (tests)

FichierDescription
tests/test_agents.pyTests unitaires : sortie structurée de chaque agent et logique de contre-preuve.
tests/test_end_to_end.pyTest de bout en bout : du dépôt d'entrée aux constats finaux, flux principal.
tests/test_research_modules.pyTests des nouveaux modules : construction du graphe Tree-sitter, chaîne d'exécution de vérification, métriques d'évaluation.

Modules améliorés déjà implémentés

  • Adaptateur LLM réel : OpenAI + Ollama local + bascule automatique via factory
  • Arbre AST Tree-sitter réel et graphe de code : analyse des fonctions/imports/appels, support de l'expansion de contexte vers les fichiers voisins
  • Ensemble de règles Semgrep réel : fichier de règles intégré et connecté à la phase de screening
  • Chaîne d'exécution sandbox de vérification : planification de tâche, exécution restreinte, contrôle de timeout, réécriture structurée des résultats
  • Évaluation et ablation sur jeux de données : chargeurs de données, modules de métriques, scripts d'expérience et d'ablation
Télécharger l’outil
FichierDescription
.env.exampleModèle de variables d'environnement (niveau de journalisation, etc. paramètres optionnels).
pyproject.tomlConstruction du projet, dépendances, points d'entrée des scripts, configuration pytest/ruff/mypy.
README.mdREADME principal (avec bouton de changement de langue, par défaut en chinois).
README.zh.mdDocumentation complète en chinois.
README.en.mdDocumentation complète en anglais.
docker/DockerfileFichier de construction de l'image conteneur du service API.
docker/docker-compose.ymlDémarrage local en un clic du service conteneurisé.
rules/semgrep/vulnagentx-rules.ymlEnsemble de règles Semgrep intégrées (injection de commande / injection SQL / désérialisation / API C non sécurisée).
scripts/run_experiment.pyScript d'exécution d'expériences par lots sur un jeu de données, sortie JSONL de prédictions.
scripts/evaluate.pyLecture des sorties d'expériences et calcul des métriques de détection/localisation/efficacité.
scripts/run_ablation.pyScript d'expérience d'ablation (no_semgrep/no_treesitter/no_sceptic/no_verification).
FichierDescription
src/vulnagentx/__init__.pyDéfinition de la version du paquet et des exports.
src/vulnagentx/app/__init__.pyInitialisation du sous-paquet app.
src/vulnagentx/app/cli.pyPoint d'entrée CLI (vulnagentx analyze).
src/vulnagentx/app/api.pyPoint d'entrée du service FastAPI (/health, /analyze).
src/vulnagentx/app/schemas.pySchémas Pydantic pour les requêtes/réponses API.
src/vulnagentx/core/__init__.pyInitialisation du sous-paquet core.
src/vulnagentx/core/state.pyModèle d'état global : zones, preuves, sorties des agents, constat, journaux, métriques.
src/vulnagentx/core/screening.pyPremière phase de filtrage rapide, extraction des zones suspectes.
src/vulnagentx/core/context_expansion.pyExpansion du contexte : extraction de fenêtres de code minimales autour des localisations.
src/vulnagentx/core/scheduler.pyStratégie d'escalade sensible à la confiance (early_exit/expert_review/verification).
src/vulnagentx/core/verification.pyModule de vérification dynamique optionnelle (actuellement une version factice sécurisée).
src/vulnagentx/core/evidence_fusion.pyFusion des preuves multi-agents, sortie des constats finaux.
src/vulnagentx/core/workflow.pyPoint d'orchestration de bout en bout VulnAgentWorkflow.
src/vulnagentx/agents/__init__.pyAgrégation des exports d'agents.
src/vulnagentx/agents/base.pyClasse abstraite de base pour les agents et outil de récupération de contexte.
src/vulnagentx/agents/router_agent.pyAgent routeur : attribue un agent expert à chaque zone suspecte.
src/vulnagentx/agents/semantic_agent.pyAgent sémantique : risques au niveau sémantique (pointeur nul, désérialisation, exception avalée).
src/vulnagentx/agents/security_agent.pyAgent sécurité : règles de vulnérabilité de sécurité (injection de commande, injection SQL, dépassement de mémoire, etc.).
src/vulnagentx/agents/logic_bug_agent.pyAgent logique : défauts métier/flux de contrôle (limites, division par zéro, absence d'autorisation, etc.).
src/vulnagentx/agents/sceptic_agent.pyAgent sceptique : génération de contre-preuves, pénalités de conflit, réduction de confiance.
src/vulnagentx/adapters/__init__.pyInitialisation du sous-paquet d'adaptateurs.
src/vulnagentx/adapters/sandbox_adapter.pyExécuteur sandbox de sous-processus restreint (timeout, sans shell) pour la vérification.
src/vulnagentx/adapters/semgrep_adapter.pyAdaptateur CLI Semgrep (activation optionnelle).
src/vulnagentx/adapters/treesitter_adapter.pyAdaptateur Tree-sitter réel (analyse AST et relations d'appel/import si disponibles, sinon rétrogradation).
src/vulnagentx/adapters/llm/__init__.pyAgrégation des exports des adaptateurs LLM.
src/vulnagentx/adapters/llm/base.pyInterface de protocole des adaptateurs LLM.
src/vulnagentx/adapters/llm/mock_adapter.pyLLM mock testable hors ligne.
src/vulnagentx/adapters/llm/openai_adapter.pyAdaptateur SDK officiel OpenAI.
src/vulnagentx/adapters/llm/local_adapter.pyAdaptateur de modèle local (API HTTP Ollama).
src/vulnagentx/adapters/llm/factory.pySélection automatique de l'adaptateur LLM selon la configuration, fallback vers Mock.
src/vulnagentx/retrieval/repo_graph.pyIndexation du graphe de code et récupération des fichiers voisins (basée sur le chevauchement des symboles AST).
src/vulnagentx/datasets/base.pyStructure générique d'échantillon de jeu de données et lecture JSONL/CSV.
src/vulnagentx/datasets/devign.pyPoint d'entrée de chargement des données Devign.
src/vulnagentx/datasets/bigvul.pyPoint d'entrée de chargement des données Big-Vul.
src/vulnagentx/datasets/primevul.pyPoint d'entrée de chargement des données PrimeVul.
src/vulnagentx/datasets/jit.pyPoint d'entrée de chargement des données JIT.
src/vulnagentx/eval/detection_metrics.pyMétriques de détection (Precision/Recall/F1/Accuracy).
src/vulnagentx/eval/localization_metrics.pyMétriques de localisation (Top-1/Top-3/MRR).
src/vulnagentx/eval/efficiency_metrics.pyMétriques d'efficacité (temps moyen, P95, nombre moyen de constats).
src/vulnagentx/eval/ablations.pyLogique d'exécution des expériences d'ablation.
src/vulnagentx/utils/config.pyCentre de configuration du flux de travail (commutateurs env/CLI/API).