Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CODE-DETECTION — Package de réplication étudiant la manière dont les auditeurs de vulnérabilités LLM s'en remettent aux preuves d'analyse statique, avec un front-end C/C++ tree-sitter, des conditions de preuve contrôlées et du code d'analyse statistique. | Kitploit
Outils/GitHubGitHub/lzh0082-cloud/code-detection
Analyse StatiqueAnalyse des VulnérabilitésAnalyse de CodeApprentissage AutomatiqueArticles et RechercheApprentissage et ÉducationSécurité de l'IA
GitHublzh0082-cloud/code-detection

CODE-DETECTION

Package de réplication étudiant la manière dont les auditeurs de vulnérabilités LLM s'en remettent aux preuves d'analyse statique, avec un front-end C/C++ tree-sitter, des conditions de preuve contrôlées et du code d'analyse statistique.

Voir le dépôt
1il y a 11 joursPas 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

Faire confiance à l'outil : déférence asymétrique des auditeurs de vulnérabilités LLM envers les preuves d'analyse statique

Paquet de réplication pour l'article du même titre de ZhiHong Liu.

Des auditeurs de vulnérabilités LLM ont reçu des preuves d'analyse statique concernant des fonctions C/C++ vulnérables et corrigées issues de PrimeVul. Les preuves étaient soit vraies, soit fabriquées, tandis que le code et le modèle restaient fixes. De fausses assurances (on prétend qu'une vérification manquante existe) ont réduit la détection de vulnérabilités réelles. De fausses alertes (on prétend qu'une vérification ajoutée est manquante) n'ont jamais réduit la précision, et les modèles les ont contestées bien plus souvent. Une réplication enregistrée sur sept nouveaux modèles a confirmé l'asymétrie. Vérifier chaque affirmation dans un appel séparé et montrer les affirmations réfutées (verify-show) a réduit la déférence dans un test enregistré.

Ce dépôt contient l'analyseur, le code d'expérimentation et d'analyse, les enregistrements, les annotations et les rapports de synthèse. Les enregistrements complets des exécutions (chaque note de preuve et réponse de modèle) et le cache de réponses LLM sont archivés séparément (voir Résultats complets).

Contenu

CheminContenu
sgv/cfront.pyFront-end C/C++ intraprocédural (tree-sitter) : opérations sensibles, gardes dominantes, obligations de preuve
sgv/evidence.pyL'étude contrôlée : conditions de preuve C0–C5, stratégies de présentation, configurations de modèle, exécuteur
sgv/vuln.pyPrompt d'audit, analyse des verdicts et chargement de PrimeVul (également l'étude préliminaire sur les vulnérabilités)
sgv/contrasts.pyPrécisions par version et contrastes appariés (C4 vs C2, C5 vs C2, …)
sgv/direction.pyMesure de déférence sensible à la direction (H3)
sgv/deference.pyDéférence et l'indice lexical de « contestation »
sgv/mitigation.pyComparaison des stratégies de présentation avec tests de McNemar appariés et correction de Holm
sgv/pooled.pyAnalyse groupée post-hoc de H2 et statistiques descriptives du jeu de données
sgv/annotate.pyFeuilles d'annotation et accord (kappa de Cohen) pour le codage comportemental
sgv/figures.py, sgv/diagrams.pyToutes les figures de l'article, calculées à partir des enregistrements d'exécution
sgv/stats.pyIntervalles de Wilson, test exact de McNemar, bootstrap apparié
sgv/llm.pyClient compatible OpenAI avec un cache de réponses SQLite
sgv/analysis.py, claims.py, verifier.py, methods.py, run.py, trace.py, labeling.py, …Étude préliminaire sur Python (CRUXEval, REval) : extraction d'affirmations et vérification ancrée dans la structure
preregistration/Enregistrement de H3 et les hachages du code d'analyse fixés avant les exécutions
annotation/Guide d'annotation, feuilles des deux annotateurs LLM, la vérification en 20 points de l'auteur
results/*.mdRapports de synthèse de l'étude, des ensembles held-out, de développement, de test et H3
tests/Tests unitaires (python -m unittest discover -s tests -t .)

Installation

Python 3.12 ou ultérieur (développé avec 3.14).

pip install -r requirements.txt

Données

PrimeVul n'est pas redistribué ici. Téléchargez les splits appariés depuis le dépôt PrimeVul et placez-les comme

data/primevul/primevul_train_paired.jsonl
data/primevul/primevul_valid_paired.jsonl
data/primevul/primevul_test_paired.jsonl

La sélection des paires est déterministe étant donné le fichier, --pairs, --max-lines et --seed. Les données de l'étude préliminaire sont téléchargées par python -m sgv.data --dest data/cruxeval.jsonl et python -m sgv.reval --dest data/reval.

Résultats complets

Le répertoire des résultats complets, avec evidence.jsonl (les notes affichées sous chaque condition) et records.jsonl (chaque réponse de modèle et verdict) pour chaque exécution, ainsi que llm_cache.sqlite (toutes les réponses de l'API), est archivé sur Zenodo. Décompressez-le à la racine du dépôt afin qu'il crée results/. Une fois le cache en place, chaque exécution ci-dessous est rejouée depuis le cache sans aucun appel à l'API, et chaque analyse reproduit les chiffres de l'article.

Reproduire les analyses (aucun accès à l'API nécessaire)

python -m sgv.contrasts results/evidence_full_a                    # RQ1/RQ2 on the study set
python -m sgv.deference results/evidence_full_a                    # RQ3: deference and dispute cue
python -m sgv.mitigation results/evidence_full_a results/mitig_quote results/mitig_alarms \
       results/mitig_reframe results/mitig_provenance --model flash  # RQ4 on the study set
python -m sgv.direction results/h3_* --pooled                      # H3 (registered)
python -m sgv.pooled                                               # post-hoc pooled H2
python -m sgv.annotate score annotation/sheet_claude.csv annotation/sheet_deepseek.csv
python -m sgv.figures --out figures                                # data figures
python -m sgv.diagrams --out figures                               # schematic figures

Exécution des expériences

Les modèles sont appelés via des API compatibles OpenAI (DeepSeek et Alibaba Cloud Bailian/DashScope). Les noms de modèles, les snapshots épinglés et les paramètres de requête se trouvent dans MODELS dans sgv/evidence.py. Les clés API sont lues depuis l'environnement (SGV_API_KEY pour DeepSeek, SGV_QWEN_KEY pour DashScope) ou depuis ~/.sgv_deepseek_key / ~/.sgv_qwen_key. Elles ne sont jamais écrites dans le dépôt.

# Build and inspect the evidence of every condition without calling a model
python -m sgv.evidence --pairs 0 --dry-run --out results/evidence_dry

# One run: conditions, presentation strategy and models are arguments
python -m sgv.evidence --data data/primevul/primevul_test_paired.jsonl --pairs 0 \
       --models flash --conditions C2,C4,C5 --presentation plain --out results/my_run

Options principales : --conditions (C0–C5), --presentation (plain, quote, alarms, reframe, provenance, verify, verify-show, commit, commit-verify), --heldout (paires disjointes de l'ensemble d'étude), --max-lines, --seed. Les jeux de données de l'article sont

EnsembleSplit sourceSélection
Étudeprimevul_test_pairedCWE structurels, ≤150 lignes, toutes les paires éligibles
Held-outprimevul_test_paired--heldout --max-lines 300 (tous les CWE, disjoints de l'ensemble d'étude)
Développementprimevul_valid_pairedtoutes les paires éligibles
Test (enregistré)primevul_train_paired--pairs 300 --seed 7

run_h3.ps1 exécute la réplication H3 enregistrée (sept modèles, C2/C4/C5, présentation plain).

Notes sur l'annotation

Le codage comportemental a été annoté par deux LLM (Claude et deepseek-v4-pro). L'auteur a vérifié 20 éléments manuellement. L'article en rend compte.

Licence

Code : MIT (voir LICENSE). PrimeVul et les jeux de données de l'étude préliminaire conservent leurs propres licences.

Citation

@misc{liu2026trusting,
  title  = {Trusting the Tool: Asymmetric Deference of {LLM} Vulnerability Auditors to Static-Analysis Evidence},
  author = {Liu, ZhiHong},
  year   = {2026},
  note   = {Preprint}
}
Télécharger l’outil