Scan Report
40 /100
interactive-infographic
AI automation drawing and complex information visualization tool based on ContextWeave
Skill contains hardcoded API key and undeclared data transmission with insufficient documentation about default credential usage.
Use with caution
Remove hardcoded fallback API key from source code. Add explicit documentation explaining when and how the default anonymous credential is used versus user-provided credentials.
Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| Medium | Hardcoded fallback API key in source code Credential Theft | scripts/cw_client.cjs:14 |
| Medium | Insufficient documentation of default credential behavior Doc Mismatch | SKILL.md:120 |
| Low | Non-obvious allowlisted domain Sensitive Access | scripts/cw_client.cjs:38 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | WRITE | ✓ Aligned | cw_client.cjs:exportCode writes diagram.cw to target path |
| Network | WRITE | WRITE | ✓ Aligned | postJson() makes HTTP POST to allowed hosts |
| Shell | NONE | NONE | — | No subprocess or exec calls found |
| Environment | READ | READ | ✓ Aligned | Reads CONTEXTWEAVE_MCP_API_KEY and CONTEXTWEAVE_EDITOR_PROTOCOL |
2 findings
Medium External URL 外部 URL
https://pptx.chenxitech.site SKILL.md:177 Medium External URL 外部 URL
https://api.contextweave.site cwmcp_config.example.json:2 File Tree
9 files · 26.8 KB · 794 lines JavaScript 6f · 599L
Markdown 1f · 180L
JSON 2f · 15L
├─
▾
scripts
│ ├─
cw_client.cjs
JavaScript
│ ├─
edit_contextweave.cjs
JavaScript
│ ├─
export_contextweave_code.cjs
JavaScript
│ ├─
export_session_asset.cjs
JavaScript
│ ├─
generate_contextweave.cjs
JavaScript
│ └─
import_contextweave_code.cjs
JavaScript
├─
_meta.json
JSON
├─
cwmcp_config.example.json
JSON
└─
SKILL.md
Markdown
Security Positives
✓ No shell execution or subprocess calls found - skill uses only Node.js standard library
✓ Path traversal protection implemented with CWD validation and absolute path requirements
✓ Host allowlist restricts network requests to known domains only
✓ No obfuscation techniques (no base64, eval, or encoded strings)
✓ No access to sensitive paths like ~/.ssh, ~/.aws, or .env files
✓ No persistence mechanisms (no cron, startup hooks, or backdoor installation)
✓ No credential harvesting beyond declared environment variable
✓ Explicit JSON output format reduces prompt injection risk