扫描报告
12 /100
smart-coding-assistant
智能多模型编程助手,根据任务类型自动选择最优代码大模型。支持代码生成、审查、调试、重构、测试等场景。
A legitimate multi-model coding assistant skill that routes tasks to different LLM APIs. No malicious behavior observed — subprocess is imported but never invoked, API keys are accessed only from environment variables as declared, and all network I/O is limited to model API calls.
可以安装
Remove the unused `import subprocess` from coding_assistant.py to eliminate the false signal. Otherwise the skill is safe to use as documented.
安全发现 3 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | Unused subprocess import creates misleading signal 文档欺骗 | scripts/coding_assistant.py:13 |
| 低危 | Config file read not declared in SKILL.md 敏感访问 | scripts/coding_assistant.py:22 |
| 提示 | Placeholder API key patterns flagged in DELIVERY.md 文档欺骗 | DELIVERY.md:207 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 环境变量 | READ | READ | ✓ 一致 | coding_assistant.py:58-67 reads QWEN_API_KEY, DEEPSEEK_API_KEY, GLM_API_KEY |
| 网络访问 | READ | READ | ✓ 一致 | coding_assistant.py:50-100 makes model API calls (mocked) |
| 文件系统 | NONE | READ | ✓ 一致 | coding_assistant.py:22-26 reads ~/.smart_coding_config.json — not declared in SK… |
| 命令执行 | NONE | NONE | — | subprocess is imported (coding_assistant.py:13) but never called — no shell exec… |
| 技能调用 | NONE | NONE | — | No cross-skill invocation found |
| 剪贴板 | NONE | NONE | — | No clipboard access |
| 浏览器 | NONE | NONE | — | No browser access |
| 数据库 | NONE | NONE | — | No database access |
2 高危 2 项发现
高危 API 密钥 疑似硬编码凭证
API_KEY="your-bailian-key" DELIVERY.md:207 高危 API 密钥 疑似硬编码凭证
API_KEY="your-deepseek-key" DELIVERY.md:208 目录结构
10 文件 · 74.0 KB · 2818 行 Markdown 6f · 1906L
Python 3f · 885L
JSON 1f · 27L
├─
▾
references
│ ├─
best-practices.md
Markdown
│ ├─
model-profiles.md
Markdown
│ └─
task-taxonomy.md
Markdown
├─
▾
scripts
│ ├─
coding_assistant.py
Python
│ ├─
example_usage.py
Python
│ └─
model_router.py
Python
├─
DELIVERY.md
Markdown
├─
README.md
Markdown
├─
skill.json
JSON
└─
SKILL.md
Markdown
安全亮点
✓ All API key access is through os.environ.get() — no hardcoded keys in code
✓ No base64-encoded execution, no eval(), no obfuscated payloads
✓ No curl|bash or wget|sh remote script execution
✓ No access to ~/.ssh, ~/.aws, .env, or other sensitive paths
✓ No data exfiltration — network calls are limited to model API endpoints
✓ No credential harvesting — only reads its own declared environment variables (API keys)
✓ No persistence mechanisms (no cron, startup hooks, or backdoor installation)
✓ No prompt injection detected in documentation or code
✓ No dependencies on untrusted external resources — all reference files are local markdown