
Analyseur de sécurité statique pour les packages de compétences d'agents IA. Détecte les fichiers SKILL.md malveillants et les scripts intégrés avant leur exécution.
Si SkillsGuard protège votre pipeline, envisagez de soutenir la recherche continue et les nouvelles règles de détection.
Portefeuille de don ETH
0x11282eE5726B3370c8B480e321b3B2aA13686582
Scannez le code QR ou copiez l'adresse du portefeuille ci-dessus.
Scanner de sécurité statique pour les packages de compétences d'agents IA. Détecte les fichiers SKILL.md malveillants et les scripts groupés avant qu'ils ne s'exécutent.
curl -s --data-binary @SKILL.md
https://skillsguard.apiskillsguard.workers.dev/scan | jq .
### Option B — Compiler à partir des sources et lier globalement
> **Remarque :** SkillsGuard n'est actuellement pas publié sur le registre npm. Installez-le en clonant et en compilant à partir des sources.```bash
# 1. Clone, install, build, and link
git clone https://github.com/Teycir/SkillsGuard.git
cd SkillsGuard
npm install
npm run build
npm link
# 2. Scan any skill directory or file
skillsguard /path/to/skill
Voilà. SkillsGuard affiche les résultats codés par couleur dans le terminal (ou --json pour CI).
Code de sortie 0 = propre · 1 = résultats · 2 = erreur d'utilisation.
Vous voulez que Claude appelle le scanner automatiquement dans votre workflow d'agent ? Voir Flux de travail local → Chemin B pour la configuration complète du skill + MCP.
flowchart TD A([Folder, file, or Git diff target]) --> B[Load config\nskillsguard.config.json] B --> C[File discovery\nFilter JS, PY, PS1, Docker, Ruby...] C --> D{For each file} D --> E[Raw text scan\nApply 100+ rules] D --> F[decode.ts\nExtract encoded blobs] F --> G[Recursive decode\nbase64, hex, URL] G --> H[Scan decoded content] E & H --> I{Findings?} I -->|no| J([✅ Clean — exit 0]) I -->|yes| K[Deduplicate findings] K --> L[Compute Risk Score\n0 - 100] L --> M{Output mode} M -->|CLI| N[ANSI colored report] M -->|--json| O[JSON output] M -->|--sarif| P[SARIF output] M -->|MCP| Q[MCP response] N & O & P & Q --> R{Risk > max-risk?} R -->|yes| S([❌ Exit 1]) R -->|no| J
style A fill:#0d1117,stroke:#00ff88,color:#c3f5dc
style J fill:#0d1117,stroke:#00ff88,color:#00ff88
style S fill:#0d1117,stroke:#ff4444,color:#ff8888
style G fill:#0d1117,stroke:#f0a500,color:#f0c060
style K fill:#0d1117,stroke:#00ff88,color:#c3f5dc
> **Point clé :** SkillsGuard décode les charges utiles obfusquées *avant* l'analyse, donc un reverse shell en base64 ne peut pas passer inaperçu. Chaque résultat est dédupliqué — chaque règle se déclenche au maximum une fois par fichier et par ligne.
---
## Table des matières
- [Comment SkillsGuard se compare](#how-skillsguard-compares)
- [Pourquoi SkillsGuard](#why-skillsguard)
- [Fonctionnalités](#features)
- [Couverture des menaces](#threat-coverage)
- [Démarrage rapide](#quick-start)
- [Workflow local](#local-workflow)
- [Kiro CLI — Exemple complet](#kiro-cli--complete-example)
- [Exemple concret — Auto-audit des compétences installées](#real-world-example--self-auditing-installed-skills)
- [Utilisation en ligne de commande](#cli-usage)
- [Mode Diff Git](#git-diff-mode)
- [Fichier de configuration](#configuration-file)
- [Notation des risques et seuils](#risk-scoring--gating)
- [Sortie SARIF](#sarif-output)
- [Règles spécifiques aux modèles](#model-specific-rules)
- [Explorateur de règles et réglages](#rule-explorer--tuning)
- [Mode surveillance](#watch-mode)
- [Workflow de référence](#baseline-workflow)
- [Hook Pre-commit](#pre-commit-hook)
- [Serveur MCP](#mcp-server)
- [Serveur HTTP](#http-server)
- [API Cloud (Gratuite)](#cloud-api-free)
- [Démo en direct](#live-demo)
- [API Bibliothèque](#library-api)
- [Référence des règles](#rules-reference)
- [Détection d'obfuscation](#obfuscation-detection)
- [Jeux de tests](#test-fixtures)
- [Structure du projet](#project-structure)
- [Limitations](#limitations)
- [Contribuer](#contributing)
- [Licence](#license)
- [Attribution](#attribution)
- [Projets connexes](#related-projects)
- [Soutenir le développement](#support-development)
---
## Comment SkillsGuard se compare
L'espace de sécurité des compétences d'agents s'est rapidement rempli en 2026 — NVIDIA, Cisco, Snyk et Mondoo ont tous publié des scanners pour ce problème précis. Il vaut la peine de connaître le terrain avant de choisir un outil, y compris celui-ci.
### En un coup d'œil
| Outil | Support | Nécessite compte/jeton | Nécessite appel LLM pour l'analyse principale | Approche de détection | Extras notables |
|---|---|---|---|---|---|
| **SkillsGuard** | Indépendant, MIT | Non | Non | Regex statique, décodage prioritaire (dépaquetage récursif base64/hex/URL/Unicode) | Hook pre-commit + mode git-diff ; API curl gratuite |
| **[NVIDIA SkillSpector](https://github.com/NVIDIA/SkillSpector)** | NVIDIA, Apache 2.0 | Non | Non (optionnel, pour l'étape sémantique) | Statique + étape sémantique LLM optionnelle | Consultation en direct des CVE de dépendances via OSV.dev |
| **[Cisco AI Defense Skill Scanner](https://github.com/cisco-ai-defense/skill-scanner)** | Cisco | Non | Non (optionnel, pour l'étape sémantique) | Multi-moteur : statique + flux de données comportemental + LLM sémantique + cloud | Workflow GitHub Actions intégré |
| **[Snyk Agent Scan](https://github.com/snyk/agent-scan)** (anciennement mcp-scan) | Snyk, commercial | **Oui** — `SNYK_TOKEN` requis | Oui — règles déterministes + juges LLM combinés | Découverte automatique sur Claude/Cursor/Windsurf/Gemini CLI + serveurs MCP | Alimente l'analyse à l'installation de Vercel |
| **[SkillScan](https://github.com/NMitchem/SkillScan)** | Indépendant | Non | Uniquement pour le mode `predict` (optionnel) | Moteur de règles YAML + simulation comportementale LLM optionnelle + bac à sable Docker optionnel | Détection d'activation temporelle/différée via jeu de rôle LLM |
| **Mondoo Skill Check** | Mondoo, commercial | Non (niveau gratuit, non commercial) | Pas clair d'après la documentation publique | Statique, mappe au OWASP LLM Top 10 | Tableau de bord hébergé + API REST |