Analyser un journal d'audit à la recherche d'activité suspecte avec l'IA, en rétention zéro des données

Un agent lit une journée d'événements d'administration et signale la séquence suspecte avec les identifiants d'événements et une réponse recommandée.

  • Connexion en lecture seule
  • Rétention zéro des données
  • Plafond de budget

Regardez une vraie exécution

Une vraie exécution du 7 oct. 2026, rejouée. Modèle : openai/gpt-6-luna.

Réussierun_0eb2ed24c5dc03106f9affec5daa96ff$0.003879 sur $0.03
  1. En file d'attentebudget de $0.03 réservé
  2. MicroVMmicroVM ready
  3. MicroVMworker started · shell off · web off
  4. Connexionops GET /audit-log
  5. Résultatops GET → 200
  6. MicroVMmicroVM destroyed
  7. Réussie2 appels au modèle, 3,902 jetonsSortie enregistrée (en anglais)

    Verdict: High-severity suspicious activity: [email protected]’s account had a linked off-hours access and privilege/data-access sequence from an IP not seen in its earlier events.

    SeverityEvent IDsWhy unusualRecommended response
    highev013–ev020Three failed logins were followed by a successful login using a recovery code at 23:14 UTC, outside the stated 08:00–19:00 UTC business hours. From the same IP, the account then granted admin access to an external address, exported 48,210 rows, created an API key, and that address logged in.Contain the account and review its sessions, recovery-code use, role change, export, and API key; revoke access or credentials as appropriate.

    No finding for the rest of the log.

  8. Worker détruit$0.003879 facturé, $0.026121 libéré
Modèle $0.000526 · Web $0.00 · Calcul $0.003 · Supplément $0.000353

La rétention zéro des données était activée pour cette exécution.

Lancez-le vous-même

Ouvrez l'exemple dans le playground avec toute la requête déjà remplie. Il s'exécute sur votre propre compte, dans le budget indiqué, sur les mêmes systèmes d'exemple en lecture seule.

Budget pour cet exemple : $0.03

Fonctionnement

Les journaux d'audit sont sensibles : l'exécution utilise donc la rétention zéro des données et une connexion en lecture seule. L'agent désigne les identifiants d'événements exacts, explique pourquoi la séquence est inhabituelle (hors horaires, authentification multifacteur contournée, changement de privilèges, export en masse) et n'accuse aucune personne.

Ce que l'agent peut et ne peut pas faire

Les permissions font partie de la requête. Tout ce qui n'est pas listé ici n'est pas disponible pour l'exécution.

ParamètreAutorisé
Connexions
ops : GET uniquement, sur ephemer.al/api/samples/ops-api
WebDésactivé
ShellDésactivé
FichiersAucune
Rétention zéro des donnéesActivée : aucune trace n'est enregistrée et la sortie n'est renvoyée qu'une fois
Budget$0.03, un plafond strict
Délai60 secondes

Les identifiants n'entrent jamais dans la machine : un broker les ajoute à chaque appel et impose les méthodes ci-dessus.

Le code

Voici la requête exacte envoyée par l'exemple. Définissez EPHEMERAL_API_KEY avec une clé de membre de votre organisation.

curl -X POST $EPHEMERAL_URL/v1/runs \
  -H "Authorization: Bearer $EPHEMERAL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @request.json
Corps complet de la requête request.json

Le même corps, avec les fichiers en ligne.

request.json
{
  "prompt": "Review the audit log from GET /audit-log on the ops connection and the business hours it states. Reply in Markdown, at most 200 words: a one-line verdict, then a table of suspicious findings with severity (high, medium, low), the event IDs, why they are unusual, and a recommended response. Treat patterns, not single events, as findings: an off-hours login alone is low. Say 'no finding' for the rest of the log in one line. Describe behavior of accounts, never accuse a person. Use only what the data returns and never guess; if a call fails or a field is missing, say so.",
  "connections": {
    "ops": {
      "type": "http",
      "url": "https://ephemer.al/api/samples/ops-api",
      "auth": {
        "type": "bearer",
        "token": "sample_read_key"
      },
      "allowed_methods": [
        "GET"
      ],
      "instructions": "GET /audit-log returns the date, a note on business hours, and events with id, at (UTC), actor, action, target, ip, result and sometimes reason, mfa, rows or role."
    }
  },
  "shell": false,
  "timeout_seconds": 60,
  "max_cost_micros": 30000,
  "zero_data_retention": true
}

En savoir plus

Exemples liés

esc

Aucun résultat pour « ».