Scan Report
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 install
Safe to use. Consider parameterizing hardcoded workspace paths for portability. Declare network:WRITE in SKILL.md for API calls.
Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| Low | Hardcoded user-specific workspace paths Priv Escalation | scripts/handler.js:45 |
| Low | Network access not declared in SKILL.md Doc Mismatch | SKILL.md:1 |
| Info | Reads SENSE_API_KEY from openclaw.json Sensitive Access | scripts/handler.js:248 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | WRITE | WRITE | ✓ Aligned | SKILL.md: file read/write for balance.md, monthly logs |
| Shell | WRITE | WRITE | ✓ Aligned | scripts/handler.js:33 exec(python3 tts.py/asr.py) |
| Environment | READ | READ | ✓ Aligned | WORKSPACE, POINTS_DIR env vars read |
| Network | NONE | WRITE | ✓ Aligned | External HTTP calls to senseaudio.cn via Python scripts (TTS/ASR) |
| Skill Invoke | NONE | NONE | — | No skill_invoke usage |
| Clipboard | NONE | NONE | — | No clipboard access |
| Browser | NONE | NONE | — | No browser usage |
| Database | NONE | NONE | — | No database access |
9 findings
Medium External URL 外部 URL
https://senseaudio.cn DEPENDENCIES.md:94 Medium External URL 外部 URL
https://clawhub.com META_SKILL.md:148 Medium External URL 外部 URL
https://clawhub.com/skills/kids-points(发布后) PUBLISH_CHECKLIST.md:152 Medium External URL 外部 URL
https://clawhub.com/skills/kids-points/docs(发布后) PUBLISH_CHECKLIST.md:153 Medium External URL 外部 URL
https://clawhub.com/skills/kids-points/issues(发布后) PUBLISH_CHECKLIST.md:154 Medium External URL 外部 URL
https://img.shields.io/badge/version-1.2.0-blue.svg README.md:5 Medium External URL 外部 URL
https://img.shields.io/badge/license-MIT-green.svg README.md:6 Medium External URL 外部 URL
https://img.shields.io/badge/voice-KidPointVoice-orange.svg README.md:7 Medium External URL 外部 URL
https://senseaudio.cn\n scripts/handler.js:20 File Tree
28 files · 164.2 KB · 5974 lines 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
Dependencies 2 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
requests | unpinned | pip (Python) | No | Python HTTP library for SenseAudio API; no version constraint in docs |
none | N/A | npm | No | package.json declares no npm dependencies |
Security Positives
✓ 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)