Aller au contenu

AgentSight - Observabilité eBPF pour Agents IA

AgentSight - Observabilité eBPF pour Agents IA

AgentSight applique eBPF à un problème que le monde des outils IA a largement ignoré : savoir ce qu’un agent autonome a réellement fait à votre système. Le suivi au niveau application montre les invites, les appels d’outils et les comptes de jetons, mais il ne voit que ce que le cadre de l’agent a choisi de signaler. AgentSight observe plutôt au niveau du noyau — appels système, accès aux fichiers, exécution de processus, connexions réseau — avec zéro instrumentation de l’agent lui-même. Quand un agent de codage s’exécute, vous voyez les effets système réels, pas la version narrée.

Exigences

  • Noyau Linux avec support eBPF/BTF (5.x+)
  • Privilèges root ou CAP_BPF
  • Le processus d’agent s’exécutant sur le même hôte

Installation

MéthodeCommande
De sourcegit clone https://github.com/agent-sight/agentsight && make
Binairetélécharger depuis GitHub Releases
Dockerexécuter en mode privilégié avec /sys/kernel monté
Vérifieragentsight --version

Utilisation de Base

CommandeDescription
sudo agentsight trace --pid <pid>Tracer un processus d’agent en cours d’exécution
sudo agentsight trace -- claude-codeLancer et tracer une commande
sudo agentsight trace --comm pythonTracer par nom de processus
--output trace.jsonÉcrire les événements structurés
--follow-childrenInclure les sous-processus générés

Ce qu’il Capture

CatégorieÉvénements
Processusexec, fork, exit — ce que l’agent a exécuté
Système de fichiersopen, read, write, unlink — ce qu’il a touché
Réseauconnect, send, recv — où il s’est connecté
Credentialssetuid, changements de capacité
Arborescence de sous-processusCommandes générées par l’agent

Parce que le suivi se produit dans le noyau, un agent ne peut pas omettre ou faussement signaler ces événements — une différence significative du suivi au niveau du cadre.

Pourquoi au Niveau du Noyau pour les Agents

QuestionSuivi au niveau applicationAgentSight
Quels fichiers a-t-il modifiés ?Uniquement si l’outil l’a signaléChaque écriture, toujours
A-t-il appelé un hôte inattendu ?Uniquement les appels instrumentésToutes les connexions
Qu’a réellement exécuté l’outil shell ?La chaîne de commandeL’arborescence complète du processus
A-t-il dépassé sa portée prévue ?Difficile à prouverObservable

Filtrage

DrapeauEffet
--filter-path /home/user/projectUniquement les événements sous un chemin
--exclude-path /tmpIgnorer les chemins bruyants
--net-onlyUniquement les événements réseau
--exec-onlyUniquement les exécutions de processus
--min-duration 10msSupprimer les événements triviaux
# Qu'a fait l'agent en dehors de son répertoire de travail ?
sudo agentsight trace --pid $(pgrep -n agent) --exclude-path /workspace

Corrélation avec la Sémantique de l’Agent

ApprocheComment
HorodatagesAligner les événements du noyau avec les portées de suivi de l’agent
Marqueurs de sessionÉmettre un marqueur au début/fin de la tâche
ExportAlimenter JSON dans votre pile d’observabilité
OpenTelemetryCorréler avec les portées au niveau application par fenêtre de temps

L’appairage d’AgentSight avec le suivi au niveau application (par exemple Arize Phoenix ou Langfuse) donne à la fois l’intention et l’effet.

Cas d’Utilisation de Sécurité

UtilisationDétail
Vérification de portéeProuver qu’un agent est resté dans son sandbox
Examen d’incidentReconstruire exactement ce qu’un agent défaillant a fait
Impact d’injection d’inviteVoir quelles actions ont suivi une instruction injectée
Preuve de conformitéEnregistrement auditable de l’accès système de l’agent

AgentSight vs Outils Associés

AspectAgentSightTracee/FalcoLangfuse/Phoenix
CoucheNoyau (eBPF)Noyau (eBPF)Application
FocusComportement de l’agent IASécurité d’exécution généraleInvites/jetons/portées
InstrumentationAucune requiseAucune requiseSDK requise
Meilleur pourCe qu’un agent a réellement faitDétection des menaces d’hôteQualité du raisonnement de l’agent

Construit sur la même fondation eBPF que Tracee et Falco, mais axé sur le comportement de l’agent.

Ressources