Règles
Les règles de Secure définir ce que balayage Cherche. Chaque règle a un type (ce qu'elle inspecte), une action (block, flagou log), une sévérité et une portée (tous les agents, ou certains). Vous pouvez lister, créer et mettre à jour les règles sur l'API.
Règles de liste#
GET /v1/secure/rules — demande une portée secure:rules:read.
curl "https://api.maetra.io/v1/secure/rules" \
-H "Authorization: Bearer $MAETRA_API_KEY"
{
"rules": [
{
"id": "rule_71c",
"name": "Outbound PII",
"description": "Flag customer PII leaving the system.",
"type": "data_pattern",
"action": "flag",
"severity": "medium",
"status": "active",
"is_built_in": false,
"applies_to_all": true,
"trigger_count": 12,
"last_triggered_at": "2026-07-06T22:04:00.000Z",
"version": 3,
"updated_at": "2026-07-01T09:12:00.000Z"
}
]
}
Voir objet de règle pour tous les champs.
Créer une règle#
POST /v1/secure/rules — demande une portée secure:rules:writeC'est vrai. Retourne 201.
Types de règles
type | Contrôles | Champs clés |
|---|---|---|
prompt_pattern | Texte d'injection / formulation non autorisée. | custom_patterns |
data_pattern | Contenu pour les signatures de données sensibles. | custom_patterns, data_categories, data_descriptions, data_direction, pattern_library_ids |
tool_call | Appels d'outils/fonctions. | tool_names |
policy_dsl | Conditions dans la règle DSL d'Maetra. | dsl_statements |
Organisme de demande
| Champ | Type | Requis | Par défaut | Désignation des marchandises |
|---|---|---|---|---|
name | chaîne de caractères | ✓ | Nom de la règle. | |
type | enum | ✓ | data_pattern, policy_dsl, prompt_pattern, tool_call. | |
description | chaîne de caractères | null | Description de l'homme. | ||
action | enum | flag | block, flag, log. | |
severity | enum | medium | critical, high, medium, low. | |
status | enum | draft | active, archived, draft. | |
applies_to_all | booléen | true | Appliquer à chaque agent. | |
agent_ids | chaîne de caractères[] | Limite aux agents spécifiques (lorsqu'ils ne sont pas applies_to_all). | ||
data_direction | enum | null | inbound, outbound, both. | ||
custom_patterns | chaîne de caractères[] | Modèles littéraux/regex à correspondre. | ||
tool_names | chaîne de caractères[] | Outils que cette règle régit (pour tool_call). | ||
data_categories | chaîne de caractères[] | Catégories de données à détecter. | ||
data_descriptions | chaîne de caractères[] | Description en langage naturel des données à détecter. | ||
dsl_statements | chaîne de caractères[] | Les instructions LIS de la règle (pour policy_dsl). | ||
pattern_library_ids | chaîne de caractères[] | Bibliothèques de modèles intégrées de référence. |
Remarque Nouvelles règles par défaut à
status: draft— ils n'affectent pas les scans avantactiveC'est vrai. Créer commedraft, tester, puis promouvoir (avec Mettre à jour une règle).
curl -X POST "https://api.maetra.io/v1/secure/rules" \
-H "Authorization: Bearer $MAETRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Block secrets in tool calls",
"type": "data_pattern",
"action": "block",
"severity": "high",
"status": "active",
"data_direction": "outbound",
"custom_patterns": [
"AKIA[0-9A-Z]{16}",
"-----BEGIN (RSA )?PRIVATE KEY-----"
]
}'
{
"rule": {
"id": "rule_9f2",
"name": "Block secrets in tool calls",
"type": "data_pattern",
"action": "block",
"severity": "high",
"status": "active",
"is_built_in": false,
"applies_to_all": true,
"trigger_count": 0,
"last_triggered_at": null,
"version": 1,
"updated_at": "2026-07-07T11:40:00.000Z"
}
}
Mettre à jour une règle#
PATCH /v1/secure/rules/{id} — demande une portée secure:rules:write.
Seuls les champs que vous envoyez sont changés; omettez le reste de les laisser intacts. Accepte la les mêmes champs que créer (tout en option ici). Les règles intégrées ne peuvent pas être modifiées. Une utilisation courante est de retourner une draft règle à la active, ou composant une action à partir de block jusqu'à flag:
curl -X PATCH "https://api.maetra.io/v1/secure/rules/rule_9f2" \
-H "Authorization: Bearer $MAETRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "active",
"action": "flag"
}'
{
"rule": {
"id": "rule_9f2",
"name": "Block secrets in tool calls",
"action": "flag",
"status": "active",
"version": 2,
"updated_at": "2026-07-07T12:02:00.000Z"
}
}
Remarque Champs de type liste (
custom_patterns,tool_names,agent_ids, ...) sont remplacé quand vous les envoyez — envoyez la liste complète souhaitée, pas un delta. Omettre une liste entièrement pour la laisser inchangée.
Objet de la règle#
| Champ | Désignation des marchandises |
|---|---|
id | Identificateur des règles. |
name / description | Des étiquettes qui font face à l'homme. |
type | data_pattern, policy_dsl, prompt_pattern, tool_call. |
action | block, flag, log. |
severity | critical, high, medium, low. |
status | active, archived, draft. |
is_built_in | Si Maetra expédie cette règle par défaut. |
applies_to_all | Que cela s'applique à tous les agents. |
trigger_count | Combien de fois il a été égalé. |
last_triggered_at | ISO 8601 de la dernière correspondance, ou null. |
version | Incréments sur chaque édition. |
updated_at | ISO 8601 de la dernière modification. |