Tip
Minimal Setup
pip install cisco-ai-skill-scanner
skill-scanner scan ./my-skillThat's it for basic static analysis. The sections below cover optional providers, LLM keys, and advanced toggles.
uv pip install cisco-ai-skill-scanner
# or
pip install cisco-ai-skill-scannerpip install cisco-ai-skill-scanner[bedrock]
pip install cisco-ai-skill-scanner[vertex]
pip install cisco-ai-skill-scanner[azure]
pip install cisco-ai-skill-scanner[all]git clone https://github.com/cisco-ai-defense/skill-scanner
cd skill-scanner
uv sync --all-extrasRuntime precedence is:
- CLI flags
- Environment variables
- Built-in defaults
You only need to set these if you're using the corresponding features. Click a section to expand it. For the full list with examples and defaults, see Configuration Reference.
Core LLM
SKILL_SCANNER_LLM_API_KEYSKILL_SCANNER_LLM_PROVIDER— set toopenaifor OpenAI-compatible custom endpoints when the model name is not enough to infer routingSKILL_SCANNER_LLM_MODELSKILL_SCANNER_LLM_BASE_URLSKILL_SCANNER_LLM_API_VERSIONSKILL_SCANNER_LLM_USER— optional raw Chat Completionsuserfield for OpenAI-compatible routesSKILL_SCANNER_LLM_FORCE_JSON_OBJECT— start in plain JSON mode for proxies that rejectjson_schema
Meta analyzer overrides (optional)
SKILL_SCANNER_META_LLM_API_KEYSKILL_SCANNER_META_LLM_MODELSKILL_SCANNER_META_LLM_BASE_URLSKILL_SCANNER_META_LLM_API_VERSION
External analyzers
VIRUSTOTAL_API_KEYVIRUSTOTAL_UPLOAD_FILES— set totrueto upload unknown binaries to VirusTotalAI_DEFENSE_API_KEYAI_DEFENSE_API_URL
Cloud provider settings
AWS_REGIONAWS_PROFILEAWS_SESSION_TOKENGOOGLE_APPLICATION_CREDENTIALSGEMINI_API_KEY— auto-set fromSKILL_SCANNER_LLM_API_KEYwhen using Gemini via LiteLLM
Custom taxonomy and threat mapping
SKILL_SCANNER_TAXONOMY_PATH— path to a custom Cisco AI taxonomy YAML file (overridden by--taxonomy)SKILL_SCANNER_THREAT_MAPPING_PATH— path to a custom threat mapping YAML file (overridden by--threat-mapping)
API server
SKILL_SCANNER_ALLOWED_ROOTS— colon-delimited path allowlist for server-side path access
Analyzer toggles
These environment variables override the default enabled/disabled state of analyzers when using the programmatic Config object. The CLI and API server use their own flags (--use-llm, --use-behavioral, etc.) and do not read these variables.
ENABLE_STATIC_ANALYZER— set tofalseto disable the static analyzerENABLE_LLM_ANALYZER— set totrueto enable the LLM analyzerENABLE_BEHAVIORAL_ANALYZER— set totrueto enable the behavioral analyzerENABLE_AIDEFENSE— set totrueto enable the AI Defense analyzer
skill-scanner --help
skill-scanner list-analyzers