T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:191- Finding
Overbroad Access to Persistent Agent Memory for Feishu Target Resolution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:191-194and repeated atSKILL.md:216-220
Vulnerability Type: Least-privilege violation through access to general-purpose persistent memory
Risk Level: LowRelevant excerpt translated into English:
text ### Stage Four: Read the draft and send it 1. Read [WORKSPACE]/memory/ai-news-draft.md 2. Invoke the message tool to send to Feishu: target="Dynamically read the Feishu user ID from [WORKSPACE]/MEMORY.md" 3. Delete [WORKSPACE]/memory/ai-news-draft.md after sending Feishu target format: "Dynamically read the Feishu user ID from [WORKSPACE]/MEMORY.md" message( action=send, channel=feishu, target="Dynamically read the Feishu user ID from [WORKSPACE]/MEMORY.md", message="content" )Technical Analysis
The Skill instructs the Agent to access the general-purpose persistent file
[WORKSPACE]/MEMORY.mdto retrieve a Feishu user ID. A persistent Agent memory file can contain information unrelated to news delivery, including conversation context, identifiers, preferences, or operational state.Reading this broad memory store violates least privilege because the sending workflow only requires one destination identifier. The Skill does not define a constrained parser, dedicated configuration field, access-control boundary, or validation procedure that limits retrieval to the intended identifier.
This finding does not establish that the complete memory file is transmitted externally. The documented outbound message contains the generated news digest, while the memory-derived value is used as the Feishu destination. The confirmed issue is unnecessary access to a broader persistent data store than the task requires.
Attack Path
- A cron invocation places the Skill in sending mode.
- The Agent reads
[WORKSPACE]/memory/ai-news-draft.md. - To determine the Feishu destination, the Skill directs the Agent to open t ...[truncated 989 chars]
- Remediation
View remediation
Remediation Suggestions
- Store the Feishu recipient ID in a dedicated configuration field, such as
[WORKSPACE]/config/ai-news-tracker.json, containing only the required target. - Prefer a platform-managed secret or environment variable, such as
FEISHU_NEWS_TARGET, with access restricted to this Skill. - Prohibit the workflow from reading general-purpose Agent memory for transport configuration.
- Validate the target against the expected Feishu identifier format before invoking the messaging tool.
- Apply an allowlist so the Skill can send only to explicitly configured recipients.
- Ensure logs do not record recipient identifiers or unrelated memory content.
- If migration from
MEMORY.mdis necessary, perform a one-time extraction under explicit user approval and then remove the memory-reading instruction.
- Store the Feishu recipient ID in a dedicated configuration field, such as
