安全代码审查- I

  • AWS Security Agent 根据组织安全要求和常见安全漏洞分析代码变更,以实现一致的执行。

  • AWS Security Agent 自动在pull request上评论安全发现和修复指导,帮助开发人员直接在他们的 GitHub 工作流程中解决问题。

我们将利用 AWS Security Agent 执行 GitHub pull request的审查。

在自己的GitHub账户中导入Juice Shop

在我们将AWS Security Agent连接到自己的GitHub账户之前,我们需要先创建OWASP Juice Shop的私有分支。OWASP Juice Shop的代码库可以在juice-shop/juice-shop 找到

登录GitHub (https://github.com/login),并导航到导入仓库 页面。我们使用GitHub的导入功能来创建现有OWASP Juice Shop项目的私有镜像。目前,GitHub不支持通过原生分叉过程创建私有仓库。

GitHub导入完成可能需要长达五分钟的时间:

以下是需要填写GitHub仓库导入表单的字段:

  • 源仓库URLhttps://github.com/juice-shop/juice-shop.git
  • 源仓库的用户名:您的个人GitHub账户用户名
  • 源仓库的访问令牌或密码:留空,因为源仓库是公开的
  • 您的新仓库详情:输入您导入仓库的名称(例如juice-shop-private),选择仓库的所有者,并确保仓库创建为私有

填写完这些详细信息后,点击绿色的开始导入按钮。

image-20260122205450014

经测试,上面方式持续了40分钟还没有导入完成,这里提供第二种方式,更加快速

使用cli导入

# 1. Clone 原仓库
git clone https://github.com/juice-shop/juice-shop.git
cd juice-shop

# 2. 移除原远程仓库
git remote remove origin

# 3. 在 GitHub 创建新的私有仓库(通过 GitHub CLI 或手动)
使用 GitHub CLI(推荐),将这里的用户替换成自己。另外一种方式是,在 https://github.com/new 手动创建私有仓库 kongpingfan/juice-shop
gh repo create kongpingfan/juice-shop --private --source=. --push

如果没有安装 GitHub CLI:
bash
# macOS
brew install gh

# 登录
gh auth login

image-20260122213833482

等待上传完成:

image-20260122214348978

为了避免Juice Shop预配置的GitHub Actions可能带来的干扰,最好禁用Actions。在仓库的设置页面中导航到Actions - 常规。选择禁用Actions并点击保存

image-20260122214516572

将 AWS Security Agent 连接到 GitHub

为了让 AWS Security Agent 能够分析 GitHub 中的拉取请求,我们首先需要将 Agent Space 配置到 GitHub 账户。

进入到 AWS Security Agent 控制台。

Agent Space 详情页面,点击标题为 Enable code review 的按钮。在这里,我们将完成 AWS Security Agent 与 GitHub 的连接。

image-20260122205846603

在弹出的窗口中,选择 Create new registrationGitHub。点击下一步:

image-20260122205910438

这个选择将进入一个标题为 Connect GitHub to AWS Security Agent 的页面。点击标有 Install and authorize 的按钮,这将重定向到 GitHub 以将 AWS Security Agent 应用安装到您的账户中。

在 GitHub 上,将 AWS Security Agent 应用配置到您之前创建 Juice Shop 仓库私有分支的相同账户或 GitHub 组织。

重定向到 GitHub 后,按照 OAuth 安装流程操作。当提示允许 AWS Security Agent 访问您的 Juice Shop 仓库时,点击 Install & Authorize,然后您将被重定向回 AWS 控制台。

通过提交 Registration name 并选择您是将 Agent 安装到用户还是组织 GitHub 账户来完成 Agent 的 GitHub 应用安装。点击 Connect

image-20260122215027706

为 Juice Shop 启用 AWS Security Agent 代码审查

现在我们已经将 AWS Security Agent 安装到 GitHub 账户中,现在需要将 Juice Shop 仓库与 Agent Space 关联。

现在,选择 Enable code review。选择 Juice Shop 分支并进入下一页。

image-20260122215204620

在此页面上,我们可以配置几个选项,以定义 AWS Security Agent 如何与此仓库交互。在表格中,可以选择启用 GitHub 拉取请求的自动分析,以及启用渗透测试发现的自动修复的附加配置。这里仅切换 Code review enabled

image-20260122215305111

在表格下方,您会找到 Code review settings 部分。可以配置 AWS Security Agent 仅基于我们的安全要求提供分析,或选择包含一般安全建议和漏洞检测的选项。在这里,我们选择 Security requirement validation。点击 Connect