
Règles de détection Sigma pour la surveillance de sécurité des agents IA
Ce dépôt contient des règles de détection qui aident à identifier lorsqu'un agent IA est attaqué ou manipulé. Considérez-le comme une bibliothèque de "signatures de menaces" -- chaque règle décrit un modèle qui, lorsqu'il correspond aux données de logs d'un agent, signale que quelque chose de suspect peut se produire.
AgentShield est une couche de sécurité open-source pour les agents IA. Elle surveille le comportement des agents en temps réel et utilise ces règles Sigma pour détecter les attaques adversariales telles que l'injection de prompts, le vol de données, l'empoisonnement d'outils et l'escalade de privilèges -- avant qu'elles ne causent des dommages.
Sigma est un standard ouvert utilisé dans l'industrie de la cybersécurité pour écrire des règles de détection. Si les signatures antivirus disent à votre ordinateur "ce fichier est malveillant", les règles Sigma disent à votre plateforme de sécurité "ce modèle d'activité dans les logs est suspect".
Une règle Sigma est un court fichier YAML qui dit : "Si vous voyez ce modèle dans les logs, levez une alerte." Par exemple, une règle simplifiée pourrait ressembler à :
SI l'événement de log est une entrée utilisateur
ET le message contient "ignore les instructions précédentes"
ALORS levez une alerte critique pour injection de prompt
Parce que Sigma est un standard neutre vis-à-vis des fournisseurs, ces règles fonctionnent avec n'importe quel moteur de détection compatible Sigma -- pas seulement AgentShield. Cela signifie que les équipes de sécurité peuvent les intégrer dans leurs outils existants sans dépendre d'un fournisseur.
Quand quelqu'un essaie de remplacer les instructions d'un agent -- soit directement (en tapant "ignore les instructions précédentes"), soit indirectement (en cachant des instructions dans des documents que l'agent lit).
Quand un agent est amené à envoyer des données sensibles à un attaquant -- via des téléchargements HTTP, du tunneling DNS, des images Markdown cachées ou des techniques stéganographiques.
Quand des métadonnées malveillantes sont cachées dans les descriptions d'outils MCP, ou que des outils changent de comportement après avoir été approuvés (attaques "rug pull").
Quand un agent accède à des fichiers sensibles comme les clés SSH, les jetons API, les identifiants cloud ou les variables d'environnement contenant des secrets.
Quand un agent essaie d'obtenir plus d'accès que prévu -- via sudo, des échappements de conteneur, la manipulation IAM cloud ou la falsification de fichiers système.
Quand un attaquant essaie de maintenir un accès à long terme -- via des tâches cron, des modifications de profil shell, des agents de lancement ou l'empoisonnement de la mémoire de l'agent.
Quand un agent est amené à télécharger et exécuter des scripts malveillants, établir des shells inversés ou exécuter des commandes obfusquées.
Quand un agent effectue un scan réseau ou une énumération DNS pour cartographier un environnement cible.
Quand un agent modifie des fichiers de configuration sensibles à la sécurité pour affaiblir les défenses -- paramètres d'approbation automatique, configurations MCP ou fichiers de règles d'assistant IA.
Quand des paquets ou compétences sont installés à partir de sources non fiables -- URL directes, dépôts GitHub ou archives tarball.
rules/
└── ai_agent/
├── ai_agent_prompt_injection_direct.yml
├── ai_agent_credential_access.yml
├── ai_agent_mcp_tool_poisoning.yml
└── ... (toutes les règles dans un seul répertoire plat)
Les règles sont organisées par produit (ai_agent) suivant les conventions SigmaHQ. La catégorie de menace spécifique pour chaque règle est capturée dans les métadonnées YAML de la règle (via les tags MITRE ATT&CK et les champs logsource), pas dans la structure du répertoire. Cette disposition plate maintient le dépôt simple et évite l'ambiguïté lorsqu'une règle couvre plusieurs catégories d'attaques.
# Clonez le dépôt de règles
git clone https://github.com/agentshield-ai/sigma-ai.git
# Utilisez avec le moteur AgentShield
export AGENTSHIELD_AUTH_TOKEN="remplacer-par-au-moins-32-caracteres"
agentshield serve --rules ./sigma-ai/rules --port 8433
# Validez les règles
agentshield rules validate --path ./sigma-ai/rules
Ces règles suivent le format Sigma standard et peuvent être utilisées avec n'importe quel outil compatible Sigma :
# Validez avec sigma-cli
sigma check rules/
# Convertissez vers d'autres formats
sigma convert -t <cible> rules/ai_agent/
Ci-dessous, un exemple entièrement annoté montrant l'anatomie d'une règle Sigma. Chaque champ est expliqué en anglais simple.
title: Direct Prompt Injection Attempt # Nom lisible par l'humain
id: eddcdc94-698c-577f-900d-28b1b5491a80 # Identifiant unique (UUID v5)
related: # Liens vers les règles associées
- id: agent-prompt-injection-direct-001 # ID précédent que celle-ci remplace
type: obsoletes
status: stable # Niveau de maturité (voir ci-dessous)
description: | # Ce que cette règle détecte
Détecte les tentatives d'injection de prompt directes dans les entrées d'agent IA contenant
des phrases de jailbreak courantes, des commandes de remplacement système et des structures
de manipulation de politique. Ces modèles indiquent des tentatives de compromettre le comportement
de l'agent via des instructions malveillantes.
references: # Lectures complémentaires
- https://owasp.org/www-project-top-10-for-large-language-model-applications/
author: AgentShield # Qui a écrit cette règle
date: "2026-02-16" # Quand elle a été écrite pour la première fois
modified: "2026-02-24" # Quand elle a été modifiée pour la dernière fois
tags: # Correspondances MITRE ATT&CK
- attack.initial_access
- attack.t1190
logsource: # Quel format de log attendre
product: ai_agent
category: agent_events
detection: # La logique de correspondance
selection_jailbreak_keywords:
event_type: user_input
message|contains:
- 'ignore previous instructions'
- 'developer mode'
condition: selection_jailbreak_keywords
falsepositives: # Déclencheurs bénins connus
- Recherche légitime sur la sécurité IA
level: critical # Sévérité (critical/high/medium/low)
Voici ce que fait chaque section :