Automated Security Helper (ASH) 使用教程
automated-security-helper 项目地址: https://gitcode.com/gh_mirrors/aut/automated-security-helper
1. 项目介绍
Automated Security Helper (ASH) 是一个开源的安全辅助工具,旨在帮助开发者在代码、基础设施或IAM配置中尽早发现潜在的安全问题,从而降低安全违规的概率。ASH 不是一个替代人工审查的工具,而是通过使用轻量级的开源工具来提供初步的安全检查。
ASH 支持多种编程语言和基础设施框架,包括但不限于 Python、JavaScript、Golang、C#、Bash、Java 以及 Terraform 和 CloudFormation。它集成了多个开源工具,如 git-secrets、bandit、Semgrep、Grype、Syft 等,以确保代码和基础设施的安全性。
2. 项目快速启动
2.1 在 Linux 或 MacOS 上快速启动
-
克隆项目仓库:
REPO_DIR="$HOME/Documents/repos/reference" REPO_NAME="automated-security-helper" mkdir -p $REPO_DIR git clone https://github.com/awslabs/automated-security-helper $REPO_DIR/$REPO_NAME
-
设置环境变量:
export PATH="$PATH:$REPO_DIR/$REPO_NAME"
-
运行 ASH 工具:
ash --version
2.2 在 Windows 上快速启动
-
安装 WSL 2: 确保已安装并配置 WSL 2 环境。
-
安装 Docker Desktop: 使用 WSL 2 环境配置 Docker Desktop。
-
打开 WSL 2 终端: 使用 Windows Terminal 或其他终端工具打开 WSL 2 环境。
-
克隆项目仓库:
REPO_DIR="/mnt/c/Documents/repos/reference" REPO_NAME="automated-security-helper" mkdir -p $REPO_DIR git clone https://github.com/awslabs/automated-security-helper $REPO_DIR/$REPO_NAME
-
设置环境变量:
export PATH="$PATH:$REPO_DIR/$REPO_NAME"
-
运行 ASH 工具:
ash --version
3. 应用案例和最佳实践
3.1 代码安全检查
ASH 可以用于检查代码中的常见安全问题,如 API 密钥、密码、AWS 密钥等。通过集成 git-secrets、bandit、Semgrep 等工具,ASH 能够在代码提交前自动进行安全检查,确保代码的安全性。
3.2 基础设施安全检查
对于使用 Terraform 或 CloudFormation 管理的基础设施,ASH 可以通过 checkov、cfn_nag、cdk-nag 等工具进行安全检查,确保基础设施配置的安全性。
3.3 使用 pre-commit 钩子
ASH 可以与 pre-commit 工具集成,作为 Git 提交前的钩子,自动运行安全检查。这可以帮助开发团队在本地开发环境中尽早发现并修复安全问题。
4. 典型生态项目
4.1 AWS Cloud9
ASH 可以与 AWS Cloud9 集成,提供一个预装了 ASH 的开发环境。开发者可以在 Cloud9 中直接使用 ASH 进行代码和基础设施的安全检查。
4.2 AWS CodePipeline
ASH 可以集成到 AWS CodePipeline 中,作为 CI/CD 流程的一部分,自动进行代码和基础设施的安全检查。这可以帮助团队在代码部署前发现并修复安全问题。
4.3 Docker
ASH 支持在 Docker 容器中运行,开发者可以使用 Docker 快速启动 ASH,并在容器中进行代码和基础设施的安全检查。
通过以上步骤,开发者可以快速上手并使用 Automated Security Helper (ASH) 进行代码和基础设施的安全检查,确保开发过程中的安全性。
automated-security-helper 项目地址: https://gitcode.com/gh_mirrors/aut/automated-security-helper