亚马逊AWS官方博客

Amazon CodeGuru Reviewer 的新增功能 — 用于检测日志注入缺陷的检测器库和安全检测器

Amazon CodeGuru Reviewer 是一款开发工具,可检测代码中的安全漏洞,并提供智能建议以提高代码质量。例如,CodeGuru Reviewer 推出了适用于 Java 和 Python 代码的安全检测器,以识别十大开放 Web 应用程序安全项目(OWASP)类别中的安全风险,并遵循 AWS API 和常见加密库的安全最佳实践。在 re: Invent 大会上,CodeGuru Reviewer 推出了一个密钥检测器,用于识别硬编码密钥并提出补救建议,以利用 AWS Secrets Manager 来保障您的密钥的安全。这些功能可帮助您在部署之前发现并修复安全问题。

今天,我很高兴与大家分享 CodeGuru Reviewer 的两大新功能:

  • Detector Library 详细描述了 CodeGuru Reviewer 在查找可能存在的缺陷时所使用的检测器,并包含针对 Java 和 Python 的代码示例。
  • 我们已推出新的安全检测器来检测 Java 和 Python 代码中的日志注入漏洞,这些漏洞类似于我们在此博文中提到的最近出现的 Apache Log4j 漏洞。

下面我来详细介绍下这些新功能。

使用 Detector Library
为帮助您更清晰地了解 CodeGuru Reviewer 使用哪些探测器来审查您的代码,我们在此共享一个 Detector Library,您可以在其中找到详细信息和代码示例。

这些探测器可帮助您在 AWS 上构建安全高效的应用程序。在 Detector Library 中,您可以找到有关 CodeGuru Reviewer 安全和代码质量检测器的详细信息,包括说明、严重性及对应用程序的潜在影响,以及可帮助您降低风险的其他信息。

请注意,每个检测器都可查找各种类型的代码缺陷。我们为每个探测器都提供了一个不合规和一个合规的代码示例。不过,CodeGuru 使用机器学习和自动推理来识别可能存在的问题。因此,除了探测器描述页面上展示的显式代码示例之外,每个检测器还可以查找其他类型的缺陷。

我们来看一些探测器。其中一个检测器正在查找不安全的跨域资源共享(CORS)策略,因为这些策略过于宽松,可能导致从不受信任或恶意来源加载内容。

Detector Library 屏幕截图。

另一个检测器负责检查可能导致攻击并导致恶意行为的不当输入验证。

Detector Library 屏幕截图。

特定的探测器可帮助您在应用程序中使用适用于 Java 的 AWS SDK适用于 Python(Boto3)的 AWS SDK。例如,有些检测器可以检测硬编码凭证(例如密码和访问密钥),也可能会检测 AWS 资源的低效轮询。

适用于日志注入缺陷的新型探测器
继最近的 Apache Log4j 漏洞之后,我们在 CodeGuru Reviewer 中又推出了新的检测器,可检测您是否录入了任何未经审查且可能可执行的内容。这些探测器涵盖了 CWE-117:日志的不正确输出中和(CWE-117: Improper Output Neutralization for Logs)中描述的问题。

这些探测器可与 Java 和 Python 代码配合使用,对于 Java 而言,并不限于 Log4j 库。其工作原理并非查看您所使用的库的版本,而是检查您实际录入的内容。这样一来,如果将来发生类似的错误,他们便可以为您提供安全保障。

Detector Library 屏幕截图。

推出这些检测器之后,在记录用户提供的输入之前必须先对其进行清理。此举可避免攻击者利用此输入破坏日志的完整性、伪造日志条目或绕过日志监视器。

可用性和定价
这些新功能现已在所有已推出 Amazon CodeGuruAWS 区域开放。有关更多信息,请参阅 AWS 区域服务列表

Detector Library 可作为文档的一部分免费浏览。负责查找日志注入缺陷的新探测器则适用标准定价。有关更多信息,请参阅 CodeGuru 定价页面

立即开始使用 Amazon CodeGuru Reviewer 来提高代码的安全性。

Danilo