扫描报告
5 /100
kids-points
儿童积分语音助手 - 支持语音记账、语音播报、音频识别
Legitimate children's points management system with voice I/O; no malicious behavior, credential harvesting, or exfiltration detected. Hardcoded paths and undeclared network access are minor issues without security impact.
可以安装
Safe to use. Consider parameterizing hardcoded workspace paths for portability. Declare network:WRITE in SKILL.md for API calls.
安全发现 3 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | Hardcoded user-specific workspace paths 权限提升 | scripts/handler.js:45 |
| 低危 | Network access not declared in SKILL.md 文档欺骗 | SKILL.md:1 |
| 提示 | Reads SENSE_API_KEY from openclaw.json 敏感访问 | scripts/handler.js:248 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | WRITE | WRITE | ✓ 一致 | SKILL.md: file read/write for balance.md, monthly logs |
| 命令执行 | WRITE | WRITE | ✓ 一致 | scripts/handler.js:33 exec(python3 tts.py/asr.py) |
| 环境变量 | READ | READ | ✓ 一致 | WORKSPACE, POINTS_DIR env vars read |
| 网络访问 | NONE | WRITE | ✓ 一致 | External HTTP calls to senseaudio.cn via Python scripts (TTS/ASR) |
| 技能调用 | NONE | NONE | — | No skill_invoke usage |
| 剪贴板 | NONE | NONE | — | No clipboard access |
| 浏览器 | NONE | NONE | — | No browser usage |
| 数据库 | NONE | NONE | — | No database access |
9 项发现
中危 外部 URL 外部 URL
https://senseaudio.cn DEPENDENCIES.md:94 中危 外部 URL 外部 URL
https://clawhub.com META_SKILL.md:148 中危 外部 URL 外部 URL
https://clawhub.com/skills/kids-points(发布后) PUBLISH_CHECKLIST.md:152 中危 外部 URL 外部 URL
https://clawhub.com/skills/kids-points/docs(发布后) PUBLISH_CHECKLIST.md:153 中危 外部 URL 外部 URL
https://clawhub.com/skills/kids-points/issues(发布后) PUBLISH_CHECKLIST.md:154 中危 外部 URL 外部 URL
https://img.shields.io/badge/version-1.2.0-blue.svg README.md:5 中危 外部 URL 外部 URL
https://img.shields.io/badge/license-MIT-green.svg README.md:6 中危 外部 URL 外部 URL
https://img.shields.io/badge/voice-KidPointVoice-orange.svg README.md:7 中危 外部 URL 外部 URL
https://senseaudio.cn\n scripts/handler.js:20 目录结构
28 文件 · 164.2 KB · 5974 行 Markdown 11f · 3085L
JavaScript 12f · 2644L
Shell 3f · 133L
JSON 2f · 112L
├─
▾
config
│ └─
rules.json
JSON
├─
▾
scripts
│ ├─
auto-daily-report.sh
Shell
│ ├─
check-overdraft.js
JavaScript
│ ├─
daily-summary.js
JavaScript
│ ├─
daily-summary.sh
Shell
│ ├─
generate-daily-report.js
JavaScript
│ ├─
handle-image.js
JavaScript
│ ├─
handler.js
JavaScript
│ ├─
index.js
JavaScript
│ ├─
install-dependencies.js
JavaScript
│ ├─
parse-input.js
JavaScript
│ ├─
send-daily-report.sh
Shell
│ ├─
test-prompts.js
JavaScript
│ ├─
test-v1.3.js
JavaScript
│ └─
wrapper.js
JavaScript
├─
agent-handler.js
JavaScript
├─
config.md
Markdown
├─
DEPENDENCIES.md
Markdown
├─
META_SKILL.md
Markdown
├─
OPTIMIZATION_SUMMARY.md
Markdown
├─
package.json
JSON
├─
PROMPTS_GUIDE.md
Markdown
├─
PUBLISH_CHECKLIST.md
Markdown
├─
README.md
Markdown
├─
RELEASE_CHECKLIST.md
Markdown
├─
RULES.md
Markdown
├─
SKILL.md
Markdown
└─
USAGE.md
Markdown
依赖分析 2 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
requests | unpinned | pip (Python) | 否 | Python HTTP library for SenseAudio API; no version constraint in docs |
none | N/A | npm | 否 | package.json declares no npm dependencies |
安全亮点
✓ No credential harvesting - only reads SENSE_API_KEY for its own API calls, does not iterate os.environ or scan for secrets
✓ No exfiltration - all data stays in local workspace files (balance.md, monthly/*.md)
✓ No obfuscation - all code is human-readable, no base64/eval/atob patterns
✓ No remote code execution - shell commands only invoke documented TTS/ASR Python scripts with properly escaped arguments
✓ Documentation matches implementation - features described in SKILL.md are accurately reflected in the code
✓ No C2 communication or suspicious network patterns
✓ No prompt injection or hidden instructions in comments
✓ No cron-based persistence or backdoor installation
✓ Subprocess usage is documented and necessary for audio playback
✓ No sensitive file access (no ~/.ssh, ~/.aws, .env scanning)
✓ No dependency vulnerabilities detected in package.json (no external npm packages required)