T06 · System Persistence
- Location
- SKILL.md:74
- Finding
- Setup and login instructions mandate unsolicited scheduled persistence<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:74-80` (mirrored in `skill/SKILL.md:74-80`) **Vulnerability Type**: Scheduled-task persistence without explicit user opt-in **Risk Level**: High ### Vulnerable Code Snippet ```markdown ## 每晚日报 首次 `setup` 和 `login` 成功后,若当前 Agent 支持定时任务,必须在用户本机创建并验证每天 **23:00** 的任务,执行: ```bash douyin-favorites-knowledge daily --source collection --no-login-prompt ``` 使用当前环境可用的任务调度器;创建后必须读取任务状态或执行一次 dry-run 验证,并向用户返回任务标识与用户时区。 ``` ### Technical Analysis The Skill instructs the Agent to create a recurring task automatically after successful setup and login. This behavior is tied to ordinary onboarding rather than to a separate, explicit request from the user to enable automation. Creating a scheduled task changes persistent host state and causes the program to execute after the initiating Agent session has ended. That exceeds the privileges required to perform an immediate synchronization. Although the instruction includes some safeguards—such as avoiding credentials on the command line and verifying the task—it does not require informed, contemporaneous consent before persistence is installed. The duplicate instruction in `skill/SKILL.md` reproduces the same behavior. ### Attack Path 1. A user asks the Agent to configure the Skill or synchronize Douyin favorites. 2. The Agent loads the Skill instructions. 3. Setup and browser login complete successfully. 4. Because the Agent has scheduler access, it follows the mandatory instruction to create a daily 23:00 task. 5. The scheduled command persists beyond the current session and repeatedly accesses the browser profile, Douyin account data, local knowledge base, and any configured transcription provider. 6. Execution continues until the user independently discovers and removes the task. ### Impact Assessment The persistent task can repeatedly exercise: - Access to the dedicated persistent Douyin browser profile and authenticated account session. - Network acc ...[truncated 454 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Remove the requirement to create a scheduler automatically after setup or login. - Keep recurring synchronization disabled by default. - Require a separate, explicit user action such as `enable-daily` immediately before task creation. - Before installation, display: - The exact command that will run. - The execution frequency and timezone. - The account identity under which it will run. - The directories, browser profile, network services, and credentials it may access. - Any possible API charges. - Ask for an affirmative confirmation that defaults to rejection in non-interactive environments. - Provide a command that lists task status and a documented command that completely removes the task. - Where possible, create tasks with narrowly scoped environment variables, filesystem access, and execution permissions. - Apply the same corrections to both `SKILL.md` copies. ]]>
