Skip to content
Report library
Purpose / Other

Recipe Batch Invite To Event Skill Security Audit

What the author says it does (original text)

Add a list of attendees to an existing Google Calendar event and send notifications.

Independent security check

Security risks found

Files checked
1
Risks found
2
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.No risks found
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.Risks found: 1
Medium risk

The command immediately sends event updates to every listed address

Source references: 2
What we found

The patch makes the addresses attendees and explicitly sets `sendUpdates` to `all`. Calendar invitations or updates can therefore deliver event information to external inboxes, without a required confirmation of the final addresses, event, or disclosed content.

Why this matters

A wrong event ID or email address could disclose the meeting subject, timing, participation, and invitation content to unintended people, while also sending messages in the user's name.

This is an active calendar-modification step, and `sendUpdates: "all"` explicitly requests attendee updates. Notifications are part of the stated purpose, not hidden behavior; however, the recipe has no confirmation of the event, final addresses, or disclosed event content before sending. Once placeholders are replaced, a mistaken or external recipient could receive the event. The source shows an instruction to request sending, not that it ran or delivery occurred. A user can require a final event and recipient preview before the patch.

SKILL.md:20In the instructionsOpen original file
Add a list of attendees to an existing Google Calendar event and send notifications.
Show 1 other places
SKILL.md:25In the instructionsOpen original file
1. Get the event: `gws calendar events get --params '{"calendarId": "primary", "eventId": "EVENT_ID"}'`2. Add attendees: `gws calendar events patch --params '{"calendarId": "primary", "eventId": "EVENT_ID", "sendUpdates": "all"}' --json '{"attendees": [{"email": "alice@company.com"}, {"email": "bob@company.com"}, {"email": "carol@company.com"}]}'`3. Verify attendees: `gws calendar events get --params '{"calendarId": "primary", "eventId": "EVENT_ID"}'`
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.No risks found
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.Risks found: 1
Medium risk

The attendee-array patch may replace the existing list instead of appending

Source references: 3
What we found

The step says it will “Add attendees,” but submits a complete `attendees` array without showing any merge with attendees retrieved in step 1. If the underlying calendar API replaces array fields as a unit, existing attendees will be removed.

Why this matters

Existing guests could lose their invitations or receive change notices, causing missed meetings, damaged relationships, or disrupted business arrangements.

What this evidence establishes

The recipe reads the event first, but the patch example submits only three new addresses and does not explicitly merge the existing attendees, so the candidate identifies a plausible list-loss risk. However, the supplied source does not document whether `gws` or Google Calendar merges or replaces the `attendees` array during a patch, so replacement cannot be established from these lines alone. A user can ask the author to document that behavior and show the full attendee list before and after modification.

This assessment concerns the code and conditions shown, not proof that harm has occurred.
SKILL.md:24In the instructionsOpen original file
1. Get the event: `gws calendar events get --params '{"calendarId": "primary", "eventId": "EVENT_ID"}'`2. Add attendees: `gws calendar events patch --params '{"calendarId": "primary", "eventId": "EVENT_ID", "sendUpdates": "all"}' --json '{"attendees": [{"email": "alice@company.com"}, {"email": "bob@company.com"}, {"email": "carol@company.com"}]}'`3. Verify attendees: `gws calendar events get --params '{"calendarId": "primary", "eventId": "EVENT_ID"}'`
Show 2 other places
SKILL.md:25In the instructionsOpen original file
1. Get the event: `gws calendar events get --params '{"calendarId": "primary", "eventId": "EVENT_ID"}'`2. Add attendees: `gws calendar events patch --params '{"calendarId": "primary", "eventId": "EVENT_ID", "sendUpdates": "all"}' --json '{"attendees": [{"email": "alice@company.com"}, {"email": "bob@company.com"}, {"email": "carol@company.com"}]}'`3. Verify attendees: `gws calendar events get --params '{"calendarId": "primary", "eventId": "EVENT_ID"}'`
SKILL.md:26In the instructionsOpen original file
2. Add attendees: `gws calendar events patch --params '{"calendarId": "primary", "eventId": "EVENT_ID", "sendUpdates": "all"}' --json '{"attendees": [{"email": "alice@company.com"}, {"email": "bob@company.com"}, {"email": "carol@company.com"}]}'`3. Verify attendees: `gws calendar events get --params '{"calendarId": "primary", "eventId": "EVENT_ID"}'`

Inside this skill

1 instruction sections

The Skill reads a specified event from the primary calendar, modifies its attendees through a Google Workspace command, and then reads the event again for verification.

View source
SKILL.md:24In the instructionsOpen original file
1. Get the event: `gws calendar events get --params '{"calendarId": "primary", "eventId": "EVENT_ID"}'`2. Add attendees: `gws calendar events patch --params '{"calendarId": "primary", "eventId": "EVENT_ID", "sendUpdates": "all"}' --json '{"attendees": [{"email": "alice@company.com"}, {"email": "bob@company.com"}, {"email": "carol@company.com"}]}'`3. Verify attendees: `gws calendar events get --params '{"calendarId": "primary", "eventId": "EVENT_ID"}'`

The actual calendar operation depends on the separately supplied `gws-calendar` Skill and `gws` program; this source does not expose how they authenticate, handle data, or execute requests.

View source
SKILL.md:9In the instructionsOpen original file
    domain: "scheduling"    requires:      bins:        - gws      skills:        - gws-calendar---
SKILL.md:18In the instructionsOpen original file
> **PREREQUISITE:** Load the following skills to execute this recipe: `gws-calendar`
Start here · InstructionsSKILL.md
recipe-batch-invite-to-event
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source.
Files and check records1 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions
Lines read
28
File checksum (to compare versions)
d01f0310c6645e6a6246e40bd25901e54440262593276d0a8b05d4fb432ada56