Événements et preuves
Nécessite @openlatch/client 0.10.0 ou une version ultérieure
Utilisez cette page pour lire les deux enregistrements qu’OpenLatch conserve comme preuves : le journal d’audit de chaque changement et de chaque action de votre organisation, et les événements d’exécution que le client envoie pour chaque action d’un agent.
Export du journal d’audit
Section intitulée « Export du journal d’audit »Exportez le journal d’audit depuis la page Audit Trail, en CSV ou en JSON ; voir Consulter le journal d’audit. Chaque événement exporté porte ces champs, dans cet ordre.
| Champ | Signification |
|---|---|
timestamp | Quand l’événement a eu lieu |
actor_name | Le nom de la personne qui a agi, vide pour un événement écrit par le système |
actor_email | L’adresse e-mail de cette personne |
source | D’où vient l’action : console, api, system ou auth_sidecar |
action | Ce qui a été fait, par exemple policy.updated |
target_type | Le type d’objet visé |
target_label | Le nom de cet objet |
status | Le résultat : success, failure ou denied |
changes | Les champs modifiés, en JSON |
site | Le site OpenLatch qui a enregistré l’événement |
L’export lui-même est enregistré dans le journal d’audit. La chaîne de hachage qui relie chaque événement au précédent ne fait pas partie de l’export : vérifiez-la sous Settings › Audit Trail.
Événements d’exécution
Section intitulée « Événements d’exécution »La page des événements en direct de la console lit chaque événement de hook envoyé par le client avec ces champs.
| Champ | Signification |
|---|---|
event_id | L’identifiant evt_ de l’événement, attribué par le client ; la plateforme enregistre un événement une seule fois par identifiant et ignore une répétition |
time | Quand l’agent a déclenché le hook, selon l’agent |
ingested_at | Quand la plateforme a reçu et stocké l’événement |
type | L’événement de hook, sous le nom que lui donne l’agent |
platform | Le produit d’agent qui a déclenché le hook, par exemple claude-code ou codex-cli |
host_id | L’hôte sur lequel tourne l’agent, un identifiant hst_ |
agent_id | L’agent qui a envoyé l’événement, un identifiant agt_ |
session_id | La session à laquelle appartient l’événement, un identifiant ses_ |
agentversion | La version de l’agent |
clientversion | La version du client |
os | Le système d’exploitation de la machine |
arch | L’architecture du processeur de la machine |
localipv4 | L’adresse IPv4 locale de la machine |
localipv6 | L’adresse IPv6 locale de la machine |
publicipv4 | L’adresse IPv4 publique de la machine |
publicipv6 | L’adresse IPv6 publique de la machine |
tool_name | L’outil que l’agent a invoqué, sur un événement d’outil, sous un nom commun à tous les agents |
tool_input | L’entrée de l’outil, sous la forme des arguments de cet outil commun |
tool_response | La réponse de l’outil, sur l’événement qui suit son exécution |
olverdict | Le verdict enregistré pour l’événement |
olverdictshadow | Le verdict qu’une politique en mode Monitor aurait produit |
olpolicyruleid | La règle de politique qui a décidé de l’action, ou qui l’aurait fait en mode Monitor |
olpolicybundlerev | La révision du bundle de politiques sur laquelle la décision a été prise |
olpolicyoffline | Vrai quand le client a décidé à partir de son bundle en cache parce que sa dernière mise à jour du bundle a échoué |
raw_event | L’événement tel qu’OpenLatch le stocke, dans le modèle d’événement décrit ci-dessous |
L’événement stocké
Section intitulée « L’événement stocké »Ouvrez un événement sur la page des événements en direct : sa section Raw event montre l’événement tel qu’OpenLatch le stocke. Chaque événement est stocké dans un seul modèle d’événement, le même pour tous les agents. Les événements déjà stockés dans votre organisation à l’ancien format ont été convertis vers ce modèle, et un client qui envoie encore ce format voit ses événements refusés. Le journal d’audit enregistre la conversion sous Event History Conversion Started et Event History Converted, avec le nombre d’événements convertis et le nombre de ceux qui n’ont pas pu l’être. Chaque événement qui n’a pas pu être converti figure dans le journal d’audit sous Unconvertible Events Exported, un par événement, et ses changes contiennent l’événement d’origine et la raison pour laquelle il n’a pas pu être converti : les exports CSV et JSON le portent donc en entier.
| Champ | Signification |
|---|---|
dataschema | Le modèle d’événement que suit l’événement, https://openlatch.ai/schemas/events/v3. C’est un identifiant, pas une page à ouvrir |
type | L’événement de hook, par exemple un appel d’outil avant ou après son exécution |
id | L’identifiant evt_ de l’événement |
source | Le produit d’agent qui a envoyé l’événement |
subject | La session, sous la forme d’un identifiant ses_ |
hostid | L’hôte, sous la forme d’un identifiant hst_ |
agentid | L’agent, sous la forme d’un identifiant agt_ |
data | L’action elle-même, dans les champs ci-dessous pour une action d’agent |
Champ dans data | Signification |
|---|---|
harness_name | Le produit de l’agent, par exemple claude-code ou codex-cli |
action_type | Le type d’action, par exemple un appel d’outil ou un appel MCP |
tool_name | Le nom d’outil commun, le même pour tous les agents : une commande shell est bash, quel que soit l’agent qui l’a lancée |
payload_llm_tool | Les arguments de l’appel d’outil et, une fois exécuté, son résultat |
payload_llm_mcp | Le serveur, l’outil, les arguments et le résultat d’un appel MCP |
payload_raw | La charge utile propre de l’agent, telle que le client l’a envoyée, conservée pour l’audit |
Comme les noms d’outils sont communs, la console affiche un seul libellé par outil pour tous les agents : une commande shell apparaît comme Bash et une modification de fichier comme Edit, quel que soit l’agent qui l’a faite.
Dans data, les identifiants propres à l’agent gardent leurs noms : session_id y est l’identifiant de session que l’agent lui-même a donné, jamais un identifiant ses_. Un événement stocké avant les identifiants actuels garde les anciens dans son événement brut, et la console le montre sous les identifiants actuels. Identifiants décrit chaque identifiant.
Événements refusés
Section intitulée « Événements refusés »La plateforme répond à chaque lot d’événements d’un client événement par événement. Un événement qui échoue à ses contrôles est refusé seul, avec une raison, et les autres événements du lot sont stockés.
| Raison | Ce qui s’est passé | Que faire |
|---|---|---|
missing_required | Un champ exigé par le modèle d’événement est absent | Mettez à jour le client sur cette machine |
schema_invalid | L’événement ne correspond pas au modèle d’événement | Mettez à jour le client sur cette machine |
unknown_dataschema | L’événement indique un modèle d’événement que la plateforme n’accepte pas | Mettez à jour le client sur cette machine vers une version publiée |
client_too_old | L’événement vient d’un client plus ancien que les identifiants actuels | Réinstallez le client sur cette machine ; voir Installer le client |
server_error | La plateforme n’a pas pu stocker l’événement | Rien : le client renvoie le lot, et un événement déjà stocké n’est jamais stocké deux fois |
Non livré
Section intitulée « Non livré »Le canal d’export SIEM n’est pas livré. Aucun des deux enregistrements n’est envoyé à un SIEM ; exportez plutôt le journal d’audit depuis la console.