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
Outils/GitHubGitHub/mubix/ai-ctf
OSINT (Renseignement de Sources Ouvertes)Collecte d'InformationsSécurité WebCTFTests d'IntrusionSécurité de la Chaîne LogistiqueApprentissage et ÉducationSécurité de l'IALabs et Pratique
GitHubmubix/ai-ctf

ai-ctf

Plateforme locale de Capture-the-Flag avec des leçons guidées sur l'injection de prompt, l'abus d'appels d'outils et l'OSINT contre six personas de chatbots simulés.

7417133il y a 25 joursVé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 →
Partager
Voir le dépôtSite web

ai-ctf

Un Capture-the-Flag IA local avec des leçons guidées pour les technologues novices en injection de prompt. Les joueurs peuvent également explorer six personas IA (dont un caché) qui protègent 20 flags via l'injection de prompt, l'abus d'appels d'outils, la manipulation de logique métier, l'empreinte de chaîne d'approvisionnement, la reconnaissance web et l'OSINT.

Le parcours guidé couvre l'injection directe, l'autorisation d'outils et l'injection via un article de connaissance modifiable. Il fournit des indices, des tentatives sauvegardées, des preuves d'outils, un retour de complétion et des comparaisons d'outils protégés. Les laboratoires de pratique originaux conservent la notation manuelle des événements. L'inférence du modèle s'exécute localement via Ollama ; après la construction et le téléchargement du modèle, la plateforme principale ne nécessite aucune connexion internet.

Email Joe in Product Sales ajoute une boîte de réception simulée et un bureau de style Windows. Rédigez un email que l'assistant de Joe lira, puis observez le résumé réel du modèle et les actions enregistrées. Trois objectifs couvrent un brief commercial trompeur, la divulgation d'un fichier interne fictif et une remise non autorisée. Aucun serveur mail, Windows, Wine ou modèle supplémentaire n'est requis.


Ce que contient la boîte

ai-ctf/
├── README.md                  ← vous êtes ici
├── LICENSE                    ← MIT
├── platform/                  ← tout ce qui s'exécute dans Docker
│   ├── flags.toml             ← config centrale : modifiez ceci pour personnaliser les valeurs des flags
│   ├── docker-compose.yml     ← trois services : web, ollama, decoy
│   ├── Dockerfile             ← l'image de l'application web
│   ├── app/                   ← source FastAPI (config, personas, tools, chat)
│   ├── data/init.sql          ← schéma SQLite + données de seed de faux employés
│   ├── decoy/                 ← petit nginx avec deux pages de flags
│   └── scripts/
│       ├── apply_flags.py     ← inscrit les valeurs de flags.toml dans les fichiers statiques
│       ├── render_secret.py   ← s'exécute au démarrage du conteneur
│       └── dump_chats.py      ← exporte le journal de chat en HTML (outil du jour de l'événement)
├── external_artifacts/        ← ce que vous poussez vers GitHub / Gist / DNS
│   ├── README.md              ← checklist de configuration
│   ├── anvil_chatkit/         ← le faux paquet de chaîne d'approvisionnement
│   ├── gist_content.md        ← collez ceci dans un Gist public
│   └── dns_records.txt        ← enregistrement TXT à ajouter à votre domaine
└── docs/                      ← la paperasse pour organiser l'événement
    ├── ANSWER_KEY.md          ← solutions guidées + réponses originales des 20 flags
    ├── CHEAT_SHEET.md         ← solutions fonctionnelles + indices par niveaux (GM uniquement)
    ├── OPERATIONS.md          ← mises à jour, sauvegardes et dépannage
    ├── SETUP_RUNBOOK.md       ← la semaine de l'événement, étape par étape
    └── EVENT_DAY_NOTES.md     ← script de briefing + dépannage

Utilisez le démarrage rapide ci-dessous pour le parcours guidé. Le guide d'exploitation couvre les mises à jour, les sauvegardes, la récupération et les vérifications pré-événement. La clé de réponses, l'aide-mémoire, le runbook de configuration et les notes d'événement décrivent le format CTF original optionnel.


Prérequis

  • Docker + Docker Compose (Compose v2).
  • Suffisamment de RAM pour le modèle configuré, l'application, le système d'exploitation et les autres charges de travail. Le téléchargement du modèle par défaut fait environ 4,7 Go ; ce n'est pas son besoin total en mémoire d'exécution. La capacité dépend du matériel et du modèle ; vérifiez avec le nombre de joueurs prévu avant un événement.
  • Python 3.11+ sur l'hôte (utilisé uniquement pour les scripts utilitaires apply_flags.py et dump_chats.py — l'application elle-même s'exécute dans Docker).
  • exiftool (nécessaire uniquement si vous modifiez le flag EXIF et souhaitez que apply_flags.py réinscrive le logo).
  • Accès internet pendant la construction (pour pip install et le pull du modèle Ollama). Ensuite, la pile locale principale fonctionne hors ligne. La chaîne OSINT externe optionnelle nécessite un accès internet.

Démarrage rapide

git clone https://github.com/mubix/ai-ctf.git
cd ai-ctf/platform

# 1. Session secret
echo "SESSION_SECRET=$(python3 -c 'import secrets; print(secrets.token_hex(32))')" > .env

# 2. (Optional) Customize flag values — see "Customizing the flags" below.
#    Default values work fine for a smoke test.

# 3. Build and start
docker compose build
docker compose up -d ollama
docker compose exec ollama ollama pull qwen2.5:7b-instruct-q4_K_M
docker compose up -d

# 4. Open the platform
open http://localhost:18080/    # or your-machine-ip:18080 on another laptop

Enregistrez un nom d'utilisateur ; la plateforme génère un mot de passe de 12 caractères et l'affiche une seule fois. Conservez-le pour plus tard. Vous êtes connecté automatiquement et pouvez sélectionner Start learning. Les joueurs qui reviennent peuvent se connecter pour reprendre leur progression sauvegardée.

Le projet Compose est nommé ai-ctf et possède son propre réseau et volume de modèle. Seule l'interface web publie un port hôte : 18080 par défaut. Définissez CTF_WEB_PORT dans platform/.env pour choisir un autre port. Ollama et le decoy n'ont aucun port hôte publié ; l'application se connecte à son propre conteneur Ollama. Aucun passthrough GPU n'est configuré. Le CPU et la mémoire restent partagés avec les autres charges de travail sur l'hôte.

Si vous mettez à niveau une pile créée sous un nom de projet Compose différent, conservez ce nom avec docker compose -p YOUR_EXISTING_PROJECT ... pour réutiliser ses conteneurs et son volume de modèle. Changer les noms de projet crée une pile séparée.

La leçon guidée Customer Service utilise un jeton d'audit frais à chaque tentative plutôt que le jeton d'événement fixe. Elle reconnaît les divulgations en texte brut et distingue la consultation de l'exemple résolu de la résolution sans celui-ci. Les tentatives fraîches préservent les conversations précédentes et la progression acquise. Son profil débutant fait délibérément confiance à un rôle d'opérateur de support revendiqué ; le bot de pratique Customer Service original reste séparé. Les tentatives guidées existantes conservent leur profil antérieur jusqu'à ce que le joueur reparte de zéro.

Deux autres leçons guidées utilisent des fixtures fictives isolées : l'accès aux outils RH, puis un article de connaissance modifiable qui peut rediriger une réponse simulée. Elles exécutent des demandes d'action de modèle validées par schéma contre ces outils de fixture, enregistrent les appels d'outils et valident leurs résultats. Les joueurs peuvent rejouer les mêmes arguments via une vérification de permissions et inspecter un contrôle d'usage légitime. Cette comparaison vérifie la frontière de l'outil, pas une seconde exécution du modèle. Rien n'est envoyé par email et aucun service RH réel n'est connecté. Les personas originaux restent des laboratoires de pratique autonomes avec leurs réponses originales et leur notation manuelle.

Télécharger l’outil