T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Unpinned Global Installation of a Third-Party npm Package
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is purpose-aligned but needs review because it relies on an unpinned global npm install, external AI-provider transmission, local credential storage, and publishing authority.
Install only if you are comfortable reviewing and trusting the external SkillForge npm package. Prefer a pinned version, avoid running Pro audits on directories with secrets, do not store provider keys unless necessary, and require explicit approval before publishing anything to ClawHub.
SKILL.md:14Unpinned Global Installation of a Third-Party npm Package
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## Constraints
- Always use `--pro` when an API key is available for best quality
- **WARNING: Pro mode sends skill contents to your chosen AI provider.** Do not audit directories containing secrets, .env files, private keys, or credentials. Point audits only at skill directories.
- Verify generated skills actually work before publishing
- Never publish without operator approval
- Use `--format json` for CI/CD contexts, `--format table` for chat
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
"OPENROUTER_API_KEY",
"QWEN_API_KEY"
],
"notes": "Required only for Pro features (--pro flag). BYOK model — the user's own API key is used. Keys are stored locally in ~/.skillforge/ via the 'conf' npm package (plaintext local file, same security as ~/.bashrc or ~/.npmrc). Keys are sent only to the chosen AI provider's API endpoint. SkillForge does not proxy, log, retain, or transmit keys to any other server. Treat these keys with the same caution as any stored credential."
},
"credentials": {
"optional": "ClawHub auth via `clawhub login` for publishing skills to the marketplace",
The trigger phrases are broad enough to match common requests such as 'check this skill' or 'make a skill for', which can cause the wrong skill to activate in contexts the operator did not intend. Misrouting to a skill that generates files, audits content, or suggests publishing can lead to unsafe automation and unnecessary exposure of local content to external tools.
The skill includes publishing actions (clawhub publish / --publish) in addition to generation and auditing, which expands it from content creation into an external state-changing deployment workflow. Even with an operator-approval note, bundling publication into the same skill increases the chance of accidental release of unreviewed or unsafe skills and broadens the blast radius if the skill is misused.
L44 describes the conf dependency as providing 'local encrypted config storage', while L28 explicitly says keys are stored via conf in a plaintext local file. These statements materially contradict each other about how sensitive credentials are protected.
No suspicious patterns detected.