扫描报告
22 /100
lookupmark-local-rag
Semantic search over local files using all-MiniLM-L6-v2 embeddings and ms-marco-MiniLM-L-6-v2 cross-encoder reranking with ChromaDB and parent-child chunking
A legitimate local document indexing and search tool with well-defined security boundaries, though it uses undocumented shell commands for dependency installation and monitoring.
可以安装
Approve for use with standard sandboxing. Declare subprocess usage in SKILL.md and fix the documentation mismatch on supported file types.
安全发现 3 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | Subprocess usage not declared in SKILL.md 文档欺骗 | scripts/index.py:96 |
| 低危 | Supported file type mismatch between docs and code 文档欺骗 | scripts/index.py:51 |
| 低危 | Unpinned dependency (index-batch.sh: uv pip install) 供应链 | scripts/index.py:96 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | WRITE | ✓ 一致 | SKILL.md: 'Optimized for low-RAM ARM devices' — file writes are to ~/.local/shar… |
| 网络访问 | READ | READ | ✓ 一致 | Downloads sentence-transformer models from HuggingFace; all model downloads are … |
| 命令执行 | NONE | WRITE | ✗ 越权 | scripts/index.py:96 subprocess.check_call(['uv', 'pip', 'install', ...]); script… |
目录结构
6 文件 · 31.5 KB · 962 行 Python 3f · 671L
Shell 1f · 157L
Markdown 1f · 129L
JSON 1f · 5L
├─
▾
scripts
│ ├─
index-batch.sh
Shell
│ ├─
index.py
Python
│ ├─
monitor.py
Python
│ └─
query.py
Python
├─
_meta.json
JSON
└─
SKILL.md
Markdown
依赖分析 3 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
chromadb | * | pip | 否 | Version not pinned — indirect dependency via requirements |
sentence-transformers | * | pip | 否 | Version not pinned — core dependency |
python-docx | * | pip | 否 | Version not pinned; installed on-demand by index.py |
安全亮点
✓ Security boundaries are well-implemented: ALLOWED_ROOTS restrict indexing to ~/Documenti and ~/Scaricati only
✓ BLOCKED_PATTERNS explicitly exclude .ssh, .gnupg, .env, credentials, tokens, and .config/openclaw
✓ File hash checking (SHA-256) prevents re-indexing unchanged files — no data duplication risk
✓ No hardcoded credentials, API keys, or secrets anywhere in the codebase
✓ No base64, eval, or obfuscation patterns present
✓ No external network calls except to HuggingFace for model downloads (legitimate and declared)
✓ No C2, reverse shell, or data exfiltration behavior observed
✓ Git-based rollback in index-batch.sh provides integrity protection against corruption
✓ OOM protection via SIGKILL detection and rollback is a responsible design choice for low-RAM devices
✓ Trustworthy purpose: local semantic document search with no outbound data transmission