T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:3- Finding
Sensitive memory may be processed by an unverifiable external service
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 3-31
Vulnerability Type: External processing of sensitive agent memory without documented safeguards
Risk Level: MediumEvidence
The skill states that it searches Markdown memory files under
/root/workspace/Remember, invokes a script outside the reviewed project, and uses the SiliconFlow API for vector embedding and reranking:text Search Markdown memory files under /root/workspace/Remember. Invoke the local retrieval script /opt/memory/bm25_rerank_search.py. Vector and reranking service: SiliconFlow APIThe documented commands are:
bash python3 /opt/memory/bm25_rerank_search.py search <query> python3 /opt/memory/bm25_rerank_search.py reindexThe documented retrieval process is:
text 1. BM25 keyword matching produces candidate set A. 2. BGE-M3 vector similarity produces candidate set B. 3. Candidate sets A and B are merged. 4. BGE-Reranker-v2-m3 reranks the merged results.Technical Analysis
The skill is designed to read memory from a root-owned workspace and depends on an external API for embedding and reranking. Memory files can contain conversation history, credentials, personal information, internal instructions, or operational secrets.
The implementation at
/opt/memory/bm25_rerank_search.pyis outside the reviewed project and was not available for inspection. Consequently, the audit cannot verify:- Which memory content is transmitted to SiliconFlow.
- Whether secrets or personal data are redacted.
- Whether requests are limited to approved endpoints.
- Whether transport and certificate validation are securely configured.
- Whether queries, document fragments, embeddings, or reranking candidates are retained externally.
- Whether reindexing sends the entire memory corpus to the service.
Accessing
/root/workspace/Rememberalso creates a broad privilege boundary. The document ...[truncated 1714 chars]- Remediation
View remediation
Remediation Suggestions
- Include
/opt/memory/bm25_rerank_search.pyin the reviewed package or provide a reproducibly pinned source reference so its file access and network behavior can be audited. - Restrict retrieval to an explicit allowlist of approved files and reject path traversal, symbolic-link escapes, and access outside the configured memory directory.
- Run the script as a dedicated unprivileged account rather than relying on broad access to a root-owned workspace.
- Use local embedding and reranking models when memory may contain sensitive information.
- If an external service is required, obtain explicit user consent and document the endpoint, transmitted fields, retention policy, and data-processing boundary.
- Redact credentials, tokens, personal data, and other secrets before any network request.
- Minimize transmitted content and avoid sending complete documents when short, sanitized fragments or local embeddings are sufficient.
- Enforce HTTPS certificate validation, an endpoint allowlist, request-size limits, timeouts, and auditable network logging.
- Separate reindexing from external processing and ensure that reindexing cannot upload the entire memory corpus without explicit authorization.
- Include
