
Scanner di sicurezza statico per pacchetti di abilità di agenti AI. Rileva file SKILL.md malevoli e script raggruppati prima che vengano eseguiti.
Se SkillsGuard protegge la tua pipeline, considera di supportare la ricerca continua e nuove regole di rilevamento.
Portafoglio donazioni ETH
0x11282eE5726B3370c8B480e321b3B2aA13686582
Scannerizza il codice QR o copia l'indirizzo del portafoglio sopra.
Scanner di sicurezza statico per pacchetti di skill di agenti IA. Rileva file SKILL.md dannosi e script raggruppati prima che vengano eseguiti.
curl -s --data-binary @SKILL.md
https://skillsguard.apiskillsguard.workers.dev/scan | jq .
### Opzione B — Compila dal sorgente e collega globalmente
> **Nota:** SkillsGuard non è attualmente pubblicato sul registro npm. Installa clonando e compilando dal sorgente.```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
Ecco fatto. SkillsGuard stampa i risultati con codifica a colori sul terminale (o --json per CI).
Codice di uscita 0 = pulito · 1 = risultati · 2 = errore di utilizzo.
Vuoi che Claude chiami lo scanner automaticamente all'interno del tuo flusso di lavoro agente? Vedi Local Workflow → Path B per la configurazione completa dello 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
> **Intuizione chiave:** SkillsGuard decodifica i payload offuscati *prima* della scansione, quindi una reverse shell incapsulata in base64 non può passare inosservata. Ogni risultato è deduplicato: ogni regola scatta al massimo una volta per file per riga.
---
## Indice
- [Come si confronta SkillsGuard](#come-si-confronta-skillsguard)
- [Perché SkillsGuard](#perché-skillsguard)
- [Funzionalità](#funzionalità)
- [Copertura delle minacce](#copertura-delle-minacce)
- [Avvio rapido](#avvio-rapido)
- [Flusso di lavoro locale](#flusso-di-lavoro-locale)
- [Kiro CLI — Esempio completo](#kiro-cli--esempio-completo)
- [Esempio reale — Auto-audit delle skill installate](#esempio-reale--auto-audit-delle-skill-installate)
- [Utilizzo CLI](#utilizzo-cli)
- [Modalità Git Diff](#modalità-git-diff)
- [File di configurazione](#file-di-configurazione)
- [Punteggio di rischio e soglie](#punteggio-di-rischio-e-soglie)
- [Output SARIF](#output-sarif)
- [Regole specifiche per modello](#regole-specifiche-per-modello)
- [Esploratore e ottimizzazione delle regole](#esploratore-e-ottimizzazione-delle-regole)
- [Modalità Watch](#modalità-watch)
- [Flusso di lavoro baseline](#flusso-di-lavoro-baseline)
- [Hook Pre-commit](#hook-pre-commit)
- [Server MCP](#server-mcp)
- [Server HTTP](#server-http)
- [API Cloud (gratuita)](#api-cloud-gratuita)
- [Demo dal vivo](#demo-dal-vivo)
- [API Libreria](#api-libreria)
- [Riferimento regole](#riferimento-regole)
- [Rilevamento offuscamento](#rilevamento-offuscamento)
- [Fixture di test](#fixture-di-test)
- [Struttura del progetto](#struttura-del-progetto)
- [Limitazioni](#limitazioni)
- [Contribuire](#contribuire)
- [Licenza](#licenza)
- [Attribuzione](#attribuzione)
- [Progetti correlati](#progetti-correlati)
- [Supporto allo sviluppo](#supporto-allo-sviluppo)
---
## Come si confronta SkillsGuard
Lo spazio della sicurezza delle skill per agenti si è riempito rapidamente nel 2026 — NVIDIA, Cisco, Snyk e Mondoo hanno tutti rilasciato scanner per questo esatto problema. Vale la pena conoscere il panorama prima di scegliere uno strumento, incluso questo.
### A colpo d'occhio
| Strumento | Sostenitore | Richiede account/token | Richiede chiamata LLM per scansione principale | Approccio di rilevamento | Elemento distintivo |
|---|---|---|---|---|---|
| **SkillsGuard** | Indipendente, MIT | No | No | Regex statici, decodifica prima (base64/hex/URL/Unicode ricorsivo) | Hook pre-commit + modalità git-diff; API curl gratuita |
| **[NVIDIA SkillSpector](https://github.com/NVIDIA/SkillSpector)** | NVIDIA, Apache 2.0 | No | No (opzionale, per fase semantica) | Statico + passaggio semantico LLM opzionale | Ricerca live CVE su OSV.dev per dipendenze |
| **[Cisco AI Defense Skill Scanner](https://github.com/cisco-ai-defense/skill-scanner)** | Cisco | No | No (opzionale, per fase semantica) | Multi-motore: statico + dataflow comportamentale + semantico LLM + cloud | Flusso di lavoro GitHub Actions integrato |
| **[Snyk Agent Scan](https://github.com/snyk/agent-scan)** (ex mcp-scan) | Snyk, commerciale | **Sì** — `SNYK_TOKEN` richiesto | Sì — regole deterministiche + giudici LLM combinati | Auto-scoperta su Claude/Cursor/Windsurf/Gemini CLI + server MCP | Alimenta la scansione delle skill all'installazione di Vercel |
| **[SkillScan](https://github.com/NMitchem/SkillScan)** | Indipendente | No | Solo per modalità `predict` (opzionale) | Motore di regole YAML + simulazione comportamentale LLM opzionale + sandbox Docker opzionale | Rilevamento attivazione ritardata/temporale via role-play LLM |
| **Mondoo Skill Check** | Mondoo, commerciale | No (livello gratuito, non commerciale) | Non chiaro dalla documentazione pubblica | Statico, mappa su OWASP LLM Top 10 | Dashboard ospitata + API REST |