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
Cairn — Un moteur de recherche d'espaces d'états générique basé sur l'IA, validé d'abord sur des tests de pénétration autonomes. | Kitploit
Outils/GitHubGitHub/oritera/cairn
Frameworks de Tests d'IntrusionFrameworks d'ExploitationCTFTests d'IntrusionRed TeamingSécurité de l'IA
GitHuboritera/cairn

Cairn

Un moteur de recherche d'espaces d'états générique basé sur l'IA, validé d'abord sur des tests de pénétration autonomes.

Voir le dépôt
2.2k301il 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 →
Partager
Bannière Cairn

Cairn

Plus qu'un simple test d'intrusion IA — Vers une recherche générale dans l'espace d'états

Tencent TCH

Cairn est un moteur de résolution de problèmes à usage général.
Il ne définit ni rôles, ni workflows. Étant donné une origine et un objectif, il cherche un chemin à travers un espace d'états inconnu.
Le test d'intrusion IA est l'un de ces problèmes — et il est éprouvé.

Discord X

Capture d'écran de Cairn en cours d'exécution

Qu'est-ce que Cairn ?

Le test d'intrusion est fondamentalement une recherche dirigée à travers un espace d'états quasi infini :

  • Origine: connue (IP cible, système cible)
  • Objectif: défini (obtenir un shell, capturer le drapeau)
  • Chemin: inconnu

Cette structure n'est pas propre au test d'intrusion. La recherche de vulnérabilités, la preuve mathématique, les défis CTF — tout problème avec un point de départ clair, une condition de succès claire et un chemin inconnu entre les deux partage la même forme.

Cairn est conçu pour cette classe de problèmes. Le test d'intrusion est le premier domaine sur lequel il a été validé.

Le moteur repose sur une architecture de tableau noir (Blackboard Architecture) avec un graphe explicite faits-intentions. Trois primitives suffisent :

ConceptSignification
FaitUn résultat confirmé et objectif écrit sur le tableau
IntentionUne direction d'exploration déclarée, pas encore exécutée
IndiceJugement humain injecté à tout moment ; absorbé par les agents lors de la prochaine lecture

Le graphe croît de l'origine vers l'objectif. Chaque nouveau Fait est une pierre angulaire ; chaque Intention est un pas dans l'inconnu.

Les Agents Ouvriers (Agent Workers) exécutent une boucle OODA — Observer l'ensemble du graphe, S'orienter vers l'état actuel, Décider des prochaines intentions, Agir pour explorer — et écrivent leurs résultats en tant que nouveaux Faits. Les ouvriers n'ont pas de rôles fixes. Les tâches sont générées à l'exécution à partir de l'état actuel du graphe, et non de descriptions de poste prédéfinies.

Les agents coordonnent exclusivement via le tableau partagé (Stigmergie). Aucune communication directe. Aucun silo d'information.

Cairn en action

https://github.com/user-attachments/assets/e557b1ac-dda4-41cb-87dd-9d56dbf05133

Comment ça fonctionne

Trois types de tâches, toutes exécutées par le même Ouvrier :

TâcheCe qu'elle fait

Architecture du système :

root@kitploit:~
          ┌──────────────────────────────────┐
          │          Serveur Cairn           │
          │    Faits + Intentions + Indices   │
          └─────────────────┬────────────────┘
                            │
                      API Lecture / Écriture
                            │
          ┌─────────────────┴────────────────┐
          │          Dispatcheur             │
          │   Planifie les tâches, gère      │
          │   les conteneurs, écrit le       │
          │   protocole                      │
          └──────────┬───────────────┬───────┘
                     │               │
     ┌───────────────┴──┐     ┌──────┴──────────────┐
     │ Conteneur Ouvrier│     │ Conteneur Ouvrier   │
     │   (Projet A)     │     │   (Projet B)        │
     │  ┌────┐  ┌────┐  │     │  ┌────┐  ┌────┐     │
     │  │ O. │  │ O. │  │     │  │ O. │  │ O. │     │
     │  └────┘  └────┘  │     │  └────┘  └────┘     │
     └──────────────────┘     └─────────────────────┘

Serveur Cairn maintient uniquement la cohérence du graphe.

Dispatcheur Cairn lit le graphe, planifie les tâches, lance et arrête les conteneurs ouvriers, et est le seul à écrire dans le protocole. Chaque projet possède son propre Conteneur Ouvrier ; plusieurs Agents Ouvriers s'exécutent simultanément à l'intérieur. Les Agents Ouvriers reçoivent uniquement une invite et renvoient une sortie structurée.

Backends ouvriers supportés : Claude Code, Codex et Pi.

Résultats

Tencent Cloud Hackathon · Défi de test d'intrusion IA · 2e édition

610 équipes · 1 345 participants · des meilleures universités et entreprises de sécurité à travers la Chine

MétriqueValeur
Problèmes résolus54 / 54 — seule équipe à AK
Classement final3e

Le système n'avait jamais été testé avant la compétition. L'ensemble du pipeline est entré en ligne pour la première fois à 4 heures du matin le jour de la course. Pas d'entraînement, pas de réglage, pas d'outillage spécifique au domaine. Zéro outil MCP, zéro RAG, zéro rôle d'agent prédéfini.

Lectures complémentaires

  • L'agent de test d'intrusion IA le plus puissant : Analyse post-mortem de la seule équipe à avoir réalisé AK au TCH Tencent Cloud Hackathon Défi de test d'intrusion intelligent (2e édition)
  • Le chemin sans chemin : Cairn AI, du test d'intrusion à la résolution générale de problèmes

Pour commencer

Prérequis

  • macOS ou Linux
  • Python ≥ 3.12
  • Docker

Récupérer les images requises

Les deux méthodes d'installation nécessitent l'image du conteneur ouvrier :

root@kitploit:~
docker pull --platform=linux/amd64 ghcr.io/oritera/cairn-worker-container:latest

Créez votre configuration de dispatcheur locale et remplissez vos points de terminaison LLM et vos clés API :

root@kitploit:~
cp dispatch.example.yaml dispatch.yaml

Docker Compose (recommandé)

Récupérez l'image de base utilisée pour construire Cairn :

root@kitploit:~
docker pull ghcr.io/astral-sh/uv:python3.13-trixie
root@kitploit:~
docker compose up --build

Cela démarre cairn-server sur le port 8000 et cairn-dispatcher une fois que le serveur a passé son contrôle de santé. Le dispatcheur monte dispatch.yaml depuis la racine du projet et se connecte à Docker via le socket hôte. Les données sont persistées dans ./datas/cairn/.

Manuellement

root@kitploit:~
# Démarrer le serveur
uv run --project cairn cairn serve
 
# Exécuter le dispatcheur
uv run --project cairn cairn dispatch --config dispatch.yaml
 
# Exécuter uniquement les contrôles de santé de démarrage
uv run --project cairn cairn dispatch --config dispatch.yaml --startup-healthcheck-only

Tests

Exécutez la suite de régression rapide sans Docker ni points de terminaison de modèle en direct :

root@kitploit:~
uv run --project cairn --group dev pytest

Avertissement

Cairn est un moteur de résolution de problèmes à usage général. Bien qu'il prenne en charge les workflows de test d'intrusion, de résolution de CTF, d'évaluation de sécurité et de recherche de vulnérabilités, il est destiné à être utilisé uniquement dans des environnements où vous disposez d'une autorisation explicite d'opérer.

Vous êtes seul responsable de la façon dont vous utilisez ce projet. N'utilisez pas Cairn contre des systèmes, réseaux, applications ou données sans autorisation préalable claire du propriétaire ou de l'exploitant. Les tests de sécurité, l'exploitation ou l'accès aux données non autorisés peuvent être illégaux et causer des dommages.

Les développeurs et contributeurs de ce projet n'approuvent ni n'assument la responsabilité de toute utilisation abusive, dommage, perte ou conséquence juridique découlant de son utilisation. En utilisant ce projet, vous acceptez de veiller à ce que vos activités soient conformes à toutes les lois, réglementations, obligations contractuelles et politiques professionnelles ou organisationnelles applicables dans votre juridiction.

Historique des étoiles

Graphique de l'historique des étoiles

⚖️ Licence

Ce projet est sous licence GNU AGPLv3 pour une utilisation personnelle et éducative.

Utilisation commerciale : Si vous souhaitez utiliser ce projet dans un environnement commercial ou propriétaire sans les obligations open-source de l'AGPL-3.0, veuillez me contacter pour obtenir une licence commerciale.

Contributions : En soumettant une Pull Request, vous acceptez que vos contributions puissent être utilisées à la fois sous l'AGPL-3.0 et sous la licence commerciale du projet.

Télécharger l’outil
Sortie
BootstrapAu démarrage du projet, tente de résoudre le problème directementFait + éventuel Complete
ReasonLit l'ensemble du graphe : l'objectif est-il atteint ? Que faut-il explorer ensuite ?Complete / nouvelles Intentions / no-op
ExploreRevendique une Intention, exécute l'exploration, rapporte les résultatsUn Fait