

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

# AWS 安全代理的工作原理
<a name="how-it-works"></a>

AWS Security Agent 跨三个接口运行，可在整个开发生命周期中提供主动的应用程序安全。安全配置在 AWS 管理控制台中管理，安全审查在安全代理 Web 应用程序中进行，自动代码和安全发现补救直接在代码存储库平台中进行，例如 GitHub。

## 概述
<a name="_overview"></a>

AWS 安全代理由三个主要组件组成：
+  **AWS 管理控制台**-配置代理空间、定义安全要求、配置渗透测试、连接代码存储库和管理用户访问权限
+  Sec@@ **urity Agent Web Application-在分配的代理**空间内进行设计审查、创建和运行威胁模型、执行渗透测试、创建和运行代码审查以及查看安全发现
+  **代码存储库集成**-接收有关拉取请求和渗透测试补救拉取请求的自动代码审查。目前 AWS 安全代理支持连接 GitHub。

您使用以下三个角色之一与 AWS Security Agent 合作，您可以通过您使用的界面来识别这些角色：


|  角色 | 你在哪里工作，做什么 | 
| --- | --- | 
|  **管理员**  | 在 **AWS 管理控制台**中工作 — 设置代理空间、定义安全要求、配置功能和管理用户访问权限。 | 
|  **User**  | 在 S **ecurity Agent Web 应用程序**中运行 — 运行设计审查、威胁模型、渗透测试和代码审查，并审查由此产生的结果。 | 
|  **开发者**  | 在**GitHub 或 IDE**（例如 Kiro 或 Claude Code）中工作 — 接收有关拉取请求的自动安全调查结果，并在不离开开发环境的情况下运行代码扫描。 | 

我们自始至终都使用这些角色名称来表示谁执行每项任务。一个人可以担任多个角色。

### 控制台配置
<a name="_console_configuration"></a>

管理员通过 AWS 管理控制台配置 AWS 安全代理。

 **代理空间**-当您在 AWS 管理控制台中创建第一个代理空间时，AWS 安全代理会为您的账户创建 Web 应用程序。您创建的每个 Agent Space 都代表您想要保护的不同应用程序或项目。在 Web 应用程序中，用户在进行安全评估时选择要在哪个代理空间中工作。

 **安全要求**-定义 AWS Security Agent 在设计和代码审查期间评估的安全要求，这些要求按安全要求包整理。根据行业标准启用 AWS-managed 软件包，为组织的政策创建自定义包，或者通过上传安全文档来生成需求。要求适用于所有代理空间。

 **渗透测试配置**-通过以下方式为每个代理空间配置渗透测试功能：
+ 通过 DNS 或 HTTP 验证验证目标域以进行测试
+ 配置 VPC 访问权限以测试私有应用程序
+ 为渗透测试运行设置 CloudWatch 日志
+ 为测试证书配置 AWS Secrets Manager 或 Lambda 函数
+ 为其他应用程序上下文指定 S3 存储桶

 **代码审查配置**-通过以下方式为每个代理空间配置代码审查功能：
+ 连接 GitHub 存储库或包含源代码的 S3 存储桶
+ 选择代码审查设置（安全漏洞、自定义要求或两者兼而有之）
+ 启用拉取请求注释以自动查看中的代码更改 GitHub
+ 为代码审查运行设置 CloudWatch 日志

 **威胁建模配置**-通过以下方式为每个代理空间配置威胁建模功能：
+ 连接源代码存储库或包含源代码的 S3 存储桶
+ 添加范围文档（功能设计文档）以将分析重点放在特定功能上
+ 为威胁模型运行配置 CloudWatch 日志记录
+ 为 AWS 资源访问设置服务角色

 **集成**-将 GitHub 存储库连接到每个代理空间以启用关键功能：
+ 为更准确的渗透测试提供应用程序上下文
+ 启用代码审查以进行完整存储库扫描和拉取请求分析
+ 通过获取代码审查和渗透测试结果的拉取请求实现自动代码修复

 **用户访问权限**-管理用户访问安全客户端 Web 应用程序的方式。如果您已启用 IAM 身份中心 (SSO)，请在 AWS 安全代理控制台中分配用户以提供对 Web 应用程序的直接 SSO 访问权限。如果您使用 IAM-only 访问权限，则拥有 AWS 控制台访问权限的用户可以通过控制台中的管理员访问链接启动任何 Agent Space 的 Web 应用程序。

### Web 应用程序活动
<a name="_web_application_activities"></a>

用户访问安全客户端 Web 应用程序以在其分配的代理空间内进行安全评估。

 **选择代理空间**-登录 Web 应用程序时，用户可以选择要在哪个代理空间中工作。用户只能查看和访问他们被分配到的代理空间。

 **设计审查**-上传设计文档和架构规范，以便根据组织安全要求进行分析。使用补救指南查看调查结果。

 **威胁模型**-通过提供源代码、技术设计文档（范围文档）或同时提供两者来创建和运行威胁模型。范围文档定义了代理重点分析的内容；源代码提供了有关您现有系统的上下文。每次运行都会生成系统概述，描述应用程序的架构、信任边界、数据流和安全状况，以及按STRIDE类别分类的一组威胁，包括严重级别和可行的建议。

 **代码审查**-创建和运行代码审查，对您的完整源代码进行全面的静态分析。选择 GitHub 存储库或 S3 来源，配置扫描设置，并根据补救指南查看详细的安全发现。AWS Security Agent 可识别安全漏洞，并验证整个代码库是否符合贵组织的自定义安全要求。

 **渗透测试**-通过提供目标网址、身份验证详细信息和文档来配置和执行渗透测试。AWS Security Agent 执行自主测试，通过多步攻击场景发现可利用的漏洞。

 **审查结果**-检查设计审查、威胁模型、代码审查和渗透测试的详细安全发现，包括影响分析、可重现的攻击路径和补救指南。

 **验证修复**-实施补救措施以验证漏洞已得到解决后的 Re-run 安全评估。

### GitHub 整合
<a name="_github_integration"></a>

AWS Security Agent 直接 GitHub 与集成，在开发人员的工作流程中提供自动安全反馈。

 **拉取请求评论**-管理员安装 AWS Security Agent GitHub 应用程序并通过代码审查评论为代理空间启用代码审查后，AWS 安全代理会自动分析连接存储库中的拉取请求。开发人员直接在拉取请求评论中收到安全发现和补救指导，根据组织安全要求和常见漏洞验证代码更改。

 **自动修复**-当用户为代码审查启用自动代码修复时，AWS Security Agent 会针对已发现的漏洞生成修复程序，并将拉取请求提交到关联的 GitHub 存储库。

 **渗透测试补救**-当管理员在控制台中启用查找补救功能时，用户可以从 Web 应用程序请求对渗透测试结果进行自动修复。AWS Security Agent 向关联 GitHub 存储库打开拉取请求，其中包含用于修复该漏洞的代码修复。