Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
skill-scanner — Scanner di sicurezza per le abilità degli agenti | Kitploit
Strumenti/GitHubGitHub/cisco-ai-defense/skill-scanner
Analisi StaticaScanner di VulnerabilitàAnalisi Dinamica (Sandboxing)Analisi del CodiceAnalisi MalwareDevSecOpsRilevamento SegretiThreat IntelligenceSicurezza della Supply ChainMachine LearningApprendimento e FormazioneSicurezza dell'IA
2.4k30417 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHubcisco-ai-defense/skill-scanner

skill-scanner

Scanner di sicurezza per le abilità degli agenti

Vedi RepositorySito web

Skill Scanner

License Python 3.10+ PyPI version CI Discord Cisco AI Defense AI Security Framework Ask DeepWiki

Uno scanner di sicurezza che opera al meglio delle possibilità per le Skill di Agenti AI, in grado di rilevare prompt injection, data exfiltration e pattern di codice dannoso. Combina rilevamento basato su pattern (YAML + YARA), LLM-as-a-judge e analisi comportamentale del flusso di dati per massimizzare la copertura di rilevamento delle minacce probabili minimizzando i falsi positivi.

Importante: Questo scanner fornisce un rilevamento al meglio delle possibilità, non una copertura completa o esaustiva. Una scansione che non restituisce alcun riscontro non garantisce che una skill sia priva di tutte le minacce. Vedi Ambito e Limitazioni di seguito.

Supporta i formati OpenAI Codex Skills e Cursor Agent Skills seguendo la specifica Agent Skills. Con --lenient, scansiona anche formati non standard come .claude/commands/*.md di Claude Code e repository di skill in markdown flat.


Punti salienti

  • Rilevamento Multi-Motore - Analisi statica, flusso di dati comportamentale, analisi semantica LLM e scansione cloud per una copertura a strati al meglio delle possibilità
  • Filtraggio dei Falsi Positivi - Il meta-analizzatore riduce significativamente il rumore preservando la capacità di rilevamento
  • Pronto per CI/CD - Output SARIF per GitHub Code Scanning, flusso di lavoro GitHub Actions riutilizzabile, codici di uscita per fallimenti di build
  • Hook Pre-commit - Integrazione con il framework standard pre-commit per scansionare le skill prima di ogni commit
  • Estendibile - Architettura a plugin per analizzatori personalizzati

Unisciti al Discord Cisco AI per discutere, condividere feedback o contattare il team.


Ambito e Limitazioni

Skill Scanner è uno strumento di rilevamento. Identifica pattern di rischio noti e probabili, ma non certifica la sicurezza.

Limitazioni principali:

  • Nessun riscontro ≠ nessun rischio. Una scansione che restituisce "Nessun riscontro" indica che non sono stati rilevati pattern di minaccia noti. Non garantisce che una skill sia sicura, benigna o priva di vulnerabilità.
  • La copertura è intrinsecamente incompleta. Lo scanner combina rilevamento basato su firme, analisi semantica LLM, analisi comportamentale del flusso di dati, servizi cloud opzionali e pacchetti di regole configurabili. Sebbene questo approccio migliori la copertura, nessuno strumento automatizzato può rilevare ogni tecnica, specialmente attacchi nuovi o zero-day.
  • Possono verificarsi falsi positivi e falsi negativi. Le modalità di consenso e la meta-analisi riducono il rumore, ma nessuna configurazione elimina tutte le classificazioni errate. Regola la politica di scansione in base alla tua tolleranza al rischio.
  • La revisione umana rimane essenziale. La scansione automatizzata è una componente di una strategia di difesa in profondità. Le implementazioni ad alto rischio o in produzione dovrebbero abbinare i risultati dello scanner a una revisione manuale del codice e/o a un modello di minaccia.

Documentazione


Installazione

Prerequisiti: Python 3.10+ e uv (consigliato) o pip

root@kitploit:~
# Using uv (recommended)
uv pip install cisco-ai-skill-scanner

# Using pip
pip install cisco-ai-skill-scanner
Estensioni per Provider Cloud
root@kitploit:~
# AWS Bedrock support
pip install cisco-ai-skill-scanner[bedrock]

# Google AI Studio / Gemini support
pip install cisco-ai-skill-scanner[google]

# Google Vertex AI support
pip install cisco-ai-skill-scanner[vertex]

# Azure OpenAI support
pip install cisco-ai-skill-scanner[azure]

# All cloud providers
pip install cisco-ai-skill-scanner[all]

Avvio Rapido

Configurazione dell'Ambiente (Opzionale)

root@kitploit:~
# For LLM analyzer and Meta-analyzer
export SKILL_SCANNER_LLM_API_KEY="your_api_key"
export SKILL_SCANNER_LLM_MODEL="claude-3-5-sonnet-20241022"

# For VirusTotal binary scanning
export VIRUSTOTAL_API_KEY="your_virustotal_api_key"

# For Cisco AI Defense
export AI_DEFENSE_API_KEY="your_aidefense_api_key"

Procedura Guidata Interattiva

Non sei sicuro di quali flag usare? Esegui skill-scanner senza argomenti per avviare la procedura guidata interattiva:

root@kitploit:~
skill-scanner

La procedura guidata ti accompagna nella selezione di un target di scansione, analizzatori, politica e formato di output, quindi mostra il comando assemblato prima di eseguirlo. Ottima per imparare la CLI.

Utilizzo CLI

root@kitploit:~
# Scan a single skill (core analyzers: static + bytecode + pipeline)
skill-scanner scan /path/to/skill

# Scan with behavioral analyzer (dataflow analysis)
skill-scanner scan /path/to/skill --use-behavioral

# Scan with all engines
skill-scanner scan /path/to/skill --use-behavioral --use-llm --use-aidefense

# Scan with meta-analyzer for false positive filtering
skill-scanner scan /path/to/skill --use-llm --enable-meta

# Scan with trigger analyzer for vague description checks
skill-scanner scan /path/to/skill --use-trigger

# Run LLM analyzer multiple times and keep majority-agreed findings
skill-scanner scan /path/to/skill --use-llm --llm-consensus-runs 3

# Scan multiple skills recursively
skill-scanner scan-all /path/to/skills --recursive --use-behavioral

# Scan multiple skills with cross-skill overlap detection
skill-scanner scan-all /path/to/skills --recursive --check-overlap

# Scan a GitHub repository (owner/repo shorthand or full URL)
skill-scanner scan-repo owner/repo
skill-scanner scan-repo https://github.com/owner/repo --use-llm

# Lenient mode: tolerate malformed skills instead of failing
skill-scanner scan /path/to/skill --lenient
skill-scanner scan-all /path/to/skills --recursive --lenient

# Lenient mode with non-standard skill formats (no SKILL.md required)
skill-scanner scan .claude/commands/deploy --lenient
skill-scanner scan-all .claude/commands --recursive --lenient

# Use a custom metadata filename instead of SKILL.md
skill-scanner scan /path/to/skill --skill-file README.md

# CI/CD: Fail build if threats found
skill-scanner scan-all ./skills --fail-on-severity high --format sarif --output results.sarif

# Generate interactive HTML report with attack correlation groups
skill-scanner scan /path/to/skill --use-llm --enable-meta --format html --output report.html

# Use custom YARA rules
skill-scanner scan /path/to/skill --custom-rules /path/to/my-rules/

# Use custom taxonomy + threat mapping profiles (JSON/YAML)
skill-scanner scan /path/to/skill --taxonomy /path/to/taxonomy.json --threat-mapping /path/to/threat_mapping.json

# VirusTotal hash scan with optional unknown-file uploads
skill-scanner scan /path/to/skill --use-virustotal --vt-upload-files

# Use a scan policy preset (strict, balanced, permissive)
skill-scanner scan /path/to/skill --policy strict

# Use a custom org policy file
skill-scanner scan /path/to/skill --policy my_org_policy.yaml

# Generate a policy file to customise
skill-scanner generate-policy -o my_org_policy.yaml

# Interactive policy configurator (TUI)
skill-scanner configure-policy

Nota sul provider LLM: --llm-provider attualmente accetta anthropic o openai. Per i backend Bedrock, Vertex, Azure, Gemini e altri LiteLLM, imposta le stringhe del modello specifiche del provider e le variabili d'ambiente (vedi documentazione Analizzatore LLM).

SDK Python

root@kitploit:~
from skill_scanner import SkillScanner
from skill_scanner.core.analyzers import BehavioralAnalyzer

# Create scanner with analyzers
scanner = SkillScanner(analyzers=[
    BehavioralAnalyzer(),
])

# Scan a skill
result = scanner.scan_skill("/path/to/skill")

print(f"Findings: {len(result.findings)}")
print(f"Max severity: {result.max_severity}")

# Note: is_safe indicates no HIGH/CRITICAL findings were detected.
# It does not guarantee the skill is free of all risk.
if not result.is_safe:
    print("Issues detected -- review findings before deployment")

Analizzatori di Sicurezza


Opzioni CLI


Esempio di Output

root@kitploit:~
$ skill-scanner scan ./my-skill --use-behavioral

============================================================
Skill: my-skill
============================================================
Status: [OK] No findings
Max Severity: NONE
Total Findings: 0
Scan Duration: 0.15s

Nota: "Nessun riscontro" significa che lo scanner non ha rilevato alcun pattern di minaccia noto -- non è una garanzia che la skill sia priva di tutti i rischi. Vedi Ambito e Limitazioni.


GitHub Actions

Scansiona le skill automaticamente ad ogni push o PR utilizzando il flusso di lavoro riutilizzabile:

root@kitploit:~
# .github/workflows/scan-skills.yml
name: Scan Skills
on:
  pull_request:
    paths: [".cursor/skills/**"]
jobs:
  scan:
    uses: cisco-ai-defense/skill-scanner/.github/workflows/scan-skills.yml@main
    with:
      skill_path: .cursor/skills
    permissions:
      security-events: write
      contents: read

I risultati appaiono come annotazioni inline nelle PR tramite GitHub Code Scanning. Vedi la guida completa per l'integrazione LLM, la configurazione dei segreti e la configurazione della protezione dei rami.


Hook Pre-commit

Scansiona le skill prima di ogni commit utilizzando il framework pre-commit:

root@kitploit:~
# .pre-commit-config.yaml
repos:
  - repo: https://github.com/cisco-ai-defense/skill-scanner
    rev: v1.0.0  # use the latest release tag
    hooks:
      - id: skill-scanner

Oppure installa direttamente l'hook integrato:

root@kitploit:~
skill-scanner-pre-commit install

L'hook rileva automaticamente quali directory di skill hanno modifiche in stage e scansiona solo quelle, mantenendo i tempi di commit veloci. Usa --all per scansionare tutto.


Contribuire

Accogliamo con piacere i contributi! Consulta CONTRIBUTING.md per le linee guida.

Licenza

Apache 2.0 - Vedi LICENSE per i dettagli.

Copyright 2026 Cisco Systems, Inc. e affiliate


GitHub • Discord • PyPI

Scarica lo strumento
GuidaDescrizione
Guida RapidaInizia in 5 minuti
ArchitetturaProgettazione del sistema e componenti
Tassonomia delle MinacceTassonomia completa delle minacce AITech con esempi
Analizzatore LLMConfigurazione e utilizzo LLM
Meta-AnalizzatoreFiltraggio dei falsi positivi e prioritizzazione
Analizzatore ComportamentaleDettagli dell'analisi del flusso di dati
Politica di ScansionePolitiche personalizzate, preimpostazioni e guida alla messa a punto
Riferimento Rapido alla PoliticaRiferimento compatto per sezioni e parametri della politica
Creazione di RegoleCome aggiungere regole di firma, YARA e Python
GitHub ActionsFlusso di lavoro riutilizzabile per l'integrazione CI/CD
Riferimento APIDocumentazione API REST
Guida allo SviluppoConfigurazione per contribuire e sviluppare
AnalizzatoreMetodo di RilevamentoAmbitoRequisiti
StaticoPattern YAML + YARATutti i fileNessuno
BytecodeVerifica dell'integrità .pycBytecode PythonNessuno
PipelineAnalisi della contaminazione dei comandiPipeline shellNessuno
ComportamentaleAnalisi del flusso di dati ASTFile PythonNessuno
LLMAnalisi semanticaSKILL.md + scriptChiave API
MetaFiltraggio dei falsi positiviTutti i risultatiChiave API
VirusTotalMalware basato su hashFile binariChiave API
AI DefenseAI basata su cloudContenuto testualeChiave API
OpzioneDescrizione
--policyPolitica di scansione: nome preimpostato (strict, balanced, permissive) o percorso verso YAML personalizzato
--use-behavioralAbilita analizzatore comportamentale (analisi del flusso di dati)
--use-llmAbilita analizzatore LLM (richiede chiave API)
--llm-providerProvider LLM per il routing CLI: anthropic o openai
--llm-consensus-runs NEsegui l'analisi LLM N volte e mantieni i risultati concordati a maggioranza
--llm-max-tokens NNumero massimo di token di output per le risposte LLM (default: 8192)
--use-virustotalAbilita scanner binari VirusTotal
--vt-api-key KEYFornisci direttamente la chiave API VirusTotal (opzionale)
--vt-upload-filesCarica i binari sconosciuti su VirusTotal (opzionale)
--use-aidefenseAbilita analizzatore Cisco AI Defense
--aidefense-api-url URLSostituisci l'URL dell'API AI Defense (opzionale)
--use-triggerAbilita analizzatore di specificità dei trigger
--enable-metaAbilita meta-analizzatore per il filtraggio dei falsi positivi
--verboseIncludi impronte digitali della politica per risultato, metadati di co-occorrenza e mantieni i falsi positivi del meta-analizzatore
--formatOutput: summary, json, markdown, table, sarif, html. Il formato html produce un report interattivo autonomo con gruppi di correlazione collassabili, snippet di codice espandibili e diagrammi del flusso di contaminazione della pipeline.
--detailedIncludi risultati dettagliati nell'output Markdown
--compactOutput JSON compatto
--output PATHPercorso del file di output predefinito (sostituito da --output-<fmt>)
--fail-on-findingsEsci con errore se vengono trovati HIGH/CRITICAL (abbreviazione per --fail-on-severity high)
--fail-on-severity LEVELEsci con errore se esistono risultati a livello LEVEL o superiore (critical, high, medium, low, info)
--custom-rules PATHUtilizza regole YARA personalizzate da una directory
--taxonomy PATHCarica un profilo di tassonomia personalizzato (JSON/YAML) per questa esecuzione
--threat-mapping PATHCarica un profilo di mappatura delle minacce dello scanner personalizzato (JSON) per questa esecuzione
--lenientTollera skill malformate (correggi campi errati, imposta valori predefiniti) invece di fallire. Quando SKILL.md è assente, torna a scansionare i file .md nella directory.
--skill-file FILENAMENome file di metadati personalizzato da utilizzare al posto di SKILL.md (es. README.md)
--check-overlap(scan-all) Abilita controlli di sovrapposizione delle descrizioni tra skill
ComandoDescrizione
(nessun comando)Avvia la procedura guidata interattiva (se eseguito in un terminale)
interactiveAvvia la procedura guidata interattiva (esplicito)
scanScansiona una singola directory di skill
scan-allScansiona più skill (con --recursive, --check-overlap)
generate-policyGenera un YAML di politica di scansione per la personalizzazione
configure-policyTUI interattivo per creare/modificare una politica di scansione personalizzata (supporta --input)
list-analyzersMostra gli analizzatori disponibili
validate-rulesValida le firme delle regole (supporta --rules-file)