前置条件
前置条件
运行扫描前:
- 你需要具备使用代码扫描权限,以及使用 Devin 会话的权限。请参阅访问与权限。
- 你的组织必须拥有待扫描仓库的访问权限。
使用 /scan 启动扫描
- 在 composer 中输入
/scan,后面跟上你想查找的内容,并提及要扫描的仓库。例如:/scan find N+1 queries in @acme/api。你在 composer 中选中的仓库也会一并纳入。 - 发送消息。Devin 会启动一个新会话来配置扫描并将其打开。如果你只发送了
/scan,Devin 会给出一些示例扫描 (例如查找缓慢的数据库查询或未使用的代码) ,并询问你想查找什么。 - Devin 会根据你的请求选择 scan type,并用一句话说明,例如它将配置一个只查找 camelCase 变量名的自定义扫描。如果你想要别的方案,回复即可。
- Devin 会显示一张 Code scan setup 卡片。确认要扫描的 Repositories,也可以在 What should the scan focus on? 下补充指导。如果你没有提及仓库,Devin 会根据你最近的拉取请求,预选你参与最多的那个仓库。
- 点击 Start scan。只有在你提交该卡片后,Devin 才会创建扫描,随后分享该扫描会话的链接。若要取消配置,请点击 Dismiss。
非安全类扫描以正常投入程度无人值守运行。投入程度选项以及交互模式 (Devin 会暂停,以便你在调查前审阅 threat model) 仅适用于安全扫描。
Scan types
如需排查 vulnerabilities 和攻击面,请使用 Security Swarm scan。
审查并修复发现项
- Unassigned — 尚未启动修复会话。
- Assigned — 已启动修复会话,但还没有打开的 拉取请求。
- PR open — 该发现项已有打开的 拉取请求。
- Assign to Devin — 启动一个 Devin 会话来修复该发现项,并提交 拉取请求。点击 Open session 跟踪处理进展,点击 Open PR 审查结果。
- Dismiss — 移除无需处理的发现项。
规模化扫描
Scan new commits
自动化
- 选择 Create a new scan,每次自动化触发时都会启动一次全新扫描。指定仓库、扫描类型和 Profile。非安全类扫描类型需要同类型的 scan profile。
- 选择一个已有扫描,每次自动化触发时扫描其新增的提交。该扫描必须已完成过一次运行。
API
profile_id;scan_type 默认取该 Profile 的类型。通过 API 启动的扫描不支持交互。
- Security Swarm — 安全扫描、扫描 Profile、交互模式以及代码扫描权限。
- 通过 Devin API 触发代码扫描 — 端到端的 API 流程。
- 自动化 — 计划并触发扫描。

