
Rastreamento à prova de adulteração, gates de política e verificações cruzadas para agentes de IA: veja o que o agente fez e por quê.
O Tracekit verifica cada chamada de ferramenta que o seu agente faz antes de ela ser executada, assina cada chamada e decisão numa cadeia de hashes,
e entrega-lhe um único ficheiro .tkb por execução que qualquer pessoa pode verificar offline.
8 de 8ataques de adulteração detetados480 ensaios, com uma testemunha (E1) |
570 de 570chamadas nocivas travadas11 classes, 1 falso alarme em 738 (E17) |
< 1 msadicionado por chamada de ferramenta0,91 ms no p99, ida e volta do assinador (E9) |
8 de 8ataques internos detetadosum portão de merge em cada PR (E8) |
Construído como o Certificate Transparency: registos assinados num log apenas de acrescento que testemunhas independentes coassinam
Formato de ficheiro aberto · verificadores em Python e TypeScript · MIT · corre nas suas próprias máquinas
Experimente · Adicione-o ao seu agente · O que prova · O que contém · Prova · Como funciona · Faça um piloto · Contribua · Documentação
Quando um agente faz algo que não devia, faz três perguntas: o que fez, foi permitido, e pode confiar no registo? O próprio log do agente não consegue responder à terceira, porque o agente pode editá-lo. Eis uma execução, registada das duas formas:
A mesma execução, gravada: o banco de dados, o assinador, o visualizador e ambas as edições são reais; o modelo é roteirizado. Assista com som (1:47)
Nesta demonstração, o assinador foi executado como o próprio usuário do agente (modo dev), então um agente que soubesse como poderia ter lido a chave e reassinado o log. Execute o assinador onde o agente não consegue alcançá-lo, com uma testemunha, e ele não consegue.
uvx --from tracekit-ai tracekit demo --server
Sem chave de API e nada para instalar com uv. A partir de um cache vazio num Mac, levou 5
segundos (10 com pip install tracekit-ai num venv novo). O pacote é tracekit-ai: tracekit no PyPI é um
projeto não relacionado. Um agente com script faz três chamadas, e você deverá ver:
== 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.
A exclusão foi negada antes de ser executada, a chamada retida foi executada após uma aprovação, e a execução foi verificada. Em seguida, a demonstração reescreveu a negação como permitida em uma cópia, e a verificação falhou no registro que ela alterou.
Três linhas:
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() inicia um signer de desenvolvimento (ou reutiliza o que está em execução) e intercepta e registra cada chamada de ferramenta e de modelo dos frameworks que encontra. tracekit last exporta sua execução mais recente, verifica-a e informa onde ela está.
tracekit view --dev mostra todas as execuções. Em uma máquina limpa, o exemplo LangGraph (um modelo mock, sem chave de API) foi instalado,
executado e verificado em 27 segundos: examples/v2/clean-machine.sh langchain.