other
Warning
- Location
- SKILL.md:39
- Finding
- Unnecessary Persistent Storage of Project and Personnel Information<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 39-43 and 94-97 **Vulnerability Type**: Excessive persistent data storage **Risk Level**: Medium ### Complete Code Snippet ```markdown ### 记录日常进展 收到"记录进展"或项目相关更新时: 1. 在 `WORK_LOG.md` 顶部添加新条目(日期倒序) 2. 格式:`## YYYY-MM-DD` + 具体内容 3. 同步更新个人日志 `memory/YYYY-MM-DD.md` 4. 关键决策同时写入长期记忆(memory_store) ``` ```markdown ## 注意事项 - 项目进展写 WORK_LOG.md,**不混入个人日志** - 关键决策、人员信息同步到长期记忆 ``` ### Technical Analysis The skill instructs the agent to copy project updates into a daily personal-memory file and to store key decisions and personnel information in long-term memory. This persistent duplication is not required to maintain the project records because the same information is already stored in project-specific files such as `WORK_LOG.md`. The instructions are also internally inconsistent: they require synchronization with `memory/YYYY-MM-DD.md` while separately stating that project progress must not be mixed into personal logs. No consent requirement, data classification, filtering, retention period, or deletion procedure is defined. Project updates may contain confidential business information, personal information, credentials accidentally pasted by users, or attacker-controlled content. Persisting this material outside the project directory increases its lifetime and makes it potentially available to unrelated future sessions. This is classified as `other: Excessive Persistent Data Storage`, rather than T02, because the confirmed behavior is unnecessary persistent storage. The reviewed text does not explicitly instruct the agent to store attacker-controlled behavioral rules. ### Attack Path 1. A user or untrusted project artifact supplies a project update containing sensitive or misleading information. 2. The skill records the update in the project `WORK_LOG.md`. 3. Following the skill instructions, the agent also writes the update to `memory/YYYY-MM-DD.md`. 4. Decisions and personnel information ...[truncated 871 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Store project information only within the applicable `projects/<project>/<requirement>/` directory by default. 2. Remove automatic synchronization of project updates to personal daily-memory files. 3. Require explicit, informed user consent before writing any project information to long-term memory. 4. Limit long-term memory to a short, user-approved summary that excludes personnel details, credentials, internal links, and confidential technical information. 5. Apply data classification and secret-detection checks before any persistent memory write. 6. Define retention periods and provide a mechanism to inspect and delete all memory entries associated with a project. 7. Ensure project archival also identifies and removes related persistent-memory records when requested. 8. Resolve the contradictory instructions concerning whether project progress may be placed in personal logs. ]]>
