SuperAPI AI 工具集

codepatrol-sync-state

安全与审计

查看项目

更新于 10-16 09:22

技能介绍

用途

codepatrol-sync-state 是一个内部状态同步技能,由 codepatrol 技能启动的子代理执行,不设想由用户直接调用。它把修复安全调查所发现问题而创建的 pull request 的实际状态,同步到分诊页面与调查报告中,使两者与实际状态保持一致。

修复工作由多个人与 AI 并行推进,页面记录会逐渐偏离实际状态:已 merge 却仍标记为待评审、他人已着手却未反映到页面、同一内容只出现在其中一个页面等。状态偏差若被保留,后续调查与分诊会把已处理的问题误认为未处理。

执行前提

  • 不能向用户提问,判断不明的事项写入最终报告
  • 不阅读代码
  • 对 pull request 只读,不创建或编辑 pull request 及评论
  • 仅处理写入目标为 Cosense 的情况;起点页面与 pull request 所在仓库服从控制方指示
  • Cosense 的读写遵循 cosense 技能

对象页面

起点是控制方交接的分诊页面。报告对象为分诊页面各行所链接的内容。

动手前先阅读分诊页面开头写的编辑规则:状态图标的含义、可写与不可写的内容由该处规定;若与本流程书冲突,以页面描述为准。

没有分诊页面时,以 hub 页面汇总的各领域最新报告为对象。

状态图标对齐

对页面中 pull request 所在行,确认 pull request 的实际状态并对齐状态图标。图标表示的是 pull request 的状态,而非问题是否解决:

  • 全部已 merge:完成
  • 包含 draft:进行中
  • 上述两者之外且为 open:待评审

同一 pull request 的行同时存在于分诊页面与报告时,两处都修正。只存在于其中一个页面的状态,要复制到另一个页面;仅复制由谁着手与 pull request 的状态,不复制讨论与交代事项。

没有表示未 merge 即 close 的 pull request 的图标;页面未列出时不新增。

查找页面未列出的 pull request

查找修复问题但未记录在页面上的 pull request,遗漏往往发生在此方向,因为实现者可能未写页面就提交修复。

未列出的 pull request 通过阅读概要栏判断是哪个问题的修复。若是问题修复,则加上状态图标,补入分诊页面与报告两处;若不是问题修复,则不添加。

上次同步的时间可作为缩小搜索范围的线索,但早于上次创建的 pull request 也可能之后成为问题修复。按日期筛选时注意时区,日期边界前后创建的 pull request 可能被遗漏。

完成后的遗留任务

对标记为完成的行,确认是否存在遗留任务。pull request 被 merge 并不代表问题全部解决,可能存在只修了一部分、留作其他课题、需要盘查既有数据、需要实环境确认等情况。遗留任务在保留完成标记的前提下,用一行摘要表示。

若报告的问题中写有遗留任务,则在分诊页面该 pull request 行下方补一行摘要;有多项也合并为一行。详情在报告里,摘要即可。

仅写在 pull request 概要栏中的工作,先复制到报告的问题中,写清是从概要栏复制,不写概要栏没有的内容,然后在分诊页面补上摘要。

若已有相同主旨的行,则不添加。

人类编写的行

人类会并行编辑页面。即使是人类编写的行,状态图标也要按实际状态修正,并报告修正情况。

不改动文案,但要删除与实际状态不符的措辞并报告删除情况,例如“仍为 draft”之类。

不带 pull request 链接的着手声明行,不做改动。

pull request 行末尾的署名属于实现者,不要改成自己的署名。

不修改而需报告的事项

遇到以下情况时不修改页面,向控制方报告:

  • pull request 未 merge 即被 close,页面已列出的行是删除还是保留需要判断
  • 遗留任务的摘要看似已被后续 pull request 解决,但工作是否完成无法仅从 pull request 确认
  • 报告中出现了符合对象条件的新问题,是否需要向分诊页面新增行需要判断
  • 报告判定为“无问题”的位置,却有修复 pull request 在进行
  • 同一 pull request 在分诊页面与报告中关联到不同问题,且阅读 pull request 概要栏也无法确定

向控制方报告

分以下三类报告:

  1. 已修正的行
  2. 正确因而未触碰的行(列出未触碰的行可表明并非遗漏)
  3. 需要判断因而未修改而保留的事项

此外还需报告:新补入页面的 pull request 及其关联问题;判断为未列于页面但不属于问题修复的 pull request;已附加状态图标的行数与已确认的 pull request 数。

适用场景与限制

本技能适用于通过 Cosense 页面管理安全调查问题修复进度的场景,用于在多名人类与 AI 并行修复时维持页面与报告的准确性。限制包括:不可向用户提问,不阅读代码,对 pull request 只读,仅处理 Cosense 写入目标,无法判断的事项一律上报而不自行处理。关于具体支持的平台、收费、价格等信息,资料中暂未提供。