
Tracciamento a prova di manomissione, controlli delle policy e verifiche incrociate per gli agenti AI: scopri cosa ha fatto l'agente e perché.
Tracekit controlla ogni chiamata a strumenti che il tuo agente effettua prima che venga eseguita, firma ogni chiamata e decisione in una catena di hash,
e ti fornisce un file .tkb per ogni esecuzione che chiunque può verificare offline.
8 su 8attacchi di manomissione intercettati480 prove, con un testimone (E1) |
570 su 570chiamate dannose bloccate11 classi, 1 falso allarme su 738 (E17) |
< 1 msaggiunto per chiamata a strumenti0,91 ms al p99, andata e ritorno del firmatario (E9) |
8 su 8attacchi interni intercettatiun gate di merge su ogni PR (E8) |
Costruito come Certificate Transparency: record firmati in un log append-only che testimoni indipendenti cofirmano
Formato di file aperto · verificatori in Python e TypeScript · MIT · gira sulle tue macchine
Provalo · Aggiungilo al tuo agente · Cosa dimostra · Cosa contiene · Prove · Come funziona · Sperimentalo · Contribuisci · Documentazione
Quando un agente fa qualcosa che non dovrebbe, ti poni tre domande: cosa ha fatto, era consentito, e puoi fidarti del registro? Il log dell'agente stesso non può rispondere alla terza, perché l'agente può modificarlo. Ecco un'esecuzione, registrata in entrambi i modi:
La stessa esecuzione, registrata: il database, il firmatario, il visualizzatore ed entrambe le modifiche sono reali; il modello è scriptato. Guardalo con l'audio (1:47)
In questa demo il firmatario è stato eseguito come utente dell'agente stesso (modalità dev), quindi un agente che sapesse come fare avrebbe potuto leggere la chiave e rifirmare il log. Esegui il firmatario dove l'agente non può raggiungerlo, con un testimone, e non può farlo.
uvx --from tracekit-ai tracekit demo --server
Nessuna API key e nulla da installare con uv. Da una cache vuota su un Mac ha richiesto 5
secondi (10 con pip install tracekit-ai in un venv nuovo). Il pacchetto è tracekit-ai: tracekit su PyPI è un
progetto non correlato. Un agente scriptato effettua tre chiamate e dovresti vedere:
== 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 cancellazione è stata negata prima dell'esecuzione, la chiamata trattenuta è stata eseguita dopo un'approvazione e l'esecuzione è stata verificata. Poi la demo ha riscritto il diniego come consentito in una copia, e la verifica è fallita sul record che aveva modificato.
Tre righe:
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() avvia un signer di sviluppo (o riutilizza quello in esecuzione) e intercetta e registra ogni chiamata a tool e modello dei framework che rileva. tracekit last esporta la tua ultima esecuzione, la verifica e indica dove si trova. tracekit view --dev mostra tutte le esecuzioni. Su una macchina pulita l'esempio LangGraph (un modello mock, senza API key) è stato installato, eseguito e verificato in 27 secondi: examples/v2/clean-machine.sh langchain.