可信 — 风险评分 8/100
上次扫描:2 天前 重新扫描
8 /100
amber-hunter
Universal AI memory backend for Huper琥珀 - 本地感知记忆引擎,E2E加密,支持多AI客户端集成
Amber-Hunter 是一个合法的本地记忆后端服务,E2E加密实现正确,无恶意行为证据,所有操作均符合声明功能范围。存在少量配置相关风险点,但属于合理的工程权衡。
技能名称amber-hunter
分析耗时59.0s
引擎pi
可以安装
该技能可安全使用。注意Linux headless环境下master_password会以明文存储在config.json中,建议配合文件系统权限控制。

安全发现 3 项

严重性 安全发现 位置
低危
Linux headless环境密钥明文存储
Linux无桌面环境(VPS)时,master_password和api_token降级存储在~/.amber-hunter/config.json明文中。这是已文档化的fallback行为,用于解决无Keychain环境下的密钥持久化问题。
if _linux_is_headless(): return _linux_config_get(account)
→ 用户知情原则已满足。如需更高安全等级,建议使用有桌面环境的Linux发行版或配合文件系统权限(600)限制。
core/keychain.py:112
低危
依赖包版本未锁定
requirements.txt中sentence-transformers、numpy等包使用>=约束,存在供应链风险。
sentence-transformers>=2.2.0
→ 建议生产环境使用pip-compile或poetry.lock锁定版本。
requirements.txt:6
低危
subprocess用于系统Keychain访问
代码使用subprocess调用系统keychain工具(security/secret-tool/cmdkey),这是跨平台密钥存储的标准做法,不属于恶意行为。subprocess调用严格限定于特定命令参数,无命令注入风险。
subprocess.run(["security", "find-generic-password", "-s", SERVICE_NAME, "-a", account, "-w"])
→ 无需修复,属于正常系统集成。
core/keychain.py:28
资源类型声明权限推断权限状态证据
文件系统 WRITE WRITE ✓ 一致 SKILL.md:access ~/.amber-hunter/ for config/db, code confirmed
网络访问 WRITE WRITE ✓ 一致 SKILL.md:cloud sync to huper.org, code confirms E2E encrypted POST
命令执行 WRITE WRITE ✓ 一致 core/keychain.py:subprocess calls to security/secret-tool/cmdkey for OS keychain…
环境变量 NONE READ ✓ 一致 core/llm.py:reads MINIMAX_API_KEY env var, os.environ usage is declared
技能调用 NONE NONE No skill invocation found
剪贴板 NONE NONE No clipboard access
浏览器 NONE NONE No browser automation
数据库 WRITE WRITE ✓ 一致 core/db.py:SQLite at ~/.amber-hunter/hunter.db, confirmed in SKILL.md
8 项发现
🔗
中危 外部 URL 外部 URL
https://huper.org
CHANGELOG.md:275
🔗
中危 外部 URL 外部 URL
https://huper.org/dashboard
README.md:33
🔗
中危 外部 URL 外部 URL
https://huper.org/api
README.md:43
🔗
中危 外部 URL 外部 URL
https://huper.org/api/ingest
SKILL.md:68
🔗
中危 外部 URL 外部 URL
http://127.0.0.1:18998
amber_hunter.py:619
🔗
中危 外部 URL 外部 URL
https://api.minimaxi.com/anthropic/v1/messages
core/llm.py:130
🔗
中危 外部 URL 外部 URL
https://api.groq.com/openai/v1/chat/completions
core/llm.py:624
🔗
中危 外部 URL 外部 URL
https://api.minimaxi.com/anthropic
core/llm.py:692

目录结构

30 文件 · 240.2 KB · 6553 行
Python 14f · 4387L Markdown 7f · 1057L JavaScript 3f · 606L Shell 3f · 325L TypeScript 1f · 161L Text 1f · 12L JSON 1f · 5L
├─ 📁 core
│ ├─ 🐍 __init__.py Python 5L · 312 B
│ ├─ 🐍 crypto.py Python 60L · 1.7 KB
│ ├─ 🐍 db.py Python 404L · 13.5 KB
│ ├─ 🐍 keychain.py Python 284L · 9.3 KB
│ ├─ 🐍 llm.py Python 735L · 23.7 KB
│ ├─ 🐍 models.py Python 46L · 1009 B
│ └─ 🐍 session.py Python 450L · 16.4 KB
├─ 📁 proactive
│ ├─ 📁 hooks
│ │ └─ 📁 openclaw
│ │ ├─ 📜 handler.js JavaScript 152L · 5.0 KB
│ │ ├─ 📜 handler.ts TypeScript 161L · 5.6 KB
│ │ └─ 📝 HOOK.md Markdown 39L · 1.2 KB
│ ├─ 📁 scripts
│ │ └─ 📜 proactive-check.js JavaScript 284L · 10.0 KB
│ ├─ 📜 proactive-check.js JavaScript 170L · 6.1 KB
│ └─ 📝 README.md Markdown 88L · 2.1 KB
├─ 📁 tests
│ ├─ 📁 test_api
│ │ ├─ 🐍 __init__.py Python 0 B
│ │ ├─ 🐍 test_recall.py Python 104L · 3.8 KB
│ │ └─ 🐍 test_status.py Python 34L · 1.0 KB
│ ├─ 🐍 __init__.py Python 0 B
│ ├─ 🐍 conftest.py Python 46L · 1.1 KB
│ └─ 🐍 test_crypto.py Python 50L · 1.7 KB
├─ 📋 _meta.json JSON 5L · 132 B
├─ 🐍 amber_hunter.py Python 2169L · 84.4 KB
├─ 📝 CHANGELOG.md Markdown 287L · 16.0 KB
├─ 📝 CLAUDE.md Markdown 28L · 1.0 KB
├─ 🔧 freeze.sh Shell 59L · 1.7 KB
├─ 🔧 install.sh Shell 188L · 7.5 KB
├─ 📝 README.md Markdown 261L · 8.8 KB
├─ 📝 RELEASE_CHECKLIST.md Markdown 46L · 1.5 KB
├─ 🔧 release.sh Shell 78L · 2.9 KB
├─ 📄 requirements.txt Text 12L · 202 B
└─ 📝 SKILL.md Markdown 308L · 12.3 KB

依赖分析 5 项

包名版本来源已知漏洞备注
sentence-transformers >=2.2.0 pip 无版本锁定,有ML模型下载
numpy >=1.24.0 pip 无版本锁定
fastapi 0.115.0 pip 已锁定版本
httpx 0.27.0 pip 已锁定版本
cryptography 43.0.0 pip 已锁定版本

安全亮点

✓ E2E加密实现正确:AES-256-GCM + PBKDF2-HMAC-SHA256,密钥派生100000次迭代
✓ master_password默认存储在OS Keychain(macOS security/Windows cmdkey/GNOME secret-tool),不上传
✓ 云端同步使用E2E加密后传输,服务端永不接触明文内容
✓ 所有网络请求使用localhost或明确声明的huper.org/api,IP固定,无动态C2
✓ API token验证机制健全,防止同一机器其他进程滥用
✓ 无base64管道、eval()、裸IP请求等典型攻击模式
✓ proactive hook严格限定localhost:18998,数据不外传
✓ 代码结构清晰,无混淆或隐藏逻辑