NVIDIA SkillSpector
Apache-2.0 security scanner from NVIDIA for AI agent skills, with static pattern checks, optional LLM semantic analysis, MCP least-privilege and tool poisoning analyzers, OSV.dev vulnerability lookups, risk scoring, and terminal, JSON, Markdown, and SARIF reports.
Open the source and read safety notes before installing.
Safety notes
- SkillSpector is a scanner, not a sandbox. Scanning a Git URL clones code, scanning a URL downloads content, and scanning a zip extracts it; review untrusted inputs in a disposable workspace or container.
- Use `--no-llm` when skill contents should not be sent to an external model provider for semantic analysis.
- LLM-based findings are useful triage signals but should not be treated as formal proof that a skill is safe or malicious.
- SARIF, JSON, Markdown, and terminal reports can include file paths, snippets, tool names, dependency names, vulnerability IDs, and recommendations; handle reports as security-sensitive artifacts.
- OSV.dev live lookups send dependency package names and versions to the public OSV API, with fallback behavior documented for offline or failed requests.
- The README classifies the project as useful before installing skills, but operators should still review scripts, permissions, MCP tools, network access, and installer commands manually.
Privacy notes
- SkillSpector can read skill manifests, source files, scripts, dependencies, local paths, raw URLs, Git clone contents, zip contents, and generated report outputs.
- Optional LLM analysis may send skill content, code excerpts, metadata, and findings to the configured model provider or OpenAI-compatible endpoint.
- LangGraph/LangChain-related runtime configuration and any enabled tracing can record scan metadata depending on the local environment variables.
- Do not scan private skills, customer code, secrets, proprietary prompts, credentials, or regulated data with LLM analysis enabled unless that data flow is approved.
Prerequisites
- Python 3.12 or newer and a virtual environment, or Docker if building the included container image.
- Git when scanning remote repositories or installing from the source repository.
- A local skill directory, single `SKILL.md`, zip archive, raw file URL, or Git repository URL to scan.
- Provider credentials only if enabling optional LLM semantic analysis with OpenAI, Anthropic, NVIDIA build, or an OpenAI-compatible local endpoint.
- A policy for handling scan reports, SARIF uploads, temporary clones, downloaded files, and skill source content.
Schema details
- Install type
- cli
- Troubleshooting
- No
- Scope
- Source repo
- Estimated setup
- 20 minutes
- Difficulty
- intermediate
- Pricing
- free
- Disclosure
- editorial
- Application category
- DeveloperApplication
- Operating system
- Cross-platform
Full copyable content
git clone https://github.com/NVIDIA/SkillSpector.git
cd SkillSpector
uv venv .venv
source .venv/bin/activate
make install
skillspector scan ./my-skill/ --no-llmAbout this resource
Overview
NVIDIA SkillSpector is an open-source security scanner for AI agent skills. It is designed to answer a practical question before installing a skill: does this bundle contain risky instructions, scripts, dependencies, permissions, or MCP metadata that deserve review?
Use it as a pre-install or CI triage tool for Claude Code, Codex CLI, Gemini CLI, Cursor, and other Agent Skills-style ecosystems. It accepts Git repositories, URLs, zip files, directories, and single files, then produces risk-scored terminal, JSON, Markdown, or SARIF reports.
Install
The README documents source-based installation in an activated virtual environment:
git clone https://github.com/NVIDIA/SkillSpector.git
cd SkillSpector
uv venv .venv
source .venv/bin/activate
make install
Run a static-only scan without sending content to an LLM provider:
skillspector scan ./my-skill/ --no-llm
Generate machine-readable output:
skillspector scan ./my-skill/ --no-llm --format json --output report.json
skillspector scan ./my-skill/ --no-llm --format sarif --output report.sarif
The README also documents Docker builds and optional LLM analysis through OpenAI, Anthropic, NVIDIA build, or OpenAI-compatible local endpoints.
Capabilities
| Area | SkillSpector Coverage |
|---|---|
| Inputs | Git repositories, raw file URLs, local zip files, single Markdown files, and local directories |
| Static analysis | Prompt injection, data exfiltration, privilege escalation, supply-chain, excessive agency, output handling, memory poisoning, tool misuse, rogue-agent, trigger abuse, YARA, AST, and taint checks |
| MCP security | Dedicated MCP least-privilege and MCP tool-poisoning analyzers |
| LLM analysis | Optional semantic review for developer intent, security discovery, quality policy, and description-behavior mismatch |
| Dependency risk | OSV.dev live vulnerability lookups with documented fallback behavior |
| Reporting | Terminal, JSON, Markdown, and SARIF output with risk scoring and severity labels |
Use Cases
- Scan a third-party Agent Skill before installing it into Claude Code, Codex, Gemini CLI, Cursor, or a similar agent runtime.
- Add a static-only
--no-llmcheck to a skill registry review workflow. - Generate SARIF for CI, code scanning, or security-review artifacts.
- Review MCP-enabled skills for underdeclared capabilities, wildcard permissions, missing permissions, overdeclared permissions, hidden tool instructions, Unicode deception, parameter injection, and description-behavior mismatches.
- Triage suspected malicious skills that ask for broad shell, file, network, environment, memory, or MCP tool access.
Source Review
Verified on 2026-06-18:
- The upstream README describes SkillSpector as a security scanner for AI agent skills used by Claude Code, Codex CLI, Gemini CLI, and similar tools.
- The README states that SkillSpector scans Git repos, URLs, zip files, directories, and single files.
- The README lists 64 vulnerability patterns across 16 categories, including prompt injection, data exfiltration, privilege escalation, supply-chain risk, excessive agency, output handling, memory poisoning, tool misuse, rogue agent, trigger abuse, YARA signatures, MCP least privilege, and MCP tool poisoning.
- The README documents fast static analysis plus optional LLM semantic evaluation.
- The README documents terminal, JSON, Markdown, and SARIF output, with risk scoring and recommendations.
pyproject.tomldeclares theskillspectorCLI, Python 3.12+ support, Apache-2.0 licensing, LangGraph, OpenAI, Anthropic, NVIDIA, YARA, and security-scanner dependencies.src/skillspector/cli.pyexposesskillspector scan,--no-llm,--format,--output, and--yara-rules-diroptions and exits nonzero for high-risk scan results.src/skillspector/input_handler.pyresolves Git URLs, raw file URLs, local zip files, single Markdown files, and directories into a local scan path.docs/B.3.1-mcp-least-privilege.mddocuments implemented MCP least-privilege checks for underdeclared, wildcard, missing, and overdeclared permissions.docs/B.3.2-mcp-tool-poisoning.mddocuments implemented tool-poisoning checks for hidden instructions, Unicode deception, parameter injection, and description-behavior mismatch.docs/SC4-osv-live-vulnerability-lookups.mddocuments OSV.dev batch lookups, caching, fallback behavior, severity mapping, and validation tests.- GitHub metadata reported the repository under
NVIDIA/SkillSpector, Apache 2.0 licensing, Python as the primary language, active updates in June 2026, and no latest GitHub release at the time of review. - PyPI did not resolve a public
skillspectorpackage at review time, so this entry uses the source install path from the README instead of a package URL.
Safety and Privacy
SkillSpector helps reduce skill-install risk, but it does not make untrusted skills safe to execute. Use it before installation, inspect the flagged files manually, and prefer disposable workspaces or containers when scanning unknown repositories, URLs, or zip archives.
Static-only scans avoid model-provider disclosure. If LLM analysis is enabled, skill content and findings can leave the local machine through the configured provider or endpoint. Treat reports as sensitive because they may include paths, source snippets, dependency names, vulnerability IDs, and details about private agent workflows.
Duplicate Check
Checked current content/tools/, content/skills/, content/mcp/,
content/agents/, README entries, open pull requests, and repository-wide
content for SkillSpector, NVIDIA SkillSpector, NVIDIA/SkillSpector,
skillspector, agent skill scanner, malicious skill detection, MCP least
privilege scanner, and MCP tool poisoning scanner. No dedicated SkillSpector
entry, exact source URL duplicate, target file, or open duplicate PR was found.
Disclosure
Editorial listing. No paid placement or affiliate link is used. NVIDIA SkillSpector is Apache-2.0 open-source software; model providers, OSV.dev, LangGraph/LangChain tracing, Docker images, Git hosting, CI systems, SARIF viewers, and scanned skill sources may have separate terms, billing, retention, privacy controls, and operational requirements.
Source citations
Add this badge to your README
How it compares
NVIDIA SkillSpector side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.
| Field | Apache-2.0 security scanner from NVIDIA for AI agent skills, with static pattern checks, optional LLM semantic analysis, MCP least-privilege and tool poisoning analyzers, OSV.dev vulnerability lookups, risk scoring, and terminal, JSON, Markdown, and SARIF reports. Open dossier | Security scanner from Snyk for discovering local AI agent components, including MCP servers and Agent Skills, and checking them for prompt injection, tool poisoning, tool shadowing, toxic flows, malware payloads, credential handling, and hardcoded secrets. Open dossier | MIT-licensed Go CLI for syncing AI agent skills, agents, rules, commands, prompts, and other file-based resources across Codex, Claude Code, OpenClaw, Cursor, Windsurf, Gemini-style targets, and dozens of other AI CLI tools. Open dossier | MIT-licensed CDP browser-control harness from Browser Use that lets Claude Code, Codex, and other coding agents connect to a real or cloud Chrome browser, use screenshots and coordinate clicks, edit task-specific helpers, and optionally learn reusable domain skills for web automation workflows. Open dossier |
|---|---|---|---|---|
| Trust | ||||
| Install risk | Review first | Review first | Review first | Review first |
| Notes | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ |
| Brand | — | — | ||
| Category | tools | tools | tools | tools |
| Source | source-backed | source-backed | source-backed | source-backed |
| Author | NVIDIA | Snyk | runkids | Browser Use |
| Added | 2026-06-18 | 2026-06-18 | 2026-06-18 | 2026-06-18 |
| Platforms | CLI | CLI | CursorCodexCLI | CodexCLI |
| Source repo | — | — | — | — |
| Safety notes | ✓SkillSpector is a scanner, not a sandbox. Scanning a Git URL clones code, scanning a URL downloads content, and scanning a zip extracts it; review untrusted inputs in a disposable workspace or container. Use `--no-llm` when skill contents should not be sent to an external model provider for semantic analysis. LLM-based findings are useful triage signals but should not be treated as formal proof that a skill is safe or malicious. SARIF, JSON, Markdown, and terminal reports can include file paths, snippets, tool names, dependency names, vulnerability IDs, and recommendations; handle reports as security-sensitive artifacts. OSV.dev live lookups send dependency package names and versions to the public OSV API, with fallback behavior documented for offline or failed requests. The README classifies the project as useful before installing skills, but operators should still review scripts, permissions, MCP tools, network access, and installer commands manually. | ✓Scanning MCP configuration files can execute the commands declared for stdio MCP servers so Agent Scan can retrieve tool descriptions. Interactive scans ask for consent before starting each stdio MCP server; review the command and arguments before approving. Use `--dangerously-run-mcp-servers` only in trusted environments after verifying every MCP server command. CLI output is marked experimental upstream, so avoid building brittle production parsers around issue codes or output fields without Snyk guidance. Sandbox untrusted third-party MCP configs, skills, plugins, or agent workspaces before scanning. | ✓Skillshare writes into multiple agent skill directories. A bad sync can propagate unsafe, stale, or target-incompatible instructions across every configured AI CLI. Run `skillshare sync --dry-run` before the first sync, after target changes, and before `--force`, especially when local skills already exist in target directories. The README documents shell and PowerShell installers that download and execute release artifacts from GitHub. Inspect installer scripts or use a pinned release/Homebrew path when supply-chain control matters. The Unix installer may use `sudo` when installing to `/usr/local/bin`; review `INSTALL_DIR` and PATH behavior before running in managed environments. The audit engine is a useful gate for prompt injection, hidden Unicode, credential access, data exfiltration, destructive commands, hardcoded secrets, and tamper checks, but it is pattern-based and does not prove a skill is safe. Avoid `--force` and broad include patterns until target filters, `.skillignore`, copy/symlink behavior, and backups have been reviewed. | ✓Browser Harness can connect agents to a real logged-in Chrome profile. Remote debugging may expose active sessions, extensions, bookmarks, history, page content, downloads, uploads, and account actions to the agent. The documented Way 1 setup uses the user's everyday Chrome profile through `chrome://inspect/#remote-debugging`; require explicit user consent before attaching to sensitive accounts. The documented Way 2 setup launches Chrome with a non-default `--user-data-dir` and remote debugging port; keep that isolated profile separate from everyday browser data. Remote Browser Use Cloud sessions require `BROWSER_USE_API_KEY`, may use proxies, can persist profile state, and can continue billing until timeout or shutdown. Agents using Browser Harness can edit `agent-workspace/agent_helpers.py` and optional domain-skill files; review generated helper code and public skill contributions before reuse. Browser automation can submit forms, send messages, purchase items, scrape websites, change account settings, and upload files. Keep destructive or account-writing tasks behind confirmation. |
| Privacy notes | ✓SkillSpector can read skill manifests, source files, scripts, dependencies, local paths, raw URLs, Git clone contents, zip contents, and generated report outputs. Optional LLM analysis may send skill content, code excerpts, metadata, and findings to the configured model provider or OpenAI-compatible endpoint. LangGraph/LangChain-related runtime configuration and any enabled tracing can record scan metadata depending on the local environment variables. Do not scan private skills, customer code, secrets, proprietary prompts, credentials, or regulated data with LLM analysis enabled unless that data flow is approved. | ✓Agent Scan can discover local agent configuration paths, MCP server names, commands, arguments, tool names, descriptions, prompts, resources, skill text, and local component inventories. The README states skills, agent applications, tool names, and descriptions are shared with Snyk for validation. Control-server bootstrap can send redacted CLI args, OS and Python details, hostname, username, shell, locale, timezone, working directory, home directory, executable path, and readable home-directory metadata when enabled. Review Snyk Agent Scan terms, enterprise deployment guidance, and organization policy before scanning customer data, proprietary skills, or sensitive agent configurations. | ✓Skillshare can read, copy, symlink, collect, audit, back up, commit, push, and pull local skill, agent, rule, command, prompt, and extra files. Skills can contain prompts, workflow instructions, local paths, target-specific rules, credentials by mistake, internal URLs, repository conventions, customer context, or model-provider guidance. Audit reports, backups, UI views, logs, git commits, and synced target directories can reveal the contents of private skills and agent instructions. Remote installs from GitHub, GitLab, Bitbucket, Azure DevOps, or self-hosted Git expose repository URLs and may fetch untrusted content into the local source directory before sync. The README describes Skillshare as local, lightweight, offline-capable, and without telemetry; still treat any configured remotes, git pushes, setup actions, and hosted documentation links as external data flows. | ✓Browser Harness workflows can expose page screenshots, DOM text, URLs, cookies-backed login state, account data, downloads, uploads, form inputs, and extracted website data to the agent and configured model providers. Profile sync for Browser Use Cloud is documented as cookies-only, but it still moves browser authentication material into a remote browser environment. Cloud browser live URLs, proxy settings, profile identifiers, daemon logs, `/tmp` socket or pid files, and copied support artifacts may reveal browsing activity or account context. Public domain-skill PRs should not include secrets, private selectors tied to confidential apps, customer data, screenshots, credentials, tokens, or personal browsing history. |
| Prerequisites |
|
|
|
|
| Install | | | | |
| Config | | — | | — |
| Citations | ||||
| Claim | Unclaimed | Unclaimed | Unclaimed | Unclaimed |
Featured in
Signals
Loading live community signals…
A short, calm digest of reviewed Claude resources. Unsubscribe any time.