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

Gws Calendar Agenda Skill 安全审计

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

Google Calendar: Show upcoming events across all calendars.

第三方安全检查结论

发现安全风险

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

默认查询所有日历,可能向代理和命令输出暴露不必要的事件信息

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

不带 `--calendar` 运行时会查询所有日历,而日历事件可能包含会议主题、参与者、地点以及个人安排。Skill 提供了缩小范围的参数,但默认示例未使用它。

为什么需要注意

如果用户只想查看某个工作日历,其他个人或共享日历中的内容也可能出现在代理可见的输出、终端记录或会话记录中。源码没有显示这些数据会被发送到额外的第三方。

这是该 Skill 的预期只读功能,但默认命令会查询用户的所有日历,而不是最小必要范围。若代理的输出、日志或会话可被他人访问,返回的日程信息可能造成不必要的隐私暴露;源码没有说明具体返回哪些事件字段。用户可要求默认限定 `--calendar` 或仅使用所需日历。

SKILL.md:23来自说明文档打开原文件
```bashgws calendar +agenda```
查看另外 4 个位置
SKILL.md:34来自说明文档打开原文件
| `--days` | — | — | Number of days ahead to show || `--calendar` | — | — | Filter to specific calendar name or ID || `--timezone` | — | — | IANA timezone override (e.g. America/Denver). Defaults to Google account timezone. |
SKILL.md:50来自说明文档打开原文件
- Read-only — never modifies events.- Queries all calendars by default; use --calendar to filter.- Uses your Google account timezone by default; override with --timezone.
SKILL.md:18来自说明文档打开原文件
Show upcoming events across all calendars
SKILL.md:49来自说明文档打开原文件
- Read-only — never modifies events.- Queries all calendars by default; use --calendar to filter.- Uses your Google account timezone by default; override with --timezone.
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。发现 1 项风险
中风险

缺少共享 Skill 时会要求运行生成命令并信任本次审计未覆盖的新指令

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

前置步骤要求在共享文件不存在时运行 `gws generate-skills`。这会生成持久文件,随后代理将读取其中的身份验证与安全指令;生成内容和生成器实现均未提供。

为什么需要注意

生成器可能在 Skill 目录中新增或覆盖文件,并扩大代理将遵循的指令范围。本材料无法确定具体写入目标,也无法验证生成内容是否符合此 Skill 的只读日历目的。

这段证据能说明什么

该指令确实要求在共享 Skill 缺失时运行生成命令,然后把生成的文件作为身份验证和安全规则读取,因此审计范围外内容可能影响代理决策。不过,所给源码不含 `gws` 的实现,无法确认命令具体写入位置、覆盖行为、生成内容或所需权限;也不能仅凭这行断定存在恶意或危险写入。运行前可要求作者提供生成器实现及生成文件样本。

这项判断针对展示的代码和适用条件,不表示风险已经实际发生。
SKILL.md:16来自说明文档打开原文件
> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
查看另外 2 个位置
SKILL.md:8来自说明文档打开原文件
    category: "productivity"    requires:      bins:        - gws    cliHelp: "gws calendar +agenda --help"---
SKILL.md:55来自说明文档打开原文件
- [gws-shared](../gws-shared/SKILL.md) — Global flags and auth- [gws-calendar](../gws-calendar/SKILL.md) — All manage calendars and events commands
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。未发现风险
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

5 个说明模块

此 Skill 的实时操作是运行 `gws calendar +agenda`,读取 Google 账号中即将发生的日历事件;可按日期、日历和时区缩小范围。

查看原文
SKILL.md:18来自说明文档打开原文件
Show upcoming events across all calendars
SKILL.md:22来自说明文档打开原文件
```bashgws calendar +agenda```
SKILL.md:30来自说明文档打开原文件
|------|----------|---------|-------------|| `--today` | — | — | Show today's events || `--tomorrow` | — | — | Show tomorrow's events || `--week` | — | — | Show this week's events || `--days` | — | — | Number of days ahead to show || `--calendar` | — | — | Filter to specific calendar name or ID || `--timezone` | — | — | IANA timezone override (e.g. America/Denver). Defaults to Google account timezone. |

文档声称议程命令是只读的,不会修改事件;所提供源码未包含命令实现,因此该声明无法从实现层面核实。

查看原文
SKILL.md:49来自说明文档打开原文件
- Read-only — never modifies events.- Queries all calendars by default; use --calendar to filter.

此 Skill 把身份验证、全局参数和安全规则委托给相邻的共享 Skill;该共享文件没有包含在本次材料中。

查看原文
SKILL.md:16来自说明文档打开原文件
> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
SKILL.md:55来自说明文档打开原文件
- [gws-shared](../gws-shared/SKILL.md) — Global flags and auth- [gws-calendar](../gws-calendar/SKILL.md) — All manage calendars and events commands
从这里开始 · 工作说明SKILL.md
gws-calendar-agenda
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文

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

  • SKILL.md工作说明

代码和说明中提到的操作

运行命令
SKILL.md:22来自说明文档打开原文件
```bashgws calendar +agenda
SKILL.md:39来自说明文档打开原文件
```bashgws calendar +agenda
读取了多少行
57
文件校验值(用于核对版本)
160a8333f746d0139983e584bce6f23986b0ca94895671650fdc9605108d3738