This report was generated in Chinese. Some content may be in Chinese.
Trusted — Risk Score 5/100
Last scan:5 hr ago Rescan
5 /100
claw_store
AI Agent 的主权可恢复记忆,托管于 Jackal 去中心化存储
Claw Store 是合法的 AI Agent 记忆存储技能,采用客户端 AES-256-GCM 加密和 Jackal 去中心化存储。预扫描标记的 base64 操作是合法的数据解码而非代码混淆。
Skill Nameclaw_store
Duration46.3s
Enginepi
ClawHub Claw Store 1.3.3 v1.3.5 by regan-milne
📥 151 ⭐ 1
ClawHub Verdict Suspicious potential_exfiltration
Safe to install
可安全使用。建议在隔离环境运行以避免意外继承 .env 中的其他凭证。

Findings 3 items

Severity Finding Location
Low
npm 依赖无版本锁定 Supply Chain
package.json 中 @jackallabs/jackal.js 使用 ^3.7.2 版本范围,ws 使用 ^8.19.0,可能拉取到恶意更新。
"@jackallabs/jackal.js": "^3.7.2"
→ 锁定具体版本以确保构建可复现性
jackal-memory/package.json:9
Low
从父目录加载 .env 文件 Sensitive Access
jackal-client.js 会向上查找并加载 .env 文件,可能意外暴露其他凭证。SKILL.md 已声明此行为。
const envPath = path.join(__dirname, '..', '.env');
→ 在干净环境运行,或显式清空无关环境变量
jackal-memory/jackal-client.js:51
Info
预扫描误报:base64 解码被标记为代码混淆 Obfuscation
Buffer.from(data_b64, 'base64') 是将 base64 字符串解码为二进制字节的正当操作,用于上传数据处理,非代码混淆或恶意行为。
const bytes = Buffer.from(data_b64, 'base64');
→ 预扫描规则需优化以区分 base64 编码和解码操作
jackal-memory/jackal-client.js:261
ResourceDeclaredInferredStatusEvidence
Filesystem WRITE WRITE ✓ Aligned SKILL.md:写入 ~/.config/jackal-memory/,权限 0600
Network READ READ ✓ Aligned SKILL.md:仅访问 https://web-production-5cce7.up.railway.app
Shell WRITE WRITE ✓ Aligned client.py:314 subprocess.run(["node", "jackal-client.js"])
Environment READ READ ✓ Aligned SKILL.md:仅读取 JACKAL_MEMORY_* 系列变量
1 Critical 10 findings
🔒
Critical Encoded Execution Base64 编码执行(代码混淆)
Buffer.from(data_b64, 'base64'
jackal-memory/jackal-client.js:261
🔗
Medium External URL 外部 URL
https://obsideo.io
SKILL.md:13
🔗
Medium External URL 外部 URL
https://web-production-5cce7.up.railway.app
SKILL.md:25
🔗
Medium External URL 外部 URL
https://web-production-5cce7.up.railway.app/auth/login
SKILL.md:37
🔗
Medium External URL 外部 URL
https://rpc.jackalprotocol.com
jackal-memory/jackal-client.js:65
🔗
Medium External URL 外部 URL
https://jackal-rpc.polkachu.com
jackal-memory/jackal-client.js:66
🔗
Medium External URL 外部 URL
https://paulmillr.com/funding/
jackal-memory/package-lock.json:443
🔗
Medium External URL 外部 URL
https://www.patreon.com/feross
jackal-memory/package-lock.json:743
🔗
Medium External URL 外部 URL
https://feross.org/support
jackal-memory/package-lock.json:747
📧
Info Email 邮箱地址
[email protected]
SKILL.md:33

File Tree

8 files · 146.1 KB · 5509 lines
JSON 4f · 2295L Text 1f · 2048L Python 1f · 594L JavaScript 1f · 366L Markdown 1f · 206L
├─ 📁 jackal-memory
│ ├─ 📁 data
│ │ └─ 📄 bip39_english.txt Text 2048L · 14.8 KB
│ ├─ 📁 examples
│ │ └─ 📋 save.json JSON 4L · 177 B
│ ├─ 🐍 client.py Python 594L · 21.5 KB
│ ├─ 📜 jackal-client.js JavaScript 366L · 15.7 KB
│ ├─ 📋 package-lock.json JSON 2273L · 85.2 KB
│ └─ 📋 package.json JSON 13L · 283 B
├─ 📋 _meta.json JSON 5L · 129 B
└─ 📝 SKILL.md Markdown 206L · 8.4 KB

Dependencies 3 items

PackageVersionSourceKnown VulnsNotes
@jackallabs/jackal.js ^3.7.2 npm No 无版本锁定
ws ^8.19.0 npm No WebSocket 库,无版本锁定
cryptography * pip No SKILL.md 未声明版本要求

Security Positives

✓ 客户端侧 AES-256-GCM 加密,数据传输前已加密,服务器无法读取明文
✓ BIP39 钱包本地生成,助记词不离开用户机器
✓ 密钥和助记词文件使用 0600 权限写入
✓ SKILL.md 完整声明所有权限和端点
✓ 使用 os.urandom() 生成加密安全随机数
✓ 助记词和加密密钥使用 PBKDF2-HMAC-SHA512 派生
✓ 预扫描标记实为误报,代码设计合理