T01 · Skill Instruction Hijacking
Warning
- Location
- SKILL.md:10
- Finding
- Overbroad mandatory activation causes unnecessary calendar access<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:10-17` **Vulnerability Type**: Overbroad activation instructions and violation of least privilege **Risk Level**: Medium ### Vulnerable Code ```markdown ## 触发条件 **只要用户问任何涉及日程、会议、安排、日历、工作、任务、事情的问题,必须调用此技能。** - "明天有什么安排" / "这周有什么会" / "本月日程" - "帮我看看日历" / "我今天几点有会" - "这个月会议一共多少小时" - "我下周有啥工作" / "明天要做啥" / "这周有什么事" - "下周安排" / "有啥任务" / "日程表看一下" - 任何时间 + 安排/会议/事件/工作/任务/事情的组合问法 ``` ### Technical Analysis The Skill instructs the agent that it must invoke the calendar integration whenever a request contains broad concepts such as work, tasks, arrangements, or “things.” These terms do not necessarily indicate that the user intends to access Microsoft Outlook. Invocation can load reusable Microsoft session cookies or a bearer token and retrieve private event metadata. Requiring this access for ambiguous, non-calendar requests exceeds the minimum privileges necessary for the declared calendar-reading function. This is best classified as instruction hijacking because the Skill text imposes unconditional invocation behavior that can override the agent's contextual determination of whether calendar access is appropriate. ### Attack Path 1. A user asks a generic question concerning work or tasks without requesting calendar access. 2. The mandatory trigger instruction causes the agent to invoke the Skill. 3. The Skill loads cached Outlook authentication material. 4. It requests calendar information from Microsoft Outlook. 5. Private event subjects, times, statuses, or organizer identities are exposed to the agent despite the absence of explicit calendar intent. ### Impact Assessment An attacker does not gain operating-system privileges through this issue. However, unrelated prompts can cause access to the authenticated user's corporate calendar. The exposed scope includes event subjects, start and end times, availability state, all-day status, and organizer names returned by the API. ]]>
- Remediation
- <![CDATA[ ## Remediation Suggestions - Restrict activation to explicit requests to read or analyze an Outlook calendar. - Remove unconditional language requiring invocation for every mention of work, tasks, or generic activities. - Ask for confirmation when a request is ambiguous. - Avoid loading cookies or tokens until calendar access has been clearly established as necessary. - Document the categories of calendar information that will be accessed before the first invocation. ]]>
