跳转到正文
报告库
用途分类 / 其他用途

Recipe Batch Invite To Event Skill 安全审计

作者说它能做什么(原文)

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

第三方安全检查结论

发现安全风险

已检查文件
1
发现的风险
2
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。未发现风险
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 1 项风险
中风险

命令会立即向列出的邮箱发送事件更新

原文依据:2 处
发现了什么

修改命令将这些地址设为参会者,并明确使用 `sendUpdates: "all"`。日历邀请或更新通常会把事件信息发送到这些外部收件箱;步骤中没有要求用户在发送前确认最终地址、事件或可披露内容。

为什么需要注意

如果事件 ID 或邮箱填写错误,会议主题、时间、参与关系及邀请内容可能披露给非预期人员,同时还会代表用户发送通知。

这是主动执行的日历修改步骤,`sendUpdates: "all"` 明确要求向参会者发送更新。发送通知符合技能公开用途,并非隐藏行为;但示例在发送前没有确认事件、最终邮箱列表或事件内容,因此替换占位符后执行可能把事件信息发给错误或外部收件人。来源只能证明指令会请求发送,不能证明命令已执行或通知必然送达。用户可要求在 patch 前展示并确认事件与完整收件人列表。

SKILL.md:20来自说明文档打开原文件
Add a list of attendees to an existing Google Calendar event and send notifications.
查看另外 1 个位置
SKILL.md:25来自说明文档打开原文件
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"}'`
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。未发现风险
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。发现 1 项风险
中风险

参会者数组补丁可能替换现有名单,而不只是追加

原文依据:3 处
发现了什么

此步骤声称“Add attendees”,但提交的是一个完整 `attendees` 数组,没有展示将第 1 步读取到的现有参会者合并进去。若底层日历 API 对数组字段采用整体替换语义,原参会者会被移除。

为什么需要注意

现有来宾可能失去邀请或收到变更通知,导致遗漏会议、关系受损或业务安排被扰乱。

这段证据能说明什么

配方先读取事件,但补丁示例只提交三个新地址,没有明确把读取到的现有参会者合并进去,因此候选指出的名单丢失风险有依据。不过,所给来源没有 `gws` 或 Google Calendar 对 `attendees` 数组执行 patch 时的合并/替换语义,无法仅凭这些行确认原名单会被替换。用户可要求作者说明该字段语义,并在修改前后展示完整参会者名单。

这项判断针对展示的代码和适用条件,不表示风险已经实际发生。
SKILL.md:24来自说明文档打开原文件
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"}'`
查看另外 2 个位置
SKILL.md:25来自说明文档打开原文件
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:26来自说明文档打开原文件
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 逻辑拆解

1 个说明模块

此 Skill 先读取主日历中的指定事件,然后通过 Google Workspace 命令修改参会者,最后重新读取事件进行核验。

查看原文
SKILL.md:24来自说明文档打开原文件
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"}'`

实际日历操作依赖未随来源提供的 `gws-calendar` Skill 和 `gws` 程序;这里无法核验它们如何认证、处理数据或执行请求。

查看原文
SKILL.md:9来自说明文档打开原文件
    domain: "scheduling"    requires:      bins:        - gws      skills:        - gws-calendar---
SKILL.md:18来自说明文档打开原文件
> **PREREQUISITE:** Load the following skills to execute this recipe: `gws-calendar`
从这里开始 · 工作说明SKILL.md
recipe-batch-invite-to-event
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

下方列出本次涉及的原文范围;纳入检查不代表已查清所有问题。

  • SKILL.md已纳入全文

这份报告只针对上方版本。我们看了拿到的代码和说明文件,没有实际运行 Skill,也没有检查它另外安装的软件包。因此,这不是“保证安全”的承诺;换了版本或使用环境,结果也可能不同。

  • SKILL.md工作说明
读取了多少行
28
文件校验值(用于核对版本)
d01f0310c6645e6a6246e40bd25901e54440262593276d0a8b05d4fb432ada56