Retour aux mises à jour
New releaseAug 4, 2026

skill-scanner v2.0.13

Scanner de sécurité pour les compétences d'agent

Partager

Skill Scanner

License CPython 3.11–3.14 PyPI version CI Discord Cisco AI Defense AI Security Framework Ask DeepWiki

Un scanner de sécurité au mieux de ses capacités pour les Skills d'agents IA qui détecte l'injection de prompt, l'exfiltration de données et les motifs de code malveillant. Il combine une détection par motifs (YAML + YARA-X), une analyse AST et de flux de données, un LLM-as-a-judge optionnel, et une couche de décision CEL bornée sur des faits de détecteurs typés.

Important : Ce scanner fournit une détection au mieux de ses capacités, et non une couverture exhaustive ou complète. Un scan qui ne retourne aucun résultat ne garantit pas qu'un skill est exempt de toutes menaces. Voir Périmètre et limitations ci-dessous.

Prend en charge les formats OpenAI Codex Skills et Cursor Agent Skills suivant la spécification Agent Skills. Avec --lenient, scanne également les formats non standard tels que Claude Code .claude/commands/*.md et les dépôts de skills en markdown à plat.


Points forts

  • Détection multi-moteurs - Analyse statique, flux de données comportemental, analyse sémantique par LLM, et scan basé sur le cloud pour une couverture en couches, au mieux de ses capacités
  • Décisions CEL typées - Le scanner principal utilise le runtime officiel cel-go v0.32.0 pour corréler des faits bornés après la détection déterministe et avant l'analyse LLM optionnelle
  • Revue des résultats - Le méta-analyseur optionnel corrèle, priorise et peut filtrer les résultats ; la validation d'exactitude appariée reste en attente
  • Prêt pour la CI/CD - Sortie SARIF pour GitHub Code Scanning, workflow GitHub Actions réutilisable, codes de sortie pour les échecs de build
  • Hook pre-commit - Intégration au framework standard pre-commit pour scanner les skills avant chaque commit
  • Extensible - Architecture de plugins pour des analyseurs personnalisés

Rejoignez le Cisco AI Discord pour discuter, partager des retours, ou échanger avec l'équipe.


Périmètre et limitations

Skill Scanner est un outil de détection. Il identifie des motifs de risque connus et probables, mais il ne certifie pas la sécurité.

Limitations clés :

  • Aucun résultat ≠ aucun risque. Un scan qui retourne « Aucun résultat » indique qu'aucun motif de menace connu n'a été détecté. Cela ne garantit pas qu'un skill est sûr, bénin, ou exempt de vulnérabilités.
  • La couverture est intrinsèquement incomplète. Le scanner combine détection par signature, analyse sémantique par LLM, analyse de flux de données comportemental, services cloud optionnels, et packs de règles configurables. Bien que cette approche améliore la couverture, aucun outil automatisé ne peut détecter toutes les techniques, en particulier les attaques nouvelles ou zero-day.
  • Des faux positifs et faux négatifs peuvent survenir. Les modes de consensus et la méta-analyse peuvent aider à examiner les résultats, mais aucune configuration n'élimine toutes les classifications incorrectes. Ajustez la politique de scan selon votre tolérance au risque.
  • La revue humaine reste essentielle. Le scan automatisé est un composant d'une stratégie de défense en profondeur. Les déploiements à haut risque ou en production devraient associer les résultats du scanner à une revue manuelle du code et/ou à une modélisation des menaces.

Preuves actuelles de modernisation

Le benchmark final de développement core + CEL contient 5 256 paquets malveillants et 1 338 paquets bénins de MaliciousSkillBench. Comparé à origin/main, le scanner actuel a augmenté le F1 de 32,92 % à 47,73 % et le rappel de 19,88 % à 31,43 %, tout en réduisant le taux de faux positifs bénins de 3,59 % à 1,05 %. La précision est de 99,16 %. Cinq exécutions CEL-shadow ont été exactes et déterministes ; CEL a évalué 154 candidats sans proposer de suppression ni recourir à un repli.

La séparation verrouillée disjointe en source est plus faible : TP=65, FP=42, TN=503, et FN=774, pour 60,75 % de précision, 7,75 % de rappel, 13,74 % de F1, et 7,71 % de FPR. Cela améliore le F1 par rapport à origin/main (7,40 %) mais régresse le FPR (3,67 %), donc cela ne passe pas la porte de promotion. Chaque règle CEL incluse reste donc en shadow ; ce changement ne promeut aucune suppression CEL.

Les vérifications de compatibilité et supplémentaires ont trouvé des résultats CEL-OFF/CEL-SHADOW identiques sur 111 skills officiels Codex, Claude Code, et Cursor (30 paquets MEDIUM+ et 8 HIGH/CRITICAL), avec cinq exécutions stables. L'ensemble de hard-négatifs NotInject avait 0/339 correspondances actionnables. HarmfulSkillBench avait 7/200 paquets actionnables et 6/200 HIGH+ avec un échantillon mis en quarantaine, tandis qu'OpenSkillRisk avait 76/263 paquets actionnables avec deux quarantaines d'hôte. Ces deux derniers sont des diagnostics de rappel positifs uniquement et ne peuvent pas mesurer la précision ou le FPR. Les résultats ATR optionnels sont hors du périmètre de cette version. Voir Évaluation et déploiement de la détection pour la méthodologie, la provenance, les intervalles de confiance, et les limitations.


Documentation

Catégories