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
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
2255il y a 1 moisVérifié par Kitploit

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 →
GitHub
off-by-1-labs/flawed

FLAWED

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

Voir le dépôt
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

root@kitploit:~
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]
Télécharger l’outil

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.

root@kitploit:~
# 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.
    root@kitploit:~
    ./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.

root@kitploit:~
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)
CampagneModèle de patcheurTailleArchive
CVE-2026-22738 (Spring AI SpEL injection)claude-opus-4-8515.0 MB.tar.gz
CVE-2026-22738 (Spring AI SpEL injection)gpt-5.5663.9 MB.tar.gz
CVE-2026-31431 (Linux algif_aead)claude-opus-4-81.1 GB.tar.gz
CVE-2026-31431 (Linux algif_aead in-place)gpt-5.5966.9 MB.tar.gz
CVE-2026-34197 (ActiveMQ Jolokia RCE)claude-opus-4-8645.2 MB.tar.gz
CVE-2026-34197 (ActiveMQ Jolokia RCE)gpt-5.5819.0 MB.tar.gz
CVE-2026-45185 (Exim BDAT use-after-free)claude-opus-4-81.1 GB.tar.gz
CVE-2026-45185 (Exim BDAT use-after-free)gpt-5.51.0 GB

Depuis l'interface web (recommandé)

Snapshots → Import datasets, collez l'un des liens d'archive ci-dessus, puis cliquez sur Find archives. FLAWED importe un lien .tar.gz direct tel quel et le décompresse dans vos instantanés. Restaurez-le ensuite depuis la liste des instantanés (la restauration est une étape distincte et explicitement confirmée).

L'import ne découvre plusieurs archives à la fois que lorsque l'URL est un bucket listable ou une page d'index de répertoire. Aucun des deux ne s'applique ici, importez donc les liens un par un.

Manuellement

Téléchargez une archive, décompressez-la dans le répertoire des instantanés (FLAWED_HOST_SNAPSHOT_DIR, ou ./flawed-snapshots par défaut), et elle apparaît dans la liste des instantanés, prête à être restaurée.

root@kitploit:~
curl -LO https://flawed.s3.us-east-1.amazonaws.com/compressed/campaigns/full/cve-2026-45185-exim-bdat-uaf_full_gpt-5.5_1782988292.tar.gz
mkdir -p "$FLAWED_HOST_SNAPSHOT_DIR"
tar -xzf cve-2026-45185-exim-bdat-uaf_full_gpt-5.5_1782988292.tar.gz -C "$FLAWED_HOST_SNAPSHOT_DIR"

L'import ne fait que déposer le paquet sur le disque. Sa restauration, qui remplace le déploiement actuel, s'effectue séparément depuis la page des instantanés.

Documentation

DocContenu
docs/architecture.mdComposants, flux de données, disposition du stockage
docs/pipeline.mdLes étapes, la sémantique des itérations, la disposition des conteneurs
docs/security-model.mdPolitique réseau par étape, sandboxing, modèle de menace
docs/bug-specs.mdContrat d'entrée, composition des prompts, versionnage
docs/cli.mdRéférence de la commande flawed + variables d'environnement
docs/webapp.mdVisite de l'interface
docs/notebook.mdIntégration JupyterLab + le module d'assistance flawed

Disposition du dépôt

root@kitploit:~
packages/
  flawed-core/             models, DB schema, settings
  flawed-orchestrator/     run lifecycle, worker pool, devcontainer driver
  flawed-stage-*/          the pipeline stages (clone, generate, validate, …)
  flawed-agent-runner/     runs INSIDE the container (Claude / Codex / Gemini CLIs)
  flawed-api/              FastAPI + SSE + notebook proxy
  flawed-cli/              the `flawed` CLI
apps/web/                  React + Vite + Tailwind webapp
containers/                base image, network lockdown, notebook container
bugs/                      example bug specs
docs/                      documentation (see above)

Développement

TâcheCommande
Synchroniser toutes les dépendances Python + Nodemake dev
Exécuter les testsmake test
Lintmake lint
Formatage automatiquemake format
Serveur de développement web (port 5173)make web-dev
Test de fumée E2Emake e2e

Les tests nécessitent Docker. Ils démarrent leur propre Postgres via testcontainers.

Licence et contribution

FLAWED est publié sous la MIT License. Les contributions sont les bienvenues. Voir CONTRIBUTING.md, et veuillez signaler les problèmes de sécurité en privé conformément à SECURITY.md.

.tar.gz
CVE-2026-8512 (Chromium fsevents UAF)claude-opus-4-8500.7 MB.tar.gz
CVE-2026-8512 (Chromium fsevents UAF)gpt-5.5342.7 MB.tar.gz
freenginx-26 (Perl SV refcount UAF)gpt-5.5166.4 MB.tar.gz
GHSA-wpqr-6v78-jr5g (Gemini CLI trust model)claude-opus-4-81.2 GB.tar.gz
GHSA-wpqr-6v78-jr5g (Gemini CLI trust model)gpt-5.51.3 GB.tar.gz