View a markdown version of this page

查看代码审查的结果 - AWS 安全代理

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

查看代码审查的结果

代码审查运行完成后,查看运行摘要和安全发现,以了解源代码中的漏洞。每项调查结果都包含描述、严重性评级、代码位置、风险推理和建议的修复方法,以帮助您确定安全问题的优先级并解决这些问题。

先决条件

在开始之前,请确保您满足以下条件:

  • 已完成或正在运行的代码审查

  • 访问 AWS 安全代理 Web 应用程序

第 1 步:访问代码审查运行

导航到已完成的代码审查运行以查看摘要和发现。

  1. 登录 AWS 安全代理 Web 应用程序。

  2. 在左侧边栏中,选择代码审查

  3. 选择要检查的代码审查。

  4. 在 “所有运行” 表中,通过单击其开始时间链接来选择已完成的运行。或者,选择 “监控运行” 以查看最新运行情况。

步骤 2:监控运行进度

使用步骤指示器跟踪代码审查运行的进度。

  1. 在页眉下方找到水平步进指示器。

  2. 查看每个阶段的状态:

    • 印前检查-验证对源代码的访问权限并设置扫描环境。检查包括服务基础设施设置、S3 源访问验证和测试环境设置(包括 GitHub 访问检查)。

    • 静态分析-扫描源代码中是否存在安全漏洞和违反要求的情况。

    • 模拟验证(可选)-启用后,将配置模拟环境并尝试利用已发现的漏洞来攻击正在运行的应用程序。

    • 定稿-汇编调查结果并生成结果摘要。

注意

每个步骤都显示一个状态指示器(“已完成” 或 “进行中”)。当所有阶段都显示已完成时,运行即告完成。只有当您在创建代码审查期间启用模拟验证时,才会显示模拟验证步骤。

步骤 3:查看运行摘要

导航到 “代码审查运行” 选项卡以查看高级结果。

  1. 选择 “代码审查运行” 选项卡。

  2. 运行摘要部分提供了运行状态、持续时间和其他高级详细信息。它还提供了按严重级别和风险类型分类的安全发现的仪表板。

  3. AWS Security Agent 提供的应用程序概述提供了运行完成后的代码审查扫描摘要

步骤 4:查看印前检查结果

导航至 “印前检查” 选项卡,确认所有来源访问检查均已通过。

  1. 选择 “印前检查” 选项卡。

  2. 查看显示已完成检查数量的印前检查进度指示器。

  3. 确认每项检查都显示成功状态:

    • 服务基础架构设置-确认测试环境已准备就绪

    • S3 源访问验证-确认对 S3 源代码的访问权限(如果适用)

    • 设置测试环境-确认分析环境已配置

注意

如果任何印前检查失败,则运行将无法继续进行静态分析。查看检查详细信息以识别和解决访问问题,然后开始新的运行。

第 5 步:查看代码审查日志

导航到代码审查日志选项卡,查看 AWS 安全代理在分析期间执行的任务。

  1. 选择 “代码审查日志” 选项卡。

  2. 浏览左侧面板中的任务列表。

  3. 选择一项任务,在右侧面板中查看其详细日志。

提示

使用搜索字段按名称筛选任务。这些日志可以深入了解 AWS 安全代理检查了哪些内容以及它是如何得出结论的。

步骤 6:导航到调查结果

选择 Find in gs 选项卡可查看运行中的所有安全调查结果。

注意
默认置信度过滤器

默认情况下,您只能看到代理置信度高的结果。要同时显示代理置信度为且误报的结果,请关闭隐藏未经验证的发现开关。

  1. 选择 “调查结果” 选项卡。

  2. 调查结果以分割视图显示,左边是发现结果列表,右边是选定结果的详细信息。

  3. 查看每张搜索卡上显示的信息:

    • 查找标题-概述安全问题的描述性名称

    • 严重性标记- Color-coded 严重性指示器:

      • 严重(红色)-需要立即采取行动;利用漏洞可能导致系统受损

      • (红色)-需要立即注意;利用漏洞可能会对安全造成重大影响

      • (橙色)— 应在合理的时间范围内解决;会增加整体安全风险

      • (黄色)— 可作为定期维护的一部分解决;将直接风险降至最低

    • 上次更新-上次更新调查结果的时间戳

第 7 步:查看查找详情

选择单个发现结果以查看有关每个漏洞的全面信息。

  1. 在左侧面板中选择一个查找结果,在右侧面板中显示其详细信息。

  2. 查看可用的操作:

    • 解决查找结果-解决问题后,将查找结果标记为已解决

    • 修复代码-生成包含修复的拉取请求(适用于 GitHub 源代码)

  3. 使用此调查结果准确吗?提供反馈 — 选择 “” 或 “” 以帮助提高 future 分析的准确性。

  4. 查看 “概述” 部分中的关键属性:

    • 代理信心 — AWS Security Agent 对这一发现的信心水平

    • 严重性-带有颜色编码徽章的风险等级

    • 风险类型-安全风险的类别

    • 验证状态-启用模拟验证后,表示发现结果是否已确认可在运行环境中被利用:

      • 已确认-该漏洞已在模拟环境中成功利用

      • 未复制-无法在目标运行时利用该漏洞

      • 验证失败-由于错误,验证尝试未得出结论

      • 未验证-未对此发现进行模拟验证。当验证未启用或验证步骤在得出此结果之前超时时,就会发生这种情况。

    • 已解决-调查结果是否已解决 (Yes/No)

    • 上次更新-最近更新的时间戳

  5. 将 “描述” 部分展开,内容为:

    • 安全问题的详细解释

    • 如何利用该漏洞

    • 对您的应用程序的潜在影响

    • 代理为确认调查结果而执行的验证步骤

  6. 展开代码位置部分以查看:

    • 发现问题的特定文件路径

    • 简要描述在每个地点发现的东西

    • 链接到相关代码的行号徽章

  7. 展开 “证据” 部分以查看:

    • 支持该发现的特定代码、配置或观测结果

    • 简要解释为什么每件物品都显示了漏洞

    • 每份证据的受影响文件和行号

  8. 展开 “建议的修复” 部分以查看:

    • AWS Security Agent 为补救发现而建议的更改

    • 每项建议更改的示例代码或配置

提示

使用代码位置快速导航到存储库中受影响的文件。每个位置都包含足够的上下文,无需阅读整个文件即可理解问题。

第 8 步:确定发现的优先顺序并解决问题

验证发现并对发现的结果采取行动,以修复漏洞并改善应用程序的安全状况。

对于具有高严重性且代理可信度高的发现:

  1. 仔细查看 “描述” 和 “代码位置” 部分。

  2. 使用 R emediate 代码生成包含修复的拉取请求,或者查看自动修复 PR(如果您启用了该选项)。

  3. 计划进行后续代码审查,以验证修复是否有效。

对于中等严重程度且代理可信度高的发现:

  1. 根据您的风险承受能力和业务环境确定优先级。

  2. 在您的常规开发冲刺计划中包括补救任务。

  3. 考虑多项中等严重程度的发现是否会带来更高的风险。

对于中等低置信度调查结果:

  1. 查看描述和代码位置部分,以验证漏洞发生的假设和条件。

  2. 如果漏洞有效,请根据严重性和风险承受能力确定优先级,并考虑修复任务。

步骤 9:跟踪修复进度

使用 findings 界面并重新运行来跟踪哪些漏洞已得到解决。

  1. 在实施修复时,使用 Resolve finding 将查找结果标记为已解决。

  2. 运行新的代码审查,以验证修复是否解决了发现的问题,并且不会引入新问题。

  3. 查看代码审查详细信息页面上的 “所有运行” 表,比较一段时间内不同运行的结果。

提示

合并修复拉取请求后,开始重新运行相同的代码审查,以确认漏洞已得到解决。比较两次跑步的发现次数,以跟踪您的进度。

后续步骤

查看您的代码审查结果后:

  • 高度可信地确定高严重性发现的优先顺序,以便立即进行补救

  • 使用 R emediate 代码为 GitHub-sourced 发现结果生成自动修复(请参阅修复代码审查结果

  • 实施修复后运行其他代码审查以验证补救措施

  • 随着代码库的发展,调整代码审查源或设置(请参阅)启用代码审查