aeon-skill-security-scan

Par bankrbot · skills

Auditez les skills Bankr installées avant de les exécuter — analysez `SKILL.md` et les scripts associés à la recherche d'injections shell, d'exfiltration de secrets, de traversée de chemins, de payloads de prompt-override, de commandes destructives et d'obfuscations de 2026 (Unicode à largeur nulle, bidi override, pipes base64-decode, hôtes SSRF via webhook). Conçu pour s'intégrer aux Bankr Safety Scores. Silencieux lors des exécutions sans résultat ; ne remonte que les findings NOUVEAUX ou RÉSOLUS par rapport aux scans précédents. Déclencheurs : « audit this skill », « is this skill safe to install », « security scan my skills », « check skill X for injection ».

npx skills add https://github.com/bankrbot/skills --skill aeon-skill-security-scan

aeon-skill-security-scan

Les skills indiquent aux agents ce qu'il faut faire. Un skill malveillant ou bâclé peut faire de l'injection de shell, exfiltrer des secrets, contourner les instructions ou exécuter des commandes destructrices. Ce skill scanne tous les SKILL.md installés et les scripts associés et met en évidence les risques avant qu'ils ne s'exécutent.

Scope

  • <skills-dir>/*/SKILL.md — primaire.
  • <skills-dir>/*/scripts/*.sh et *.py — scripts compagnons.
  • <skills-dir>/*/references/* — documents chargés à l'exécution.

Le <skills-dir> par défaut est le répertoire de travail courant.

Patterns de menace

Catégorie À quoi ça ressemble
Injection de shell Expansion de variable sans guillemets, eval, backticks, $(...) avec données utilisateur.
Exfiltration de secrets Variables d'environnement ou contenus de fichiers envoyés par HTTP.
Traversée de répertoires Chaînes ../.., chemins absolus sortant du répertoire du skill.
Contournement d'instruction « Ignore les instructions précédentes », changements de persona, instructions dans du contenu récupéré.
Commandes destructrices Suppressions récursives depuis / ou ~, écritures sur périphérique.
Obfuscation U+200B / U+FEFF / U+202E (Trojan Source), base64-decode-into-shell, hosts SSRF (ngrok, interact.sh, webhook.site, pipedream).

Traitement

  1. Le scanner de patterns produit des correspondances {file, line, pattern, severity}.
  2. Rétrogradation de bloc de code — les correspondances à l'intérieur de blocs délimités baissent d'un niveau. Les vrais blocs run: ne sont jamais rétrogradés.
  3. Suppression de baseline — supprime les tuples (file, pattern, line) dans scan-baseline.yml.
  4. Filtre d'éditeur de confiance — les entrées dans trusted-publishers.txt ne reçoivent qu'une validation de format. Opt-in uniquement.
  5. Delta par rapport à scan-state.json — empreinte par sha256(file + line_content + pattern). Classe en NEW / RESOLVED / PERSISTENT.

Correction par découverte

Pattern Correction
eval / backticks / $(...) avec variable Citer la variable ; remplacer eval par une fonction.
curl avec secret dans l'URL Déplacer le secret dans un script de prefetch ; jamais interpoler dans le shell.
Traversée de répertoires Validation par allow-list ; rejeter les chemins absolus.
Formulation de contournement d'instruction Documentation → suppression de baseline ; payload → supprimer le skill.
Suppression récursive depuis / ou ~ Limiter au répertoire de travail du skill lui-même.
Obfuscation Supprimer sauf documentation et review.

Sortie

Verdict CLEAN / ATTENTION / DEGRADED. Section needs-attention par NEW HIGH avec correction en une ligne. Section resolved-since-last-scan. Par skill PASS / WARN / FAIL.

Écrite seulement quand NEW, RESOLVED, ou un HIGH actuel quelconque.

Règles

  • N'auto-supprime jamais une suppression de baseline.
  • N'édite jamais la bibliothèque de patterns depuis le skill.
  • Ne notifie jamais sur une semaine pure no-op.
  • Scanning en lecture seule.

Skills similaires