Back to skill

Security audit

Meeting Scheduler

Security checks for vulnerabilities and agentic risk

Overview

This meeting scheduler is purpose-aligned, but it should be reviewed because it can expose calendar details and delete calendar events without strong confirmation safeguards.

Install only if you are comfortable granting calendar read and write authority. Before using it, require the agent to show a dry-run summary and get explicit approval before contacting anyone, creating invites, or deleting or changing calendar events; prefer free/busy data or redacted busy blocks instead of displaying event titles.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (2)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:65
Finding

Unnecessary Disclosure of Confidential Calendar Event Details

Content
View full analysis
/dev/null \ | python3 -c " import sys, json try: events = json.load(sys.stdin) except json.JSONDecodeError: events = [] # Sort by start time and print each event print('Upcoming events:') for e in sorted(events, key=lambda x: x.get('start', {}).get('dateTime', '')): start = e.get('start', {}).get('dateTime', '')[:16].replace('T', ' ') print(' ', start, '—', e.get('summary', 'Untitled')) " ``` ### Technical Analysis The scheduling task only requires calendar availability, such as occupied start and end times. However, this command retrieves complete event records and explicitly prints each event summary. Event summaries may contain confidential information, including customer names, medical appointments, acquisition discussions, personnel matters, or internal project names. Printing these summaries places them in the agent context and potentially in command logs, audit traces, conversation histories, or other systems that do not require access to this information. This violates least-privilege and data-minimization principles. The later availability script in the same file demonstrates that candidate slots can be calculated using only event start and end values, without displaying summaries. ### Attack Path 1. A scheduling request causes the agent to execute the documented calendar-query workflow. 2. The `gog calendar events` command retrieves complete event records from the owner's primary calendar. 3. The Python pipeline extracts and prints each event's timestamp and summary. 4. Confidential event titles enter the agent's context or execution logs. 5. Any party or system with access to those logs or conversati ...[truncated 630 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:219
Finding

Destructive Rescheduling Deletes the Existing Event Before Replacement Is Secured

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill's invocation description is broad enough to trigger on many ordinary scheduling requests, which increases the chance it will activate in situations where the user did not intend calendar access, third-party outreach, or booking actions. Because this skill can read calendars and create invites, overbroad routing raises the risk of unintended data access and external actions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description authorizes sensitive actions including calendar reads, contacting another person or PA, creating invites, and later deletion/rescheduling behavior, but it does not prominently warn that the skill can access private scheduling data and perform external or state-changing operations. In practice, this can lead to users invoking the skill without understanding that it may expose availability details or send messages on their behalf.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The rescheduling flow instructs deletion of an existing calendar event as a routine step, but does not require a confirmation checkpoint or warn that this is destructive and may remove attendee coordination state. If triggered incorrectly or with the wrong event ID, it could cancel the wrong meeting and disrupt multiple parties.

Content

No source excerpt is available for this finding.