T05 · Unauthorized Access and Privilege Escalation
Warning
- Location
- SKILL.md:39
- Finding
- Overbroad Collection of Calendar and Reminder Data## Vulnerability Details **File Location**: `SKILL.md`, lines 39-53 **Vulnerability Type**: Excessive access to local calendar and reminder data **Risk Level**: Medium ### Vulnerable Code ```bash osascript -e 'tell application "Calendar" to get {summary, start date} of every event of calendar "张洋的日历 "' ``` ```bash remindctl show --json ``` ### Technical Analysis The documented purpose is to retrieve calendar events for the current day and reminders due within one week from two specified lists. However, the commands retrieve every event from the selected calendar and all reminders available to `remindctl`. Filtering is expected to occur only after the complete datasets have entered the agent's processing context. This violates least-privilege and data-minimization principles. Unrelated personal or corporate records may be exposed to the agent even though they are unnecessary for generating the daily report. The issue does not bypass macOS permission controls or grant privileges beyond those already assigned to the executing process, but it uses those granted privileges more broadly than the task requires. ### Attack Path 1. A user, cron job, or other configured trigger starts the morning or evening reporting workflow. 2. The skill executes the documented Calendar and Reminders commands under the permissions of the current macOS user. 3. The Calendar command returns every event in the named calendar rather than only events within the current day. 4. `remindctl show --json` returns reminders outside the required lists and one-week deadline window. 5. The excessive data enters the agent context before filtering. 6. Sensitive unrelated information may be incorporated into generated output, retained in execution logs, or accidentally transmitted through the documented Feishu reporting workflow. ### Impact Assessment The exposed scope can include event titles and start times across the complete history or future sc ...[truncated 511 chars]
- Remediation
- ## Remediation Suggestions 1. Restrict Calendar queries at the source to the required start and end timestamps instead of retrieving every event and filtering afterward. 2. Query only the two required reminder lists and apply the one-week due-date boundary before returning records to the agent. 3. Return only fields needed for the report, such as title, due time, status, and calendar or list name. 4. Exclude notes, attendees, URLs, locations, and other sensitive metadata unless explicitly required. 5. Add an explicit review or confirmation step before externally synchronizing report content to Feishu. 6. Prevent raw command output from being stored in logs or persistent agent state. 7. Document the exact macOS permissions required and deny access to unrelated calendars and reminder lists where platform controls permit. 8. Add tests confirming that records outside the configured date range and source lists never enter the agent context.
