security-review 是 microsoft/power-platform-skills 中的一项安全审查技能,用于对 Power Pages 站点执行引导式、端到端的安全审查,并把所有发现汇总到一份 HTML 报告中。
用途 该技能面向 Power Pages 站点的安全审查场景,帮助用户以通俗语言完成一次完整的安全检查,并将结果集中呈现。它不会向用户提出技术性问题,对话保持平实易懂。
主要能力 根据资料,该技能覆盖的检查内容包括:源代码与依赖、Web 角色与表权限、身份验证相关配置、HTTP 安全头以及防火墙。技能通过运行匹配的聚焦子技能来收集发现,并汇总为单一 HTML 报告。
工作流程 技能分为六个阶段:
- 前置准备(静默设置):定位项目、准备工作文件夹。
- 范围确认:以一个问题、三个答案的方式捕获审查目标。
- 运行技能:运行匹配的子技能并展示进度。
- 生成报告:构建汇总报告,包含总计与分节发现。
- 呈现结果:展示结果并提供修复后续操作。
- 清理(静默清理):删除临时文件。
审查目标与子技能映射 用户在阶段 2 选择审查目标,技能据此选择子技能组合:
- 代码与配置(code-config):scan-code、audit-permissions、setup-auth(只读)。仅基于本地文件工作。
- 发布就绪(release):scan-code、scan-site、manage-headers、manage-firewall、audit-permissions、setup-auth(只读)。发布前的完整审查。
- 已部署站点(monitor):scan-site。检查实时站点,需要已部署。
前置条件 技能使用 Glob 查找 **/powerpages.config.json 来定位项目。若未找到,会提示用户需要先用 /create-site 创建站点,然后停止。对于 monitor 和 release 目标,还需确认 .powerpages-site/website.yml 存在;若不存在,说明站点尚未部署,会建议使用 /deploy-site 后停止。对于 code-config 目标,不需要部署检查。
子技能执行方式 Agent 可用的子技能(scan-code、scan-site、manage-headers、manage-firewall)以并行后台子代理方式运行,每个子代理以 --review 参数调用其技能。audit-permissions 和 setup-auth 不支持 --review,需内联处理:audit-permissions 通过 Skill 工具调用,setup-auth 则直接读取 .powerpages-site/site-settings/ 下的 YAML 文件进行检查。
严重性策略 只有真正输出严重性的工具产生的发现才可携带 severity 字段:scan-code(opengrep、trivy)和 scan-site(deep-scan/ZAP)允许;manage-headers、manage-firewall、audit-permissions、setup-auth 不允许。tag 字段保留给工具的简短机械标识符,不得用于承载严重性等价字符串。
报告生成 技能将各子技能输出的 JSON 数据汇总,通过 build-review-data.js 构建数据,再通过 render-review.js 渲染为 HTML。报告输出路径为 <PROJECT_ROOT>/docs/security-review-<YYYY-MM-DD-HHMMSS>.html,始终包含时间戳。报告使用共享模板,外观与现有 audit-permissions 报告一致。
呈现与后续 报告生成后会在浏览器中打开,并在聊天中显示简短摘要(critical/warning/info 计数及报告位置)。随后提供下一步选项:引导修复、重新运行审查或暂时结束。若用户选择引导修复,会按分节分组关键发现并提供对应的聚焦技能。
清理 技能会删除临时工作文件夹 <SYSTEM_TEMP>/security-review/,最终 HTML 保留在 docs/ 中。若清理失败会警告用户并继续。
限制与约束
- 与用户交流使用通俗语言,不以技术术语开头。
- 所有选中的技能以并行子代理方式运行,在单条消息中启动。
- 只生成一份汇总 HTML,不生成按技能拆分的 HTML 报告。
- 清理步骤为强制步骤。
- 不会自动运行破坏性操作;提出更改的技能在编排期间以只读 --review 模式运行,仅在用户明确选择“引导修复”后才应用更改。
- 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。