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
FLAWED — Artefacts de type correctif avec défauts intégrés | Kitploit
Outils/GitHubGitHub/off-by-1-labs/flawed
Outils DéfensifsAnalyse StatiqueScanners de VulnérabilitésAnalyse Dynamique (Sandboxing)Analyse des VulnérabilitésAnalyse de CodeFuzzingApprentissage AutomatiqueArticles et RechercheApprentissage et ÉducationSécurité de l'IA
25561il y a 2 moisVérifié par Kitploit
GitHub
off-by-1-labs/flawed

FLAWED

Artefacts de type correctif avec défauts intégrés

Voir le dépôt

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
FLAWED

Fix Like Artifacts with Embedded Defects

Un harnais de recherche pour mesurer la capacité des agents IA à corriger les vulnérabilités.

License MIT Python 3.11+ Requires Docker Agents Claude, Codex, Gemini

Démarrage rapide · Jeux de données · Documentation · Modèle de sécurité · Contribution


FLAWED récupère un projet open source à un commit connu comme vulnérable, fournit à un agent IA une description du bug, et lui demande d'écrire un correctif. L'agent ne voit jamais le véritable correctif amont.

Chaque correctif est ensuite validé, audité et noté dans des conteneurs isolés, afin que vous puissiez voir non seulement si le modèle a corrigé le bug, mais aussi s'il en a introduit de nouveaux au passage.

Fonctionnement

flowchart LR
    spec[bug spec] --> clone
    clone["clone<br/>(open net)"] --> generate
    generate["generate<br/>(offline)"] --> validate
    validate["validate<br/>(offline)"] --> ast["ast<br/>(offline)"]
    generate -.->|"patch.diff"| store[(Postgres)]
    validate -.->|"verdict"| store
    ast -.->|"summary"| store
    store --> ui[web UI + notebook]

Chaque étape s'exécute dans son propre conteneur. Seul clone dispose d'un accès réseau. Toutes les étapes suivantes sont verrouillées sur l'API du fournisseur de LLM, afin que les agents ne puissent pas récupérer d'indices ou le correctif amont en cours d'exécution.

Fonctionnalités

FonctionnalitéCe qu'elle vous apporte
Échantillonnage répétéUne exécution effectue N itérations de la même entrée, les résultats sont donc des distributions, pas des anecdotes.
CampagnesBalayez un bug à travers des variantes de patcheurs et des styles de prompt, d'un vague « fix this plz » à un avis complet, et comparez les résultats sur un tableau de bord en direct.
Notation des résultatsChaque correctif tombe dans l'un des cinq scénarios, de S1 (correction propre) à S5 (n'a pas corrigé le bug et a introduit une nouvelle vulnérabilité).
Validation croiséeLes correctifs sont réévalués par d'autres modèles, et les chiffres principaux moyennent les perspectives d'auto-validation et de validation croisée afin qu'aucun biais d'un juge unique ne domine.
Détection de tricheUn auditeur signale les itérations où l'agent a trouvé le correctif amont au lieu de résoudre le bug lui-même.

FLAWED fait s'affronter les CLI Claude, Codex et Gemini avec les mêmes entrées.

Démarrage rapide

[!WARNING] FLAWED monte le socket Docker (équivalent root sur l'hôte) et exécute du code tiers non fiable à l'intérieur de ses conteneurs d'étape. Exécutez-le sur une machine en laquelle vous avez confiance pour supporter cette charge de travail. Voir docs/security-model.md.

Vous avez besoin de Docker, avec le socket du démon accessible.

# 1. Configure. Writes .env for you (data dir + provider API keys)
./setup.sh

# 2. Bring up the stack (Postgres, API + worker, web UI, notebook)
docker compose up --build

# 3. Open http://127.0.0.1:8080

Lancez ensuite votre première exécution.

  1. Importez une spécification de bug. Des spécifications d'exemple sont fournies sous bugs/. Glissez-en une dans la page Bug Specs de l'interface web, ou utilisez la CLI.
    ./scripts/import-all-bugs.sh
    
  2. Lancez une exécution depuis l'interface web. Choisissez la spécification, un agent + modèle, une variante et un nombre d'itérations. La page d'exécution diffuse la progression en direct.

[!NOTE] La première exécution contre un grand dépôt amont (par ex. Chromium) est lente. L'étape validate clone tout le dépôt une fois pour le comparer au véritable correctif amont. Le clone est mis en cache et réutilisé par la suite.

Configuration de développement sur l'hôte (sans compose)

Vous avez besoin de Docker, Node 20+, pnpm, uv et @devcontainers/cli (npm i -g @devcontainers/cli). Les utilisateurs de Nix peuvent nix-shell pour tout sauf Docker.

make dev                        # uv sync + web deps
docker compose up -d postgres   # FLAWED needs a Postgres to talk to
cp .env.example .env            # points FLAWED_DB_URL at it
uv run flawed init              # builds base images, creates the schema
uv run flawed serve             # API + worker + webapp on port 8080

Pour la boucle de développement web, exécutez make web-dev dans un second terminal. Cela sert l'interface sur le port 5173 et proxy /api vers flawed serve.

Un devcontainer isolé pour exécuter des agents de codage IA contre ce dépôt en toute sécurité est documenté dans .devcontainer/README.md.

Spécifications de bug

Une spécification de bug est l'unité d'entrée. Elle contient un dépôt, un commit vulnérable, une description du bug, un reproducteur optionnel et un ensemble de variantes de prompt qui modélisent comment le bug pourrait être signalé de manière réaliste (résultat SAST, rapport de bug bounty, avis sous embargo, PoC brut, …). Les spécifications sont versionnées et immuables, de sorte que le prompt et le verdict d'une exécution historique ne changent jamais silencieusement.

Le contrat JSON se trouve dans bugs.schema.json et est documenté dans docs/bug-specs.md. Toutes les spécifications fournies décrivent des vulnérabilités divulguées publiquement et corrigées en amont.

Stockage

Postgres est l'unique source de vérité. Les métadonnées d'exécution et les octets des artefacts (correctifs, verdicts, transcriptions, journaux) résident dans la base de données, de sorte qu'un déploiement est entièrement capturé par sa base de données. Le répertoire data/ est un espace de travail transitoire que les étapes montent à l'exécution.

  • Sauvegardez / restaurez un déploiement complet avec scripts/export_dataset.py et scripts/import_dataset.py (également disponibles depuis l'interface web).
  • Reconstruisez une arborescence d'artefacts sur disque pour une inspection hors ligne avec scripts/export_artifacts.py.
  • Les changements de schéma sont gérés avec Alembic (uv run alembic upgrade head s'exécute automatiquement au démarrage).

Jeux de données

Nous publions des jeux de données préconstruits afin que vous puissiez charger des campagnes terminées au lieu de tout exécuter vous-même. Chaque jeu de données est un .tar.gz d'un instantané complet, hébergé à https://flawed.s3.us-east-1.amazonaws.com.

Toutes les campagnes dans un seul paquet.

PaquetArchive
Toutes les campagnesfull.tar.gz
Archives par campagne, une par modèle de patcheur (13)
Télécharger l’outil