Scan Report
22 /100
hair-cam-anno
安防摄像头视频 VL 模型微调数据集标注工具
A legitimate video annotation tool that processes surveillance camera footage for VL model fine-tuning, using subprocess for ffmpeg/ffprobe which is necessary and appropriate but not declared in SKILL.md.
Safe to install
Declare the use of subprocess (shell:WRITE) and filesystem WRITE permissions in SKILL.md. Consider removing the hardcoded /root/hair-cam path reference from the usage description.
Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| Medium | Undeclared subprocess shell execution Doc Mismatch | scripts/extract_frames.py:48 |
| Low | Hardcoded sensitive path reference in description Doc Mismatch | SKILL.md:1 |
| Low | Filesystem WRITE not declared privile_escalation | SKILL.md:1 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Shell | NONE | WRITE | ✗ Violation | scripts/extract_frames.py:48-49, 66-69 (subprocess.run calls to ffmpeg/ffprobe) |
| Filesystem | READ | WRITE | ✗ Violation | scripts/extract_frames.py:47 (writes frame images to output_dir); scripts/build_… |
| Network | NONE | NONE | — | No network activity found |
| Environment | NONE | NONE | — | No environment variable access |
| Skill Invoke | NONE | NONE | — | No skill invocation |
| Clipboard | NONE | NONE | — | No clipboard access |
| Browser | NONE | NONE | — | No browser usage |
| Database | NONE | NONE | — | No database access |
File Tree
5 files · 18.3 KB · 493 lines Python 2f · 302L
Markdown 3f · 191L
├─
▾
references
│ ├─
labels-reference.md
Markdown
│ └─
system-prompt.md
Markdown
├─
▾
scripts
│ ├─
build_jsonl.py
Python
│ └─
extract_frames.py
Python
└─
SKILL.md
Markdown
Security Positives
✓ No network requests or external communication detected
✓ No credential harvesting or environment variable enumeration
✓ No obfuscation, base64-encoded execution, or anti-analysis techniques
✓ No remote script execution (curl|bash, wget|sh)
✓ No sensitive file access (~/.ssh, ~/.aws, .env)
✓ No persistence mechanisms (cron, startup hooks, backdoors)
✓ No prompt injection or LLM manipulation
✓ No malicious dependencies — no package files present
✓ subprocess usage is limited to standard CLI tools (ffmpeg, ffprobe) which is necessary and appropriate for video processing