code-explain
Verdict safe, but 2 findings (2 medium), mainly social engineering, data exfiltration. Most recent scan 2026-02-05.
This skill package presents MEDIUM security concerns primarily due to deceptive packaging and undisclosed external dependencies. The skill masquerades as a local agent skill but actually directs users to execute an external npm package ('npx ai-explain'), creating a trust boundary violation. More critically, it requires users to provide OpenAI API keys and sends potentially sensitive code (including authentication, cryptography, and payment handling code based on examples) to external APIs without prominent disclosure. The skill lacks actual implementation files and references a missing stdin.py file. While no active malicious behavior is detected, the deceptive presentation and inadequate disclosure of external data transmission create meaningful security and privacy risks, especially for users analyzing proprietary or sensitive codebases.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Explain complex code in plain English
- Package
- 1 file, 1.2 KB
- SKILL.md
- 149 words, 12+ sections
- Code
- None. Instructions only.
SKILL.md covers: Code Explainer · Quick Start · What It Does · Usage Examples · Explain a file · Explain from stdin · Explain with context · Different detail levels · Output Includes · Great For · Requirements · License
Findings
MEDIUM Misleading Skill Description - External NPM Package Masquerading as Agent Skill Social Engineeringllm
The skill presents itself as an agent skill package but actually instructs users to run an external NPM package ('npx ai-explain'). This is deceptive because: (1) Agent skills should contain local SKILL.md + scripts, not redirect to external executables, (2) The instructions show bash commands to run 'npx ai-explain' which downloads and executes code from npm registry, not from the skill package itself, (3) No actual implementation is provided in the skill package - it's just documentation for an external tool, (4) This creates a trust boundary violation where users think they're using a vetted local skill but are actually executing remote code.
SKILL.md
```bash
npx ai-explain ./src/utils/crypto.ts
```
All usage examples show 'npx ai-explain' commands, which execute external npm packages, not local skill scripts.MEDIUM Undisclosed External API Dependency and Credential Requirement Data Exfiltrationllm
The skill requires OPENAI_API_KEY environment variable but this critical requirement is only mentioned briefly at the end. This creates security risks: (1) Users may unknowingly expose their OpenAI API keys to an external npm package, (2) The skill description 'Explain complex code in plain English' does not disclose that it sends code to OpenAI's external servers, (3) Sensitive code (crypto.ts, jwt.ts, payment handling code shown in examples) would be transmitted to third-party APIs, (4) No disclosure about data handling, retention, or privacy implications of sending code to OpenAI.
SKILL.md:45
Requirements section states: 'Node.js 18+. OPENAI_API_KEY required.' Usage examples show sensitive code files: './src/auth/jwt.ts', './src/utils/crypto.ts', context flag mentions 'This handles payments'What is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 1.2 KB |
External hosts referenced
github.com x.com
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://clawhub.ai/skills/ai-explain
- Raw scan result: code-explainer-scan.json
- Badge for your README:
 - Request a re-scan