

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

# 使用 Amazon Inspector 进行扫描 AWS Lambda
<a name="scanning-lambda"></a>

 Amazon Inspector 对 AWS Lambda 功能和层的支持可提供持续的自动安全漏洞评估。Amazon Inspector 提供两种类型的 Lambda 函数扫描。

**[Amazon Inspector Lambda 标准扫描](https://docs.aws.amazon.com/inspector/latest/user/scanning_resources_lambda_exclude_functions.html)**  
 此扫描类型是默认的 Lambda 扫描类型。它会扫描 Lambda 函数和层中的应用程序依赖关系，以查找[程序包漏洞](findings-types.md#findings-types-package)。

**[Amazon Inspector Lambda 代码扫描](https://docs.aws.amazon.com/inspector/latest/user/scanning_resources_lambda_code.html)**  
 这种扫描类型会扫描 Lambda 函数及层中的自定义应用程序代码，以查找[代码漏洞](findings-types.md#findings-types-code)。您可以激活 Lambda 标准扫描，也可以同时激活 Lambda 标准扫描和 Lambda 代码扫描。

 如果要激活 Lambda 代码扫描，则必须先激活 Lambda 代码扫描。有关更多信息，请参阅[激活扫描类型](https://docs.aws.amazon.com/inspector/latest/user/activate-scans.html)。

 激活 Lambda 函数扫描后，Amazon Inspector 会在您的账户中创建以下服务相关通道：`cloudtrail:CreateServiceLinkedChannel` 和 `cloudtrail:DeleteServiceLinkedChannel`。Amazon Inspector 管理这些渠道，并使用它们来监控扫描 CloudTrail 事件。这些频道允许您查看账户中的 CloudTrail 事件，就像有跟踪一样 CloudTrail。我们建议您在中创建自己的跟踪 CloudTrail 以管理您账户中的事件。有关如何查看这些通道的信息，请参阅《AWS CloudTrail 用户指南》**中的[查看服务相关通道](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-service-linked-channels.html)。

**注意**  
 Amazon Inspector 不支持扫描[使用客户托管密钥加密的 Lambda 函数](https://docs.aws.amazon.com/lambda/latest/dg/security-encryption-at-rest.html)。这一点适用于 Lambda 标准扫描和 Lambda 代码扫描。

## Lambda 函数扫描的扫描行为
<a name="lambda-scan-behavior"></a>

激活后，Amazon Inspector 会扫描您账户中过去 90 天内调用或更新的所有 Lambda 函数。在以下情况下，Amazon Inspector 会对 Lambda 函数启动漏洞扫描：
+ Amazon Inspector 发现现有 Lambda 函数时。
+ 将新的 Lambda 函数部署到 Lambda 服务时。
+ 部署现有 Lambda 函数或其层的应用程序代码或依赖项更新时。
+ Amazon Inspector 在其数据库中添加新的常见漏洞和风险（CVE）项目，且该 CVE 与您的函数相关时。

Amazon Inspector 会在每个 Lambda 函数的整个生命周期内对其进行监控，直到该函数被删除或被排除在扫描范围之外。

您可以通过**账户管理**页面的 **Lambda 函数**选项卡或使用 [https://docs.aws.amazon.com/inspector/v2/APIReference/API_ListCoverage.html](https://docs.aws.amazon.com/inspector/v2/APIReference/API_ListCoverage.html) API 来查看上次检查 Lambda 函数是否存在漏洞的时间。发生以下事件时，Amazon Inspector 会更新 Lambda 函数的**上次扫描时间**字段：
+ Amazon Inspector 完成对 Lambda 函数的初始扫描时。
+ 更新 Lambda 函数时。
+ 由于影响 Lambda 函数的新 CVE 项目添加到 Amazon Inspector 数据库中，Amazon Inspector 重新扫描该函数时。

## 支持的运行时系统和符合条件的函数
<a name="supported-functions"></a>

对于 Lambda 标准扫描和 Lambda 代码扫描，Amazon Inspector 支持不同的运行时系统。有关每种扫描类型支持的运行时系统的列表，请参阅[支持的运行时系统：Amazon Inspector Lambda 标准扫描](supported.md#supported-programming-languages-lambda-standard)和[支持的运行时系统：Amazon Inspector Lambda 代码扫描](supported.md#supported-programming-languages-lambda-code)。

除了具有受支持的运行时系统之外，Lambda 函数还需要满足以下条件才有资格进行 Amazon Inspector 扫描：
+ 过去 90 天内调用或更新过该函数。
+ 该函数被标记为 `$LATEST`。
+ 该函数未按标签从扫描中排除。

**注意**  
过去 90 天内未调用或修改的 Lambda 函数将自动排除在扫描范围之外。如果 Lambda 函数再次被调用或对函数代码进行了更改，则 Amazon Inspector 将恢复对自动排除的函数的扫描。

# Amazon Inspector Lambda 标准扫描
<a name="scanning_resources_lambda"></a>

Amazon Inspector Lambda 标准扫描可识别您添加到 Lambda 函数代码和层的应用程序包依赖项中的软件漏洞。例如，如果 Lambda 函数使用的 `python-jwt` 程序包版本存在已知脆弱性，则 Lambda 标准扫描将生成针对该函数的调查发现。

如果 Amazon Inspector 在 Lambda 函数应用程序包依赖项中检测到脆弱性，则 Amazon Inspector 会生成详细的**程序包脆弱性**类型的调查发现。

有关激活扫描类型的说明，请参阅[激活扫描类型](activate-scans.md)。

**注意**  
Lambda 标准扫描不会扫描 Lambda 运行时环境中默认安装的 AWS SDK 依赖项。Amazon Inspector 仅扫描使用函数代码上传的依赖项或从层继承的依赖项。

**注意**  
停用 Amazon Inspector Lambda 标准扫描也将同时停用 Amazon Inspector Lambda 代码扫描。

# 从 Lambda 标准扫描中排除函数
<a name="scanning_resources_lambda_exclude_functions"></a>

 您可以向 Lambda 函数添加标签，从而将其排除在 Amazon Inspector Lambda 标准扫描之外。从扫描中排除函数能够防止出现无法操作的警报。向要排除的函数添加标签时，该标签必须具有以下键值对。
+  键：`InspectorExclusion`
+  值：`LambdaStandardScanning`

 本主题介绍如何向要从扫描中排除的函数添加标签。有关在 Lambda 中添加标签的更多信息，请参阅[在 Lambda 函数上使用标签](https://docs.aws.amazon.com/lambda/latest/dg/configuration-tags.html)。

**从扫描中排除函数**

1.  使用您的凭证登录，然后打开 Lambda 控制台，网址为：[https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)。

1.  从导航窗格中选择**函数**。

1.  选择要排除在 Amazon Inspector Lambda 标准扫描之外的函数的名称。

1.  选择 **Configuration**（配置），然后选择 **Tags**（标签）。

1.  选择**管理标签**，然后选择**添加新标签**。

   1. 对于**键**，输入 `InspectorExclusion`。

   1.  对于 **Value**（值），输入 `LambdaStandardScanning` 

1.  选择**保存**。

# Amazon Inspector Lambda 代码扫描
<a name="scanning_resources_lambda_code"></a>

**重要**  
 该特征可捕获 Lambda 函数的代码片段，以突出显示检测到的漏洞。这些片段可能显示硬编码的凭证或其他敏感材料。

 借助此特征，Amazon Inspector 可根据 AWS 安全最佳实践扫描 Lambda 函数中的应用程序代码是否存在代码漏洞，检测数据泄露、注入缺陷、缺少加密和弱加密等。Amazon Inspector 会使用自动推理和机器学习来评估 Lambda 函数应用程序代码。它还会使用与 Amazon Q 合作开发的内部检测器来识别违反政策的行为和漏洞。

 Amazon Inspector 在 Lambda 函数应用程序代码中检测到漏洞时，会生成[代码漏洞](https://docs.aws.amazon.com/inspector/latest/user/findings-types.html#findings-types-code)。此调查发现类型包括展示问题的代码片段，以及问题在代码中的具体位置。此外，它还建议如何修复问题。建议包括即插即用代码块，用于替换易受攻击的代码行。除了针对该调查发现类型的一般代码补救指南外，还提供了这些代码修复。

 代码修复建议由自动推理提供支持。某些代码补救建议可能无法按预期起作用。您应对自己采纳的代码补救建议负责。在采纳代码补救建议之前，请务必仔细审视这些建议。您可能需要对其进行编辑，以确保代码符合您的预期。有关更多信息，请参阅[负责任的人工智能政策](https://aws.amazon.com/machine-learning/responsible-ai/policy/)。

 如果要激活 Lambda 代码扫描，则必须先激活 Lambda 代码扫描。有关更多信息，请参阅[激活扫描类型](https://docs.aws.amazon.com/inspector/latest/user/activate-scans.html)。有关哪些 AWS 区域支持的该特征的信息，请参阅[特定于区域的特征可用性](inspector_regions.md#ins-regional-feature-availability)。

## 在代码漏洞调查发现中加密代码
<a name="lambda-code-encryption"></a>

 Amazon Q 会存储使用 Lambda 代码扫描检测到的与代码漏洞调查发现相关的代码片段。默认情况下，Amazon Q 控制用于加密代码的 [AWS 拥有的密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)。但是，您可以通过 Amazon Inspector API 使用自己的客户自主管理型密钥进行加密。有关更多信息，请参阅[对调查发现中的代码进行静态加密](encryption-rest.md#encryption-code-snippets)。

# 从 Lambda 代码扫描中排除函数
<a name="scanning_resources_lambda_code_exclude_functions"></a>

 您可以向 Lambda 函数添加标签，从而将其排除在 Amazon Inspector Lambda 代码扫描之外。从扫描中排除函数能够防止出现无法操作的警报。向要排除的函数添加标签时，该标签必须具有以下键值对。
+  密钥 – `InspectorCodeExclusion` 
+  值 – `LambdaCodeScanning` 

 本主题介绍如何向要从代码扫描中排除的函数添加标签。有关在 Lambda 中添加标签的更多信息，请参阅[在 Lambda 函数上使用标签](https://docs.aws.amazon.com/lambda/latest/dg/configuration-tags.html)。

**从代码扫描中排除函数**

1.  使用您的凭证登录，然后打开 Lambda 控制台，网址为：[https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)。

1.  从导航窗格中选择**函数**。

1.  选择要排除在 Amazon Inspector Lambda 代码扫描之外的函数的名称。

1.  选择 **Configuration**（配置），然后选择 **Tags**（标签）。

1.  选择**管理标签**，然后选择**添加新标签**。

   1. 对于**键**，输入 `InspectorCodeExclusion`。

   1.  对于 **Value**（值），输入 `LambdaCodeScanning` 

1.  选择**保存**。