扫描报告
5 /100
totalreclaw
End-to-end encrypted memory vault for AI agents with AES-256-GCM
TotalReclaw is a legitimate end-to-end encrypted memory plugin for AI agents with no malicious indicators. All pre-scan base64 flags are standard cryptographic encoding operations, hardcoded credentials exist only in test files, and all functionality is properly declared in SKILL.md.
可以安装
No action needed. The skill is safe to use.
安全发现 2 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | SKILL.md does not declare TOTALRECLAW_RECOVERY_PHRASE env var 文档欺骗 | SKILL.md:1 |
| 低危 | @huggingface/transformers unpinned to minor/patch 供应链 | plugin/package.json:1 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | NONE | READ+WRITE | ✓ 一致 | plugin/index.ts:200 — CREDENTIALS_PATH, billing cache, MEMORY.md header manageme… |
| 网络访问 | NONE | READ+WRITE | ✓ 一致 | plugin/api-client.ts — JSON/HTTP to api.totalreclaw.xyz; plugin/subgraph-store.t… |
| 命令执行 | NONE | NONE | — | No subprocess, exec, or spawn calls found in production plugin code |
| 环境变量 | NONE | READ | ✓ 一致 | plugin/llm-client.ts:160-200 — reads provider API keys (ZAI_API_KEY, OPENAI_API_… |
| 技能调用 | NONE | NONE | — | No dynamic skill invocation |
| 剪贴板 | NONE | NONE | — | No clipboard access |
| 浏览器 | NONE | NONE | — | No browser automation |
| 数据库 | NONE | NONE | — | No direct database access — encrypted facts stored via API or on-chain |
5 严重 5 高危 50 项发现
严重 编码执行 Base64 编码执行(代码混淆)
Buffer.from(creds.salt, 'base64' plugin/index.ts:366 严重 编码执行 Base64 编码执行(代码混淆)
Buffer.from(b64, 'base64' plugin/index.ts:724 严重 编码执行 Base64 编码执行(代码混淆)
Buffer.from(encryptedBase64, 'base64' plugin/pocv2-e2e-test.ts:141 严重 编码执行 Base64 编码执行(代码混淆)
Buffer.from(record.data, 'base64' src/tools/export.ts:260 严重 编码执行 Base64 编码执行(代码混淆)
Buffer.from(response.body.salt, 'base64' tests/integration/server-integration.test.ts:360 高危 API 密钥 疑似硬编码凭证
Password = 'pocv2-e2e-test-password-2026' plugin/pocv2-e2e-test.ts:401 高危 API 密钥 疑似硬编码凭证
Password: 'my-secure-password' src/index.ts:13 高危 API 密钥 疑似硬编码凭证
Password: 'test-password-123' tests/integration/e2e-flow.test.ts:281 高危 API 密钥 疑似硬编码凭证
Password: 'new-user-password' tests/integration/e2e-flow.test.ts:348 高危 API 密钥 疑似硬编码凭证
Password: 'existing-password' tests/integration/e2e-flow.test.ts:361 中危 外部 URL 外部 URL
https://clawhub.ai CLAWHUB.md:3 中危 外部 URL 外部 URL
https://clawhub.ai/skills/totalreclaw CLAWHUB.md:10 中危 外部 URL 外部 URL
https://totalreclaw.xyz CLAWHUB.md:67 中危 外部 URL 外部 URL
http://your-totalreclaw-server:8080 README.md:26 中危 外部 URL 外部 URL
http://127.0.0.1:8080 README.md:246 中危 外部 URL 外部 URL
http://your-server:8080 README.md:273 中危 外部 URL 外部 URL
https://www.npmjs.com/package/@totalreclaw/core README.md:313 中危 外部 URL 外部 URL
https://totalreclaw.xyz/pricing SKILL.md:221 中危 外部 URL 外部 URL
https://checkout.stripe.com/c/pay/... SKILL.md:280 中危 外部 URL 外部 URL
https://api.totalreclaw.xyz SKILL.md:877 中危 外部 URL 外部 URL
https://www.npmjs.com/package/@totalreclaw/totalreclaw plugin/README.md:13 中危 外部 URL 外部 URL
https://img.shields.io/npm/v/@totalreclaw/totalreclaw?color=7B5CFF plugin/README.md:18 中危 外部 URL 外部 URL
https://img.shields.io/npm/dm/@totalreclaw/totalreclaw plugin/README.md:19 中危 外部 URL 外部 URL
https://img.shields.io/badge/license-MIT-blue plugin/README.md:20 中危 外部 URL 外部 URL
https://openclaw.ai plugin/README.md:25 中危 外部 URL 外部 URL
https://www.npmjs.com/package/@totalreclaw/mcp-server plugin/README.md:92 中危 外部 URL 外部 URL
https://api.mem0.ai plugin/import-adapters/mem0-adapter.ts:156 中危 外部 URL 外部 URL
https://api.z.ai/api/paas/v4 plugin/llm-client.ts:64 中危 外部 URL 外部 URL
https://api.mistral.ai/v1 plugin/llm-client.ts:69 中危 外部 URL 外部 URL
https://api.groq.com/openai/v1 plugin/llm-client.ts:70 中危 外部 URL 外部 URL
https://api.deepseek.com/v1 plugin/llm-client.ts:71 中危 外部 URL 外部 URL
https://openrouter.ai/api/v1 plugin/llm-client.ts:72 中危 外部 URL 外部 URL
https://api.x.ai/v1 plugin/llm-client.ts:73 中危 外部 URL 外部 URL
https://api.together.xyz/v1 plugin/llm-client.ts:74 中危 外部 URL 外部 URL
https://api.cerebras.ai/v1 plugin/llm-client.ts:75 中危 外部 URL 外部 URL
https://opencollective.com/libvips plugin/package-lock.json:88 中危 外部 URL 外部 URL
https://paulmillr.com/funding/ plugin/package-lock.json:549 中危 外部 URL 外部 URL
https://www.npmjs.com/support plugin/package-lock.json:750 中危 钱包地址 加密货币钱包地址
0xC445af1D4EB9fce4e1E61fE96ea7B8feBF03c5ca plugin/subgraph-store.ts:26 中危 钱包地址 加密货币钱包地址
0x0000000071727De22E5E9d8BAf0edAc6f37da032 plugin/subgraph-store.ts:29 中危 外部 URL 外部 URL
http://custom-server:9000 tests/config.test.ts:61 中危 外部 URL 外部 URL
https://secure.example.com tests/config.test.ts:74 中危 外部 URL 外部 URL
http://openclaw-memory:8080 tests/config.test.ts:105 中危 外部 URL 外部 URL
http://env-server:8888 tests/config.test.ts:134 中危 外部 URL 外部 URL
http://env-server tests/config.test.ts:218 中危 外部 URL 外部 URL
http://override-server tests/config.test.ts:219 中危 外部 URL 外部 URL
http://openclaw-server tests/config.test.ts:234 中危 外部 URL 外部 URL
http://insecure.com tests/config.test.ts:315 中危 外部 URL 外部 URL
http://custom:9000 tests/config.test.ts:501 中危 外部 URL 外部 URL
http://nonexistent-server:9999 tests/tools.test.ts:649 目录结构
72 文件 · 956.7 KB · 30361 行 TypeScript 60f · 26957L
JSON 6f · 1713L
Markdown 4f · 1656L
Shell 1f · 19L
JavaScript 1f · 16L
├─
▾
plugin
│ ├─
▾
import-adapters
│ │ ├─
base-adapter.ts
TypeScript
│ │ ├─
chatgpt-adapter.ts
TypeScript
│ │ ├─
claude-adapter.ts
TypeScript
│ │ ├─
import-adapters.test.ts
TypeScript
│ │ ├─
index.ts
TypeScript
│ │ ├─
mcp-memory-adapter.ts
TypeScript
│ │ ├─
mem0-adapter.ts
TypeScript
│ │ └─
types.ts
TypeScript
│ ├─
api-client.ts
TypeScript
│ ├─
consolidation.test.ts
TypeScript
│ ├─
consolidation.ts
TypeScript
│ ├─
crypto.ts
TypeScript
│ ├─
embedding.ts
TypeScript
│ ├─
extractor-dedup.test.ts
TypeScript
│ ├─
extractor.ts
TypeScript
│ ├─
generate-mnemonic.ts
TypeScript
│ ├─
hot-cache-wrapper.ts
TypeScript
│ ├─
index.ts
TypeScript
│ ├─
llm-client.ts
TypeScript
│ ├─
lsh.test.ts
TypeScript
│ ├─
lsh.ts
TypeScript
│ ├─
openclaw.plugin.json
JSON
│ ├─
package-lock.json
JSON
│ ├─
package.json
JSON
│ ├─
pocv2-e2e-test.ts
TypeScript
│ ├─
porter-stemmer.d.ts
TypeScript
│ ├─
README.md
Markdown
│ ├─
reranker.test.ts
TypeScript
│ ├─
reranker.ts
TypeScript
│ ├─
semantic-dedup.test.ts
TypeScript
│ ├─
semantic-dedup.ts
TypeScript
│ ├─
setup.sh
Shell
│ ├─
store-dedup-wiring.test.ts
TypeScript
│ ├─
subgraph-search.ts
TypeScript
│ └─
subgraph-store.ts
TypeScript
├─
▾
src
│ ├─
▾
extraction
│ │ ├─
dedup.ts
TypeScript
│ │ ├─
extractor.ts
TypeScript
│ │ ├─
index.ts
TypeScript
│ │ └─
prompts.ts
TypeScript
│ ├─
▾
reranker
│ │ └─
cross-encoder.ts
TypeScript
│ ├─
▾
tools
│ │ ├─
export.ts
TypeScript
│ │ ├─
forget.ts
TypeScript
│ │ ├─
index.ts
TypeScript
│ │ ├─
recall.ts
TypeScript
│ │ ├─
remember.ts
TypeScript
│ │ └─
status.ts
TypeScript
│ ├─
▾
triggers
│ │ ├─
agent-end.ts
TypeScript
│ │ ├─
before-agent-start.ts
TypeScript
│ │ ├─
index.ts
TypeScript
│ │ └─
pre-compaction.ts
TypeScript
│ ├─
config.ts
TypeScript
│ ├─
debug.ts
TypeScript
│ ├─
index.ts
TypeScript
│ ├─
totalreclaw-skill.ts
TypeScript
│ └─
types.ts
TypeScript
├─
▾
tests
│ ├─
▾
extraction
│ │ └─
host-llm-integration.test.ts
TypeScript
│ ├─
▾
fixtures
│ │ └─
conversations.ts
TypeScript
│ ├─
▾
integration
│ │ ├─
e2e-flow.test.ts
TypeScript
│ │ ├─
hooks-integration.test.ts
TypeScript
│ │ └─
server-integration.test.ts
TypeScript
│ ├─
config.test.ts
TypeScript
│ ├─
extraction.test.ts
TypeScript
│ ├─
integration.test.ts
TypeScript
│ ├─
reranker.test.ts
TypeScript
│ └─
tools.test.ts
TypeScript
├─
CLAWHUB.md
Markdown
├─
jest.config.js
JavaScript
├─
package.json
JSON
├─
README.md
Markdown
├─
skill.json
JSON
├─
SKILL.md
Markdown
└─
tsconfig.json
JSON
依赖分析 6 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
@huggingface/transformers | ^3.8.1 | npm | 否 | Version range ^3.8.1 not pinned |
@noble/hashes | ^2.0.1 | npm | 否 | BIP-39 / Argon2id crypto library |
@scure/bip39 | ^2.0.1 | npm | 否 | BIP-39 wordlist and mnemonic validation |
permissionless | ^0.3.4 | npm | 否 | ERC-4337 UserOp bundler client |
viem | ^2.46.3 | npm | 否 | Ethereum library for on-chain interactions |
@totalreclaw/core | ^0.1.0 | npm | 否 | WASM crypto module (local, no network) |
安全亮点
✓ Client-side AES-256-GCM encryption — server never sees plaintext
✓ BIP-39 mnemonic (recovery phrase) derives all keys locally via WASM
✓ LSH + embedding-based semantic search preserves E2EE
✓ Credentials stored at ~/.totalreclaw/ only — no credential exfiltration
✓ LLM API keys used only for in-process extraction calls, never transmitted externally
✓ No shell execution, no subprocess, no eval in production code
✓ No access to ~/.ssh, ~/.aws, or other sensitive host paths
✓ Subgraph mode uses ERC-4337 Smart Accounts — no private key management needed
✓ All tools (remember, recall, forget, export, import_from, etc.) fully declared in SKILL.md
✓ Import adapters support dry_run=true preview by default