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

Gws Events Subscribe Skill 安全审计

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

Google Workspace Events: Subscribe to Workspace events and stream them as NDJSON.

第三方安全检查结论

发现安全风险

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

Workspace 事件内容可能进入终端记录或长期保存在本地 JSON 文件中

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

命令会以 NDJSON 输出事件,并可把每个事件写入指定目录;示例订阅的是聊天消息创建事件。事件载荷可能包含消息内容、人员或空间标识等 Workspace 数据。

为什么需要注意

共享终端日志、代理会话记录、备份或权限宽松的输出目录可能让其他人读取这些事件数据。

该 Skill 明确把 Workspace 事件流输出为 NDJSON,并允许将每个事件写入本地目录;示例订阅聊天消息创建事件。因此,在用户启用 `--output-dir` 或终端输出被记录时,事件载荷可能留存在本地文件或日志中。来源未展示具体载荷字段,不能断定一定包含消息正文。用户可要求作者说明字段与保留策略,并将输出限制到受保护的临时目录。

SKILL.md:18来自说明文档打开原文件
Subscribe to Workspace events and stream them as NDJSON
查看另外 2 个位置
SKILL.md:39来自说明文档打开原文件
| `--no-ack` | — | — | Don't auto-acknowledge messages || `--output-dir` | — | — | Write each event to a separate JSON file in this directory |
SKILL.md:44来自说明文档打开原文件
```bashgws events +subscribe --target '//chat.googleapis.com/spaces/SPACE' --event-types 'google.workspace.chat.message.v1.created' --project my-projectgws events +subscribe --subscription projects/p/subscriptions/my-sub --once
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 2 项风险
中风险

订阅默认自动确认消息,可能改变其他消费者的重试与恢复结果

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

`--no-ack` 被描述为禁止自动确认,这表明默认行为会确认已拉取的消息;`--once` 示例也使用现有订阅。确认是对共享 Pub/Sub 订阅状态的修改。

为什么需要注意

如果处理、保存或后续步骤失败,已确认的消息通常不会再通过同一订阅重投,可能导致其他工作流漏处理事件。

`--no-ack` 的说明表明默认会自动确认拉取的消息,而命令可以直接使用现有订阅。确认会改变该 Pub/Sub 订阅的交付状态,可能使共用同一订阅的其他消费者无法再次收到这些消息;但不会据此影响其他独立订阅。用户可先用专用订阅或 `--no-ack`,并要求作者明确确认发生的时点和失败处理。

SKILL.md:33来自说明文档打开原文件
| `--project` | — | — | GCP project ID for Pub/Sub resources || `--subscription` | — | — | Existing Pub/Sub subscription name (skip setup) || `--max-messages` | — | 10 | Max messages per pull batch (default: 10) || `--poll-interval` | — | 5 | Seconds between pulls (default: 5) || `--once` | — | — | Pull once and exit || `--cleanup` | — | — | Delete created Pub/Sub resources on exit || `--no-ack` | — | — | Don't auto-acknowledge messages || `--output-dir` | — | — | Write each event to a separate JSON file in this directory |
查看另外 2 个位置
SKILL.md:45来自说明文档打开原文件
gws events +subscribe --target '//chat.googleapis.com/spaces/SPACE' --event-types 'google.workspace.chat.message.v1.created' --project my-projectgws events +subscribe --subscription projects/p/subscriptions/my-sub --oncegws events +subscribe ... --cleanup --output-dir ./events
SKILL.md:38来自说明文档打开原文件
| `--cleanup` | — | — | Delete created Pub/Sub resources on exit || `--no-ack` | — | — | Don't auto-acknowledge messages || `--output-dir` | — | — | Write each event to a separate JSON file in this directory |
中风险

命令会创建可持续存在的 GCP Pub/Sub 资源,或在退出时删除所创建资源

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

指定项目进行订阅设置时会涉及 Pub/Sub 资源;文档说明不使用 `--cleanup` 时资源持续存在,而该标志会在退出时删除创建的资源。

为什么需要注意

遗留资源会扩大云账户中的管理范围并可能产生费用;误用清理选项则可能删除仍计划用于重连的资源。

文档明确表示命令可为指定 GCP 项目设置 Pub/Sub 资源:默认情况下这些资源会持续存在,使用 `--cleanup` 则在退出时删除所创建的资源。这可能产生持续费用、权限暴露,或在清理时造成资源丢失;限定语“created”未证明会删除预先存在的资源。用户应在执行前确认项目、资源名称、费用与清理范围;Skill 本身也要求执行前确认。

SKILL.md:32来自说明文档打开原文件
| `--event-types` | — | — | Comma-separated CloudEvents types to subscribe to || `--project` | — | — | GCP project ID for Pub/Sub resources || `--subscription` | — | — | Existing Pub/Sub subscription name (skip setup) || `--max-messages` | — | 10 | Max messages per pull batch (default: 10) || `--poll-interval` | — | 5 | Seconds between pulls (default: 5) || `--once` | — | — | Pull once and exit || `--cleanup` | — | — | Delete created Pub/Sub resources on exit || `--no-ack` | — | — | Don't auto-acknowledge messages |
查看另外 4 个位置
SKILL.md:51来自说明文档打开原文件
- Without --cleanup, Pub/Sub resources persist for reconnection.- Press Ctrl-C to stop gracefully.
SKILL.md:54来自说明文档打开原文件
> [!CAUTION]> This is a **write** command — confirm with the user before executing.
SKILL.md:37来自说明文档打开原文件
| `--once` | — | — | Pull once and exit || `--cleanup` | — | — | Delete created Pub/Sub resources on exit || `--no-ack` | — | — | Don't auto-acknowledge messages |
SKILL.md:55来自说明文档打开原文件
> [!CAUTION]> This is a **write** command — confirm with the user before executing.
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。发现 1 项风险
中风险

缺少共享前置文件时,Skill 要求生成并信任本次审计未包含的指令

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

前置条件要求读取相邻 `gws-shared` Skill;若缺失则运行生成命令。本次来源没有该文件或生成内容,因此其认证、全局参数和安全规则无法随此 Skill 一并核验。

为什么需要注意

代理可能在继续订阅前新增文件并接受未经本次审计检查的认证或安全指令,从而改变后续命令、凭据使用或授权范围。

该 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.
查看另外 1 个位置
SKILL.md:59来自说明文档打开原文件
- [gws-shared](../gws-shared/SKILL.md) — Global flags and auth- [gws-events](../gws-events/SKILL.md) — All subscribe to google workspace events commands
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

5 个说明模块

该 Skill 指示代理运行 `gws events +subscribe`,订阅 Google Workspace 事件并以 NDJSON 流式输出。

查看原文
SKILL.md:18来自说明文档打开原文件
Subscribe to Workspace events and stream them as NDJSON## Usage```bashgws events +subscribe```

它可使用现有 Pub/Sub 订阅,也可指定 GCP 项目,并支持自动确认消息、清理资源及把事件写入单独的 JSON 文件。

查看原文
SKILL.md:32来自说明文档打开原文件
| `--event-types` | — | — | Comma-separated CloudEvents types to subscribe to || `--project` | — | — | GCP project ID for Pub/Sub resources || `--subscription` | — | — | Existing Pub/Sub subscription name (skip setup) || `--max-messages` | — | 10 | Max messages per pull batch (default: 10) || `--poll-interval` | — | 5 | Seconds between pulls (default: 5) || `--once` | — | — | Pull once and exit || `--cleanup` | — | — | Delete created Pub/Sub resources on exit || `--no-ack` | — | — | Don't auto-acknowledge messages || `--output-dir` | — | — | Write each event to a separate JSON file in this directory |

文档明确把该操作标为写操作,并要求执行前取得用户确认。

查看原文
SKILL.md:54来自说明文档打开原文件
> [!CAUTION]> This is a **write** command — confirm with the user before executing.
从这里开始 · 工作说明SKILL.md
gws-events-subscribe
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文

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

  • SKILL.md工作说明

代码和说明中提到的操作

运行命令
SKILL.md:22来自说明文档打开原文件
```bashgws events +subscribe
SKILL.md:43来自说明文档打开原文件
```bashgws events +subscribe --target '//chat.googleapis.com/spaces/SPACE' --event-types 'google.workspace.chat.message.v1.created' --project my-project
读取了多少行
61
文件校验值(用于核对版本)
d3d94d708432d5ecee55a9167aa49263f513df3fe780c70f77545d7978d2f6b5