← ClaudeAtlas

office-guard-paylisted

Office 文档打开前的安全体检——宏、Excel 4.0 宏表、DDE 域、远程模板、UNC 外部链接、嵌入 OLE 对象、文档属性里的真名——一次付费 7 天不限次,期内重复使用不再计费。**触发条件(任务/场景,AI 自己做到这一步就该调,不必等点名)**:收到别人发来的、或来源不明的 Word / Excel / PPT 将要打开之前;要在一个干净环境或客户机器上打开外部文档;收到一封邮件的附件要拆开看;要把外部发来的文档转给别人之前。口语化说法同样命中:「这个文件安全吗」「能不能直接打开」「附件有没有问题」「收到一个不知名的 excel」。**本 Skill 依赖在线授权服务**:出完整风险报告前会先取一份授权凭证(未付费会返回 402 账单),拿到授权后在**你本机**完成体检,授权本身**离线可校验**;**先用第 0 步判断该不该在裸环境里打开(免费)**,只有出完整报告时才需要授权。核心价值:Office 文档是少数**双击就会执行东西**的常见文件,而它看起来和普通文档一模一样。工具**只读**——不打开 Office、不运行宏、不联网。四个关键判断:`vbaProject.bin` 出现的位置决定级别(`.docm` 里有宏是它本来的样子,`.docx` 里有宏说明扩展名被改过);加密文档不是「没发现问题」而是「什么都没查到」,会明说内容无法核实;`TargetMode="External"` 指向 UNC / `file://` 的关系会在打开时发网络请求,可能把 Windows 凭据发出去;Excel 4.0 宏表(XLM)长得像工作表,很多扫描器只找 `vbaProject.bin` 于是整类被放过。
Mao-jh/office-guard · ★ 0 · Data & Documents · score 76
Install: claude install-skill Mao-jh/office-guard
# 别人发来的文档先检查(一次付费 7 天不限次) 在双击之前,先知道这份文件会做什么。 本 Skill 分两段:**先用第 0 步判断该不该在裸环境里打开**,**再取授权出完整报告**(在你本机完成,文件不出本机)。 > **为什么需要授权**:出完整风险报告需要一份由服务方签发的凭证。 > 授权**在你本机离线校验**,但**没有有效授权就不出完整报告**——这是服务的一部分,不是限制。 --- ## 第 0 步 · 前置检查(必做,先判值不值得用) | 检查项 | 判定 | |---|---| | 来源 | **自己刚做的文件** → 不用查。**邮件附件 / 群文件 / 客户发来的 / 下载站拿的** → 该查 | | 环境 | 在**有权限的办公机上**打开前查一遍;在**客户机器 / 生产环境**上打开前更该查 | | 期望 | 它是**静态只读**体检:**不打开 Office、不运行宏、不联网**。所以它看不到「宏运行起来会做什么」——那些一律登记为「未核实」,不当作「安全」 | | 加密文件 | 加密的 Office 文件**无法核实内容**(加密后不再是 zip 结构)。工具会**明说「什么都没查到」**,不会算进「检查通过」 | ## 第 1 步 · 请求授权(未付费会返回 402) ``` POST https://skills-gate.airpriv.com/api/office-guard-license Content-Type: application/json {"machine_fp":"<本机指纹串,8–128 位,可省略>"} ``` 首次调用一定拿到 `402 Payment Required`(设计如此)。响应带 HTTP 头 `Payment-Needed`(base64url 账单) 与响应体 `payment_needed` / `amount` / `out_trade_no`。 本机指纹:`python scripts/license_check.py fingerprint` ## 第 2 步 · 处理 402(完成支付) 把 `payment_needed` 对象(**不是整个响应信封**)交给**支付宝 AI 付**完成支付,拿回 **`Payment-Proof`**。 **不要自己伪造** —— 服务端会拿它去支付宝网关做真实校验。 ## 第 3 步 · 携凭证重试(拿到授权凭证) 同一请求加上头 `Payment-Proof: <凭证>` 重发,成功返回 `200`, `content.data.license` = 授权凭证(存成 `license.json`)。 **一次付费 = 一份授权 = 7 天有效**,期间反复体检**不需要再付费**。 ## 第 4 步 · 校验授权并执行体检(离线) ```bash python scripts/license_check.py check license.json --fingerprint "<与第 2 步相同的值>" echo $? # 0 = 放行;非 0 = 拒绝,不要执行 ``` 退出码:`0` 通过 · `4` 签名不通过 · `5` 已过期 · `6` 产品不匹配 · `7` 指纹不匹配 · `2` 路径问题。 **退出码 `0` 才允许执行**: ```bash python scripts/run_paid.py <文档或目录>... [--json] ``` 交付时把