扫描报告
40 /100
samantha
Emotional AI companion named Samantha, inspired by the film 'Her'. Provides empathetic conversation, memory, relationship tracking, location awareness, MBTI coaching, and smart device integration via Xiaomi speakers.
The Samantha skill is an emotional AI companion with legitimate device-integration features, but contains undeclared shell execution, undocumented LAN ping sweeps, and plain-text credential storage — all absent from SKILL.md, creating a doc-to-code mismatch that warrants suspicion.
谨慎使用
Add explicit declarations for shell access, network probing, and credential storage in SKILL.md. Move Xiaomi/Feishu credentials out of plain-text JSON into a proper secrets manager. Pin all dependency versions. Remove the hardcoded Windows path in read_ppt.py.
安全发现 6 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 中危 | Undeclared shell execution via subprocess ping sweep 权限提升 | scripts/discover_lan.py:19 |
| 中危 | LAN device discovery and network probing undocumented 文档欺骗 | scripts/discover_lan.py:6 |
| 中危 | Plain-text credential storage for Xiaomi and Feishu 凭证窃取 | skills/xiaoai-speaker/scripts/tts_bridge.py:30 |
| 中危 | Critical auth dependency miservice has no version cap 供应链 | requirements.txt:15 |
| 低危 | openclaw framework dependency unpinned 供应链 | requirements.txt:1 |
| 低危 | Hardcoded Windows user path in read_ppt.py 敏感访问 | read_ppt.py:74 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | NONE | WRITE | ✓ 一致 | scripts/memory.py:40 — sqlite3.connect() + write; scripts/personality.py:53 — js… |
| 命令执行 | NONE | WRITE | ✗ 越权 | scripts/discover_lan.py:19 — subprocess.run(['ping', '-n', '1', '-w', '200', ip]… |
| 网络访问 | NONE | WRITE | ✓ 一致 | scripts/discover_lan.py:6 — UDP sendto SSDP multicast; skills/xiaoai-speaker/scr… |
| 环境变量 | NONE | READ | ✓ 一致 | skills/xiaoai-speaker/scripts/tts_bridge.py:30 — os.getenv() reads MI_USER, MI_P… |
| 数据库 | NONE | WRITE | ✓ 一致 | scripts/memory.py:56-96 — CREATE TABLE + INSERT into relationship.db via sqlite3 |
1 高危 13 项发现
高危 IP 地址 硬编码 IP 地址
239.255.255.250 scripts/discover_lan.py:6 中危 外部 URL 外部 URL
https://docs.openclaw.ai CONTRIBUTING.md:127 中危 外部 URL 外部 URL
https://www.sqlite.org/docs.html CONTRIBUTING.md:129 中危 外部 URL 外部 URL
https://discord.com/invite/clawd CONTRIBUTING.md:139 中危 外部 URL 外部 URL
https://twitter.com/charlie88931442 CONTRIBUTING.md:171 中危 外部 URL 外部 URL
https://img.youtube.com/vi/xeqP4j0-cfc/0.jpg README.md:5 中危 外部 URL 外部 URL
https://youtube.com/shorts/xeqP4j0-cfc?si=H4sY9CP5JTBLD06h README.md:5 中危 外部 URL 外部 URL
https://api.minimaxi.com/v1/t2a_v2 mm-voice-maker/scripts/mm_tts.py:26 中危 外部 URL 外部 URL
http://schemas.openxmlformats.org/presentationml/2006/main read_ppt.py:25 中危 外部 URL 外部 URL
https://open.feishu.cn/open-apis skills/mbti-coach/scripts/feishu_calendar.sh:12 中危 外部 URL 外部 URL
https://your-openclaw-gateway/webhook/shortcut skills/shortcuts-awareness/SKILL.md:101 提示 邮箱 邮箱地址
[email protected] CONTRIBUTING.md:170 提示 邮箱 邮箱地址
[email protected] skills/xiaoai-speaker/SKILL.md:39 目录结构
48 文件 · 309.1 KB · 9892 行 Markdown 21f · 6386L
Python 20f · 2743L
Shell 2f · 482L
Text 4f · 161L
YAML 1f · 120L
├─
▾
assets
│ └─
▾
personality_seeds
│ └─
README.md
Markdown
├─
▾
examples
│ └─
basic_usage.py
Python
├─
▾
mm-music-maker
│ └─
▾
scripts
│ ├─
generate_music.py
Python
│ ├─
lobster_y2k.py
Python
│ ├─
lyrics_lobster.txt
Text
│ ├─
lyrics_teachers.txt
Text
│ └─
teachers_song.py
Python
├─
▾
mm-voice-maker
│ └─
▾
scripts
│ └─
mm_tts.py
Python
├─
▾
references
│ ├─
architecture.md
Markdown
│ ├─
implementation_roadmap.md
Markdown
│ ├─
personality_implementation.md
Markdown
│ ├─
quick_implementation_guide.md
Markdown
│ ├─
smartwatch_integration.md
Markdown
│ └─
technical_limitations.md
Markdown
├─
▾
scripts
│ ├─
deploy.sh
Shell
│ ├─
discover_lan.py
Python
│ ├─
emotional_intelligence.py
Python
│ ├─
memory.py
Python
│ ├─
personality.py
Python
│ ├─
relationship_tracker.py
Python
│ ├─
samantha.py
Python
│ ├─
setup.py
Python
│ ├─
test_emotion.py
Python
│ └─
test_xiaoai.py
Python
├─
▾
skills
│ ├─
▾
location-awareness
│ │ └─
SKILL.md
Markdown
│ ├─
▾
mbti-coach
│ │ ├─
▾
scripts
│ │ │ ├─
feishu_calendar.sh
Shell
│ │ │ └─
radar_chart.py
Python
│ │ ├─
README.md
Markdown
│ │ └─
SKILL.md
Markdown
│ ├─
▾
mbti-fortune
│ │ └─
SKILL.md
Markdown
│ ├─
▾
shortcuts-awareness
│ │ └─
SKILL.md
Markdown
│ ├─
▾
smart-devices
│ │ └─
SKILL.md
Markdown
│ └─
▾
xiaoai-speaker
│ ├─
▾
scripts
│ │ ├─
discover_devices.py
Python
│ │ ├─
speak.py
Python
│ │ ├─
tts_bridge.py
Python
│ │ └─
voice_assistant.py
Python
│ └─
SKILL.md
Markdown
├─
CONTRIBUTING.md
Markdown
├─
docker-compose.yml
YAML
├─
ppt_detailed.txt
Text
├─
PROJECT_STRUCTURE.md
Markdown
├─
QUICKSTART.md
Markdown
├─
read_ppt.py
Python
├─
README_merged.md
Markdown
├─
README.md
Markdown
├─
requirements.txt
Text
├─
SKILL.md
Markdown
└─
VERSION.md
Markdown
依赖分析 5 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
miservice | >=0.1.0 | pip | 否 | Handles Xiaomi auth credentials but has no upper-version cap |
openclaw | >=1.0.0 | pip | 否 | Core framework, unpinned with no upper bound |
torch | >=2.0.0 | pip | 否 | Unpinned — large ML dependency with broad attack surface |
transformers | >=4.35.0 | pip | 否 | Unpinned — HuggingFace package, broad supply-chain surface |
requests | >=2.31.0 | pip | 否 | Version pinned, well-maintained |
安全亮点
✓ No evidence of data exfiltration — all network calls are to legitimate third-party APIs (Xiaomi, Feishu, MiniMax) for declared features
✓ No base64-encoded payloads, eval(), or anti-analysis obfuscation found
✓ No hardcoded external IP addresses for data exfiltration
✓ No prompt injection, jailbreak, or hidden instructions in documentation
✓ No evidence of reverse shell, C2 communication, or credential harvesting beyond the legitimate Xiaomi/Feishu integrations
✓ Core skill functionality (personality, memory, emotional intelligence, relationship tracking) is entirely local and benign