
Traçage inviolable, contrôles de politique et vérifications croisées pour les agents IA : voyez ce que l'agent a fait, et pourquoi.
Tracekit vérifie chaque appel d'outil effectué par votre agent avant son exécution, signe chaque appel et chaque décision dans une chaîne de hachage,
et vous fournit un fichier .tkb par exécution que n'importe qui peut vérifier hors ligne.
8 sur 8attaques par altération détectées480 essais, avec un témoin (E1) |
570 sur 570appels nuisibles bloqués11 classes, 1 fausse alerte sur 738 (E17) |
< 1 msajouté par appel d'outil0,91 ms au p99, aller-retour du signataire (E9) |
8 sur 8attaques internes détectéesune barrière de fusion sur chaque PR (E8) |
Conçu comme Certificate Transparency : des enregistrements signés dans un journal en ajout seul que des témoins indépendants cosignent
Format de fichier ouvert · vérificateurs en Python et TypeScript · MIT · s'exécute sur vos propres machines
Essayez · Ajoutez-le à votre agent · Ce qu'il prouve · Ce qu'il contient · Preuves · Comment ça marche · Testez-le · Contribuer · Documentation
Quand un agent fait quelque chose qu'il ne devrait pas, vous vous posez trois questions : qu'a-t-il fait, était-ce autorisé, et pouvez-vous faire confiance à l'enregistrement ? Le propre journal de l'agent ne peut pas répondre à la troisième, car l'agent peut le modifier. Voici une exécution, enregistrée des deux façons :
La même exécution, enregistrée : la base de données, le signataire, la visionneuse et les deux modifications sont réels ; le modèle est scripté. Regardez avec le son (1:47)
Dans cette démo, le signataire s'exécutait sous l'utilisateur propre de l'agent (mode dev), de sorte qu'un agent qui savait comment s'y prendre aurait pu lire la clé et re-signer le journal. Exécutez le signataire là où l'agent ne peut pas l'atteindre, avec un témoin, et il ne le pourra pas.
uvx --from tracekit-ai tracekit demo --server
Aucune clé API, et rien à installer avec uv. Depuis un cache vide sur un Mac, cela a pris 5
secondes (10 avec pip install tracekit-ai dans un venv neuf). Le paquet est tracekit-ai : tracekit sur PyPI est un
projet sans rapport. Un agent scripté effectue trois appels, et vous devriez voir :
== agent run (SCRIPTED: fixed tool calls, not a model)
Bash 'ls': allow
Bash 'sudo rm -rf /': deny TK-D001 TK-D004 TK-F003
Bash 'echo "unterminated': ask TK-SHELL-PARSE
...
Integrity: VERIFIED.
== tamper test: rewrite the denied call as allowed in a copy, then verify again
[FAIL] signatures — 11 record(s), keys valid at their position
seq 4: hash does not match the event
Integrity: FAILED.
La suppression a été refusée avant son exécution, l'appel retenu s'est exécuté après une approbation, et l'exécution a été vérifiée. Ensuite, la démo a réécrit le refus en autorisation dans une copie, et la vérification a échoué sur l'enregistrement qu'elle avait modifié.
Trois lignes :
pip install tracekit-ai
import tracekit; tracekit.instrument() # the first line of your agent; then run it as usual
tracekit last # Integrity: VERIFIED. / Assurance: dev; ...
tracekit.instrument() démarre un signataire de développement (ou réutilise celui en cours d'exécution) et filtre et enregistre chaque appel d'outil et de modèle des frameworks qu'il détecte. tracekit last exporte votre dernière exécution, la vérifie et indique où elle se trouve.
tracekit view --dev affiche toutes les exécutions. Sur une machine propre, l'exemple LangGraph (un modèle simulé, sans clé API) s'est installé,
exécuté et vérifié en 27 secondes : examples/v2/clean-machine.sh langchain.