个人知识库

PassAudited by VirusTotal on May 11, 2026.

Overview

Type: OpenClaw Skill Name: personal-knowledge-base Version: 1.0.0 The skill bundle implements a functional RAG (Retrieval-Augmented Generation) system using FAISS and ZhipuAI, but contains significant security vulnerabilities. Specifically, 'scripts/knowledge_base_manager.py' uses the 'pickle' module for data persistence of vector metadata and indices, which is susceptible to Remote Code Execution (RCE) if the storage files are tampered with. Furthermore, the script handles file operations and directory creation based on user-supplied knowledge base names without robust path sanitization, creating a potential path traversal risk. While these appear to be unintentional architectural flaws rather than intentional malice, the combination of insecure deserialization and broad file system access warrants a suspicious classification.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A ZhipuAI API key placed in config.txt could be revealed in local logs or chat/runtime output, letting someone else use the user’s provider account if they can see those logs.

Why it was flagged

The documentation allows storing the provider API key in config.txt, and the loader stores arbitrary config keys then logs the full config at INFO level. If a user uses the documented config-file API key method, the key may be exposed in logs.

Skill content
SKILL.md: `ZHIPUAI_API_KEY=your-api-key-here`; script: `config[key] = value` ... `logger.info(f"配置加载成功: {config}")`
Recommendation

Use the environment-variable method rather than config.txt, and the skill author should redact secrets before logging or avoid logging the full config.

What this means

Private documents imported into the knowledge base may remain stored locally and relevant excerpts may be sent to ZhipuAI during embedding or answering.

Why it was flagged

The skill persistently stores original files and vector metadata, then reuses retrieved document chunks for later answers and sends relevant content to the LLM provider.

Skill content
`Skill 会将文件复制到知识库的 sourcefiles 目录,然后自动将文件内容分割为文本块,生成向量并存储到 vectordb 目录` ... `Send relevant content and question to LLM for answer`
Recommendation

Only import files you are comfortable storing in the configured workspace and processing with the external AI provider; delete files from the knowledge base when no longer needed.

What this means

A user-requested delete operation removes the knowledge-base copy of a file and its searchable vectors, so the content will no longer be retrievable through the skill.

Why it was flagged

The skill can delete stored source files and their vectorized chunks as part of the documented knowledge-base deletion workflow.

Skill content
`删除向量库中该文件相关的所有文本块` ... `删除sourcefiles目录下的原始文件`
Recommendation

Confirm the target knowledge base and filename before asking the agent to delete or update files.

What this means

Installing unpinned packages can pull newer or different dependency versions than the author tested.

Why it was flagged

The skill depends on multiple third-party Python packages, and the documentation lists package names without pinned versions or hashes.

Skill content
`faiss-cpu`, `langchain`, `langchain-community`, `langchain-text-splitters`, `pypdf`, `python-docx`, `python-pptx`, `markdown`, `zhipuai`, `docx2txt`
Recommendation

Install dependencies in a virtual environment and prefer pinned versions from a trusted requirements file if the author provides one.