1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | scan-site-microsoft-power-platform-skills |
| 作者/维护者 | Microsoft(Power Platform 团队) |
| 来源链接 | https://github.com/microsoft/power-platform-skills/tree/main/plugins/power-pages/skills/scan-site |
| 许可证 | MIT(GitHub API 获取) |
| GitHub Stars | 566(GitHub API 获取;此为合集仓库整体数字,不代表本技能自身热度) |
| Forks | 116(GitHub API 获取) |
| 最新版本 | power-pages 插件 v2.6.3(插件 manifest 获取) |
| 安装方式 | Claude Code / GitHub Copilot CLI 会话内执行 /plugin marketplace add microsoft/power-platform-skills 后 /plugin install power-pages@power-platform-skills |
2. 功能介绍与亮点
scan-site 是 Power Pages 官方插件内针对已部署上线站点的服务端安全扫描技能,功能类似 OWASP ZAP 一类的动态应用安全测试(DAST):
- 服务端动态扫描:对已发布站点的公网可访问面发起扫描,扫描在 Microsoft 后端执行,无需本地部署任何扫描器。
- 状态感知护栏:先检测是否已有扫描在运行、是否存在可用的历史报告,据此推荐下一步动作而非盲目重复启动——重复启动会被后端直接拒绝(返回“已在运行”)。
- 后台轮询不阻塞:启动扫描后以后台任务轮询完成状态,用户可继续其他工作;大站点扫描可能耗时数小时,默认 20 分钟超时后仍会呈现已获取的部分结果。
- 大白话输出:SKILL.md 明确要求禁止对用户使用 CSP、CORS、OWASP、hardening 等专业术语,发现必须用日常语言解释。
- 发现联动修复:按问题类型自动建议对应的同插件技能——表头问题→ manage-headers,WAF/防火墙问题→ manage-firewall,权限问题→ audit-permissions,登录问题→ setup-auth,代码级问题则建议人工修复。
- 明确的只读边界:SKILL.md 显式声明“只运行扫描和读取结果,从不启用 WAF、删除扫描或更改站点配置”。
- 支持
--review <out-dir>无人值守模式,作为姊妹技能/security-review编排的六大安全检查模块之一被自动调用,也可独立触发做日常线上监控。
3. 适用场景
固定分类:安全与合规。适合已用该插件把 Power Pages 代码站点部署上线、希望在不具备专业渗透测试知识的情况下定期检查线上站点是否存在外部可探测安全隐患的开发者,尤其适合没有专职安全团队的个人开发者或中小团队。
4. 跨 Agent 兼容性
- Claude Code:原生支持。SKILL.md 以标准 Agent Skills 规范分发,声明
model: opus,Microsoft Learn 官方教程专门以 Claude Code 为对象给出完整安装步骤。 - Codex:未验证——已抓取材料未提及。
- OpenClaw:未验证——已抓取材料未提及。
- Hermes Agent:未验证——已抓取材料未提及。
(另注:官方同时原生支持 GitHub Copilot CLI,但其不属于本报告评估的四个目标生态。)
5. 推荐理由
把面向已上线站点的安全扫描,变成一句话触发、结果用大白话解释、按问题类型自动导向对应修复技能的完整闭环,无需用户具备专业安全术语知识,且扫描运行时以后台轮询方式不阻塞日常使用。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 官方 Microsoft Power Platform 团队出品,所属仓库 566 stars / 116 forks;Microsoft Learn 官方教程逐一列出该插件全部技能(含本技能)并在安全审查一节专门说明其用途;该子技能自身在第三方渠道与 GitHub issue 搜索中均未见独立讨论证据 |
| 可用性 | 7 | SKILL.md 文档详尽(251 行,含完整工作流程、多种状态分支与故障场景说明),但要求站点已完成部署上线为前提,扫描耗时从几分钟到数小时不等(默认 20 分钟超时);子目录近一个半月内(2026-06-19)仍有功能提交 |
| 安全性 | 9 | 见下方检查清单 |
安全检查清单:
① 权限范围:通过 Bash 在本地调用 Node 脚本触发 Microsoft 官方后端 API 做服务端扫描,SKILL.md 明确声明“只运行扫描和读取结果,从不启用 WAF、删除扫描或更改站点配置”。 ② 运行时联网:调用的是站点已部署的同一 Microsoft Power Platform 官方后端服务,不涉及第三方或不透明外发目标。 ③ 凭据处理:依赖用户既有的 PAC CLI / Azure CLI 认证会话,不单独收集或存储任何凭据。 ④ 可疑指令:SKILL.md 与引用脚本未见混淆代码或隐蔽外发指令;反而设有“禁止对用户使用技术术语”等用户体验类强约束,风格与同插件其他安全技能一致。 ⑤ 作者信誉:Microsoft 官方仓库,子目录近三次提交(2026-05-12 新增、2026-05-26 扩展审批门禁、2026-06-19 插件格式迁移)均为真实署名员工(Ramachandran R / T-Nid / Priyanshu Agrawal)。 ⑥ License:MIT,明确。 ⑦ 维护时间:最近一次提交 2026-06-19,距今约五周,仓库整体几乎每日更新。
综合:官方出品、完全开源可审计,扫描本身只读不做任何变更,外发目标透明(Microsoft 自有官方后端服务)——判 9 分。
7. 跟同类 Skills 相比的优势
| 项目 | 定位 | 差异化 |
|---|---|---|
| scan-site(本技能) | 对已部署上线的站点做服务端动态安全扫描,按严重程度分组呈现并联动其他安全技能 | 专属 Power Pages 已部署站点场景,扫描在 Microsoft 官方后端执行,无需额外部署或订阅扫描器 |
| OWASP ZAP(开源 DAST 工具代表) | 业界标准的开源动态应用安全测试工具,可扫描任意 Web 应用 | 需用户自行安装并配置扫描规则与目标范围,不理解 Power Pages 站点结构与设置项,发现结果也不会自动路由到对应修复技能 |
| scan-code(同插件姊妹技能) | 面向本地源码与依赖做静态分析(SAST)与依赖扫描 | 覆盖开发阶段的代码/依赖/密钥问题,与 scan-site 覆盖已上线站点的动态外部暴露面互补,两者检测的问题类型不重叠 |
8. 用户评价
该技能目前在第三方平台与 GitHub issue 讨论区均尚无具名用户评价。
9. 其他补充
scan-site 同时是姊妹技能 /security-review 编排的六大安全检查模块之一(对应“已部署站点扫描”维度),也可单独运行做日常线上监控,无需触发完整安全审查流程。
10. 安装使用方式
在 Claude Code 或 GitHub Copilot CLI 会话内依次执行:
/plugin marketplace add microsoft/power-platform-skills
/plugin install power-pages@power-platform-skills
使用前站点必须已通过 /deploy-site 完成部署上线。安装完成后,在对应项目中直接说“扫一下我的线上站点安全”“检查生产环境有没有漏洞”,或运行 /scan-site 触发。安装/更新后无需重启 Agent,插件市场支持自动更新。
11. 注意事项
- 前提条件是站点已完成部署(本地存在
.powerpages-site/website.yml),未部署站点无法使用,需先运行/deploy-site。 - 大型站点扫描可能耗时数小时,默认超时 20 分钟,超时后仅能拿到部分结果。
- 同一站点同一时间只能有一个扫描任务在跑,重复启动会被后端直接拒绝。
- 尚无法确认在 Codex / OpenClaw / Hermes Agent 上的兼容情况。
- 目前在第三方平台与 GitHub issue 讨论区均缺乏独立用户评价,长期可靠性有待观察。