
SkillSpector
github.com/nvidia/skillspector- Category
- Developer Tools
- Rank
- No. 329Tools index
- Type
- APP
- Builder
- nvidia
- GitHub
- 17.3k stars
- Latest release
- v2.11.2
- Date
About
NVIDIA's security scanner for AI agent skills — detects vulnerabilities and malicious patterns.
What it does
SkillSpector inspects skill bundles before installation. It accepts repositories, URLs, archives, directories, or individual files, runs parallel static checks, and can add semantic model analysis. It then produces a risk verdict, specific findings, remediation guidance, and terminal or machine-readable reports.
Why it's ranked here
The design fits both one-off checks and automated install gates. Broad input support, SARIF output, baselines, bounded ingestion, and explicit reporting of whether semantic analysis actually ran make it practical. The alpha classification and provider-dependent model layer still call for measured adoption.
What's good
Static analysis remains usable without model credentials. Optional semantic checks add context when configured. Exact fingerprints and glob rules let teams accept known findings while keeping new issues visible. Remote and archive limits fail closed, and MCP responses distinguish requested, available, and completed model analysis.
Tradeoffs
The Python package requires Python 3.12 or newer unless you build the Docker image. Semantic coverage depends on external providers, local agent runtimes, credentials, and structured response parsing. Individual analyzers ignore files above one megabyte. Recursive multi-skill scans cannot share a baseline, and MCP support requires an optional dependency.
How to use it well
Use it before installing third-party skills and in continuous integration where SARIF, JSON, exit codes, and committed baselines can gate changes. It suits security-conscious agent users and platform teams. Start with static scans, then add semantic analysis for deeper inspection. It does not sign or publish approved skills by itself.
Technical notes+
The package metadata in pyproject.toml defines a Hatchling-built Python package, a Typer CLI entry point, Python 3.12 through 3.14 support, and an optional MCP extra. src/skillspector/graph.py builds a LangGraph pipeline that resolves input, builds shared context, fans out analyzer nodes, runs meta-analysis, finalizes an inspection ledger, and renders a report. src/skillspector/state.py merges findings by opaque identity and records analyzer status, completeness, inference usage, suppression state, and LLM failures. src/skillspector/mcp_server.py exposes scanning through stdio or streamable HTTP, disables local targets for HTTP, and only marks an installation safe when execution succeeded, no files were entirely uninspected, and risk stayed within the configured threshold. src/skillspector/python_ast.py keeps parsed trees outside checkpoint state in a bounded, per-scan process cache, while src/skillspector/cleanup.py releases that cache and temporary directories.
Observed
- License
- Apache License 2.0
- Primary language
- Python
- Runtime support
- Python 3.12, 3.13, and 3.14; package classified as operating-system independent
- Install surfaces
- uv or pip from the Git repository, source installation, and a locally built Docker image
- Interfaces
- Command-line interface, importable LangGraph workflow, optional MCP server, and Pi extension
- Report formats
- Terminal, JSON, Markdown, and SARIF
- Testing structure
- Make targets cover unit, integration, live provider, coverage, lint, formatting, and Docker smoke tests
Read from README.md, Makefile, package.json, pyproject.toml, src/skillspector/cli.py, src/skillspector/graph.py, src/skillspector/state.py, src/skillspector/models.py, src/skillspector/cleanup.py, src/skillspector/__init__.py, src/skillspector/constants.py, src/skillspector/llm_utils.py, src/skillspector/mcp_server.py, src/skillspector/model_info.py, src/skillspector/python_ast.py.
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.