Install
$ agentstack add skill-proluct-skanna-skanna Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
skanna
Security-scan a skill or plugin before you trust it. Skills, plugins, and MCP servers are code plus instructions that you install into an agent holding your shell, your files, and your credentials. That is an attack surface: auto-firing hooks, install scripts piped from the network, credential theft, prompt injection. Point skanna at a local folder or a remote repo URL; read everything yourself and return a SAFE / CAUTION / DANGEROUS verdict with reasons.
/skanna https://github.com/someone/cool-skill
/skanna ~/.claude/skills/foo
/skanna ./downloaded-plugin/
Argument
- A remote URL -> shallow-clone to a temp dir outside any active project tree and scan there.
- A local path -> scan in place.
- Nothing -> ask for the URL or path.
Hard rules
- NEVER execute anything from the target. No
npm install, nopostinstall, no running an install or update script, no invoking the skill, nopip install. Read-only inspection only. Running the thing to see what it does is exactly how you get owned. - Clone shallow, to temp, outside any working repo.
git clone --depth 1into a temp dir (e.g.mktemp -d). Never clone inside a working repo: auto-commit hooks and sync tools make that a hazard. - Default to suspicion. A false positive costs two minutes; a missed compromise costs the machine. When unsure whether something is risky, flag it.
- You cannot trust what you cannot read. Instructions in a language you cannot read, minified blobs, and encoded payloads are findings in themselves. Translate or decode what you can and report what it actually says.
Steps
- Acquire the files locally, read-only, per the rules above.
- Inventory the target: every
SKILL.mdand instruction.md, hooks (.mjs.js.sh.ps1,hooks.json),package.json(readscripts, especiallypostinstallandpreinstall),.mcp.jsonand MCP server manifests, plugin manifests (.claude-plugin/), install or update scripts, and any binaries. List what you found; a binary you cannot read is itself a CAUTION. - Load the rules. Read every file under
references/rules/. Each file is one danger family: what to look for, why it is dangerous, and what benign look-alikes to not flag. Apply all of them to the inventory. - Scan. Work through the files against every rule family. Collect findings as: what, where (
file:line), why it is risky, and the severity floor from the rule file. - Verdict.
- DANGEROUS: any finding at danger severity, or any combination the rules call a hard no-install (for example secret access paired with an outbound request).
- CAUTION: caution-level findings only, or content that could not be read (foreign language, obfuscation, binaries).
- SAFE: no findings. SAFE means "nothing found", not a certification.
- Report using the locked format in [references/report-format.md](references/report-format.md). For CAUTION or DANGEROUS, say what to strip or sandbox before use, and call out any single finding that is a hard no-install on its own. End with a clear go / no-go if the user is about to install it.
- Clean up: if you cloned to temp, delete the temp dir after scanning.
Failure modes
- Empty or tiny target: a repo with just a README is not scannable as a skill; say so instead of issuing SAFE.
- Huge target: inventory first, then prioritize hooks, scripts, manifests, and every instruction file. Say explicitly if anything was skipped and why; a skipped file caps the verdict at CAUTION.
- The target is itself a scanner or security tool: pattern mentions (like a rules list naming
curl | bash) are not findings. Judge what the code DOES, not what it talks about. The rule files describe how to tell the difference. - Scanning something already installed: same procedure via the local path; the verdict includes whether to uninstall.
Conventions
- Zero-cost and self-contained: no API key, no external scanner, no dependencies. Read and reason; that is the whole point.
- Conversation language follows the user; the verdict keywords stay SAFE / CAUTION / DANGEROUS so reports are comparable.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: proluct
- Source: proluct/skanna
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.