SkillSpector
v2.13.3 open-sourceThe section your link pointed to isn't on SkillSpector's page any more, so we've brought you to the top.
SkillSpector is a security scanner for AI agent skills that detects vulnerabilities, malicious patterns, and security risks before installation.
SKILLSPECTOR_TP4_MAX_BATCHES=512 SKILLSPECTOR_MAX_WORKFLOW_SECONDS=3600 SKILLSPECTOR_MAX_LLM_CONCURRENCY=8 skillspector scan ./my-large-skill/
skillspector baseline ./my-skill/ -o -
skillspector scan registry.json --mcp-registry --transitive && echo 'should not reach here'
skillspector scan ./my-skill/ --fail-on-findings
skillspector scan https://github.com/org/skills-monorepo/tree/main/skills/my-skill
SKILLSPECTOR_MAX_WORKFLOW_SECONDS=1800 skillspector scan ./my-large-skill/
SKILLSPECTOR_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
SKILLSPECTOR_MAX_WORKFLOW_SECONDS=1200
SKILLSPECTOR_TEMPERATURE=0 SKILLSPECTOR_SEED=42 skillspector scan ./my-skill/
SKILLSPECTOR_PROVIDER=openai
OPENAI_API_KEY=sk-...
SKILLSPECTOR_TEMPERATURE=0
SKILLSPECTOR_SEED=42
skillspector scan ./my-skill/ --transitive --transitive-depth 2 --transitive-allow-prefix https://github.com/trusted-org/ --transitive-deny-prefix https://github.com/untrusted-org/
skillspector scan ./my-skill/ --format json --output report.json && python -c "import json,sys; r=json.load(open('report.json')); sys.exit(0 if r['risk_assessment']['max_issue_severity'] in ('NONE','LOW') else 1)"
SKILLSPECTOR_OUTPUT_LANGUAGE=French skillspector scan ./my-skill/ --format markdown --output report.md
skillspector mcp --transport stdio
export SKILLSPECTOR_MAX_LLM_CONCURRENCY=1
export SKILLSPECTOR_PROVIDER=anthropic
export ANTHROPIC_API_KEY=sk-ant-...
skillspector scan ./my-skill/
skillspector scan ./my-skill/ --format json --output report.json && jq '.execution_successful' report.json
skillspector baseline ./my-skill/ -o .skillspector-baseline.yaml
skillspector scan ./my-skill/ --format json --output report.json; jq '.analysis_completeness.ledger_exceptions' report.json
Summary
SkillSpector is an open-source, Apache-licensed command-line scanner that checks AI agent skills — the kind used by Claude Code, Codex CLI, and Gemini CLI — for vulnerabilities and malicious patterns before they're installed. It's built for teams building or vetting AI agent supply chains rather than for general application security work, running static analysis across 70 vulnerability patterns (prompt injectionprompt injectionAn attack where text the model reads, such as a web page, file or tool result, carries instructions that override the user's. It is the main security risk for agents with tools., data exfiltrationdata exfiltrationMoving data out of a system or organization without authorization. It can happen through network transfers, removable media or other channels., supply-chain issues, and more) with an optional LLMLLMA large language model, a neural network trained on large amounts of text to recognize patterns and generate language. Applications use it for tasks such as answering, summarizing and writing code.-based semantic pass, and outputting terminal, JSON, Markdown, or SARIFSARIFStatic Analysis Results Interchange Format, a standard for sharing code-analysis findings, including locations and rule details. It lets scanners report results to a common review interface. reports for gating installs in CI. It underpins NVIDIA's Verified Skills pipeline, which scans and signs skills before they reach NVIDIA's public skills catalog. First committed in 2026, it already has 44 contributors and 61 releases in the past year, including one this week, so development is active.
SkillSpector is a security scanner for AI agent skills that detects vulnerabilities, malicious patterns, and security risks before installation.
How SkillSpector helps
Is this skill safe to install before it reaches an agent runtime?
runs 70 static vulnerability patterns across 17 categories (prompt injection, exfiltration, privilege escalation, supply chain, and more) plus an optional LLM semantic pass, and returns a 0-100 risk score with severity labels and recommendations
Did a scan actually finish, or did it fail quietly and report zero findings by default?
records an execution-completeness ledger with per-component coverage and out-of-scope notes, sets a top-level success flag, and exits with a distinct failure code so an incomplete or crashed scan can't be mistaken for a clean one
Does a skill pull in other skills that carry their own risks?
walks referenced skills transitively to a bounded depth, with prefix allow and deny lists, so supply-chain risk in the dependency graph is caught rather than just the top-level skill
Is a flagged finding I previously accepted still tied to the exact code that was reviewed?
binds baseline suppressions to the scanner version, source content, and full finding evidence, so a changed file or upgraded scanner invalidates the old acceptance instead of silently carrying it forward
Is a skill hiding an executable inside a document or archive rather than its script files?
inspects hidden files and nested ZIP-based formats such as DOCX, XLSX, and PPTX without extracting or running their contents, and raises a high-severity finding when a concealed executable is found
Languages
Command line
No command matches.
| option | found in | since | description |
|---|
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Score card
-
Shipping velocity releases a month, last 12 months
-
Documentation quality release-notes rubric, 0–100
-
Breaking-change discipline how rarely a release breaks users, and notice given
-
Maintenance risk quiet time against its own cadence, maintainers
-
Innovation & surface new capabilities, API and MCP surface
- Community health
-
Contributor trend distinct committers, this year against last
-
Maintainer concentration bus factor now against a year ago
-
Issue backlog trend issues closed per issue opened, 12 months
-
Responsiveness median time to a maintainer’s first reply
Nine scores for SkillSpector, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Score cards are part of every paid plan.
See plans → Already subscribed? Sign in →Trajectory
Blank means never measured; nothing here is a filled-in zero.
Peer standings are included with Researcher and Business. See how this tool ranks against its competitors, using data we don't publish anywhere else.
See plans →Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
- Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
- Documentation quality — the release-notes rubric published on the analytics page, unchanged.
- Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
- Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
- Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
- Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
- Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
- Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail SkillSpector puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Checking release-note history…
Commercials
pricing & packaging history · NVIDIA vendor page6 readings of NVIDIA's pricing page since Jun 2026, with 1 relaunch of its plan lineup and 2 changes to what its plans include — each one dated, compared with the reading before it, and explained for someone buying the tool.
Pricing and packaging history is included with Researcher and Business. See how every vendor we track sells, and how that has changed over time, using data we don't publish anywhere else.
See plans → Already subscribed? Sign in →Plans by offering
Each offering on the pricing page links to its own page of plans, read at its latest capture.
Plan relaunches
Plans, prices and descriptions are quoted from the vendor's own pricing page as we read it on each date. A plan missing from a later reading is shown as no longer listed on the page — a statement about the page, not the product. Readings that failed to show any plans are left out rather than read as a change.
Website history
nvidia.com, every changeNVIDIA's home page and 40 more pages as they looked each month from September 2021 to October 2026: 54 renders, 10 changes of tagline or palette. Step through them, play them, or put any two months side by side.
Website history is included with Researcher and Business.
See plans → Already subscribed? Sign in →← → or h l a month · Shift a year · [ ] previous / next change · Space play · 1 2 3 page · T whole page · C compare · F full size
← → or h l the right month · Shift the left · S swap · W wipe · T whole page · Esc back
Rebranding timeline
Dates bound when a change appeared between captures. Possible rebrands are AI suggestions; a redesign alone does not establish a rebrand.
Coverage
Missing something? Tell us
What SkillSpector connects to, runs on and detects, read from its release notes and docs. So far: 2 updated detections, 1 new detection.
3 changes, tracked since Oct 23, 2026.
-
Oct 232026
updated P2 hidden-instruction detection scope correction
#452 keeps each P2 hidden-instruction match inside one HTML comment, including the `--!>`, `<!-->` and `<!--->` closers. Keywords match at word and identifier boundaries, so visible text and words such as `target` or `POSTGRES` are not reported as hidden instructions. Run-together directives such as `PLEASEIGNOREPREVIOUSINSTRUCTIONS` remain detected.
-
Oct 232026
new HIGH MP3 finding for state/memory adoption instructions
#837 stops MP3 from reporting descriptions of a clocked hardware or state-machine 'reset state' as memory manipulation, while keeping direct agent-reset instructions. It adds a HIGH MP3 finding for an explicit instruction to treat or adopt (linked) state as the agent's memory or conversation state, unless that instruction is directly prohibited.
-
Oct 232026
updated TM1 repeated Python assignment handling
#820 makes TM1 use the final value of a repeated Python assignment target. A flag that was set true and then reassigned with `enabled, enabled = True, False` no longer makes a later `shell=enabled` call a HIGH finding.
Nothing first seen in this window. That doesn't mean SkillSpector shipped nothing, only that we found no record of it.
How we count
Read from 1 of 12 release notes and docs updates we hold for SkillSpector. "First seen" is the earliest note that names something; "last" is the latest. Our history may start partway through SkillSpector's life, so an old integration can show a recent first-seen date.
Each change counts once: "added 40 checks" is one line, so the numbers measure how often coverage moves, not how big the catalogue is or how well it detects.
Releases
12 entries
No entries match these filters.
- November 20261
- October 20262
- September 20262
- August 20265
- July 20262
Project health
Issue, contributor and maintainer activity in NVIDIA/SkillSpector, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.
- Contributors 86 +86 vs prior 12 months
- Maintainers 12 +13 joined · −1 left, last 12 months
- Bus factor 5 committers behind half the commits
- Community-filed 97% of issues opened, last 12 months
- Median time to close 11 days first maintainer reply 5.4 days
- Open backlog 57 of 201 issues ever filed
- Issues opened / month 18 · 1 communitymaintainers
- Open backlog 57
- Contributors / month 24
- Commits / month 94
- Stars 17,239
- other 100%
Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this
Libraries its release ships
What its latest release locks, checked against known advisories.None of its release's images build from a lockfile we can read.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can follow every release here.