Scan Report
10 /100
hawk-bridge
OpenClaw Hook Bridge + context-hawk Python Memory Engine. Auto-capture memories on every reply, auto-inject relevant memories before each response.
hawk-bridge is a legitimate memory management plugin for OpenClaw AI agents with well-documented subprocess usage for LLM-based memory extraction, comprehensive sensitive data sanitization before storage, and no malicious behavior detected.
Safe to install
Approve for use. The skill's shell command usage (install.sh) and Python subprocess spawning (hawk-capture) are both explicitly declared and functionally necessary for its memory extraction architecture.
Findings 2 items
| Severity | Finding | Location |
|---|---|---|
| Low | Unpinned dependency versions Supply Chain | package.json:12 |
| Info | IOC flags are documentation artifacts, not executable threats Doc Mismatch | README.de.md, SKILL.md:154 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | WRITE | WRITE | ✓ Aligned | Stores memories to ~/.hawk/lancedb/; declared in SKILL.md architecture |
| Network | READ | READ | ✓ Aligned | Makes API calls to embedding/LLM providers (Jina, Qianwen, Groq, Ollama) |
| Shell | WRITE | WRITE | ✓ Aligned | install.sh runs npm/pip; hawk-capture spawns Python subprocess - both declared |
| Environment | READ | READ | ✓ Aligned | Reads MINIMAX_API_KEY, OPENAI_API_KEY, OLLAMA_BASE_URL for configuration |
3 Critical 26 findings
Critical Dangerous Command 危险 Shell 命令
curl -fsSL https://ollama.com/install.sh | sh README.de.md:154 Critical Dangerous Command 危险 Shell 命令
curl | bash README.de.md:413 Critical Dangerous Command 危险 Shell 命令
rm -rf ~ SKILL.md:275 Medium External URL 外部 URL
https://img.shields.io/badge/License-MIT-green.svg README.de.md:7 Medium External URL 外部 URL
https://img.shields.io/badge/OpenClaw-2026.3%2B-brightgreen README.de.md:8 Medium External URL 外部 URL
https://img.shields.io/badge/Node.js-%3E%3D18-brightgreen README.de.md:9 Medium External URL 外部 URL
https://nodejs.org README.de.md:9 Medium External URL 外部 URL
https://img.shields.io/badge/Python-3.12%2B-blue README.de.md:10 Medium External URL 外部 URL
https://python.org README.de.md:10 Medium External URL 外部 URL
https://ollama.com/install.sh README.de.md:154 Medium External URL 外部 URL
https://jina.ai/ README.de.md:353 Medium External URL 外部 URL
https://jina.ai/settings/ README.de.md:354 Medium External URL 外部 URL
https://dashscope.console.aliyun.com/ README.md:511 Medium External URL 外部 URL
https://dashscope.console.aliyun.com/apiKey README.md:513 Medium External URL 外部 URL
http://192.168.1.109:10808 README.md:527 Medium External URL 外部 URL
https://dashscope.aliyuncs.com/api/v1 README.md:536 Medium External URL 外部 URL
https://dashscope.console.aliyun.com/(可用阿里云账号) README.zh-CN.md:487 Medium External URL 外部 URL
https://jina.ai/(支持 README.zh-CN.md:499 Medium External URL 外部 URL
https://jina.ai/(支援 README.zh-TW.md:354 Medium External URL 外部 URL
https://api.minimaxi.com/v1 config.example.json:10 Medium External URL 外部 URL
https://api.minimaxi.com/anthropic config.example.json:16 Medium External URL 外部 URL
https://deb.nodesource.com/setup_20.x install.sh:144 Medium External URL 外部 URL
https://api.jina.ai/v1/embeddings src/embeddings.ts:125 Medium External URL 外部 URL
https://api.cohere.ai/v1/embed src/embeddings.ts:141 Medium External URL 外部 URL
https://api.jina.ai/v1/rerank src/retriever.ts:168 Info Email 邮箱地址
[email protected] README.de.md:147 File Tree
31 files · 310.9 KB · 8622 lines Markdown 14f · 5914L
TypeScript 10f · 1967L
Shell 1f · 351L
JSON 5f · 347L
Python 1f · 43L
├─
▾
python
│ └─
▾
hawk_memory
│ └─
__init__.py
Python
├─
▾
src
│ ├─
▾
hooks
│ │ ├─
▾
hawk-capture
│ │ │ ├─
handler.ts
TypeScript
│ │ │ └─
HOOK.md
Markdown
│ │ └─
▾
hawk-recall
│ │ ├─
handler.ts
TypeScript
│ │ └─
HOOK.md
Markdown
│ ├─
config.ts
TypeScript
│ ├─
constants.ts
TypeScript
│ ├─
embeddings.ts
TypeScript
│ ├─
index.ts
TypeScript
│ ├─
lancedb.ts
TypeScript
│ ├─
retriever.ts
TypeScript
│ ├─
seed.ts
TypeScript
│ └─
types.ts
TypeScript
├─
config.example.json
JSON
├─
install.sh
Shell
├─
manifest.json
JSON
├─
openclaw.plugin.json
JSON
├─
package.json
JSON
├─
README.de.md
Markdown
├─
README.es.md
Markdown
├─
README.fr.md
Markdown
├─
README.it.md
Markdown
├─
README.ja.md
Markdown
├─
README.ko.md
Markdown
├─
README.md
Markdown
├─
README.pt-BR.md
Markdown
├─
README.ru.md
Markdown
├─
README.zh-CN.md
Markdown
├─
README.zh-TW.md
Markdown
├─
SKILL.md
Markdown
└─
tsconfig.json
JSON
Dependencies 5 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
@lancedb/lancedb | ^0.26.2 | npm | No | Version not pinned with lock file |
openai | ^6.21.0 | npm | No | Version not pinned with lock file |
lancedb | * | pip | No | No version constraint |
openai | * | pip | No | No version constraint |
rank-bm25 | * | pip | No | No version constraint |
Security Positives
✓ Comprehensive sensitive data sanitization before storage: API keys, AWS keys, GitHub tokens, phone numbers, emails, national IDs, and credit cards are redacted before memories are stored
✓ Harmful content filtering: CSAM, hacking, fraud, and violence patterns are rejected at capture time
✓ Audit logging: All capture/skip/reject/recall events logged to ~/.hawk/audit.log
✓ No external data exfiltration: All network calls are to declared embedding/LLM provider APIs
✓ Python subprocess timeout: 30-second SIGTERM timeout prevents runaway processes
✓ No hidden functionality: The 28-step text normalization pipeline is fully visible in handler.ts
✓ Deduplication: Char-based similarity check prevents near-duplicate memories
✓ TTL-based expiry: Memories auto-expire after 30 days, reducing long-term data exposure