Trivy 是一款简单且全面的容器和其他软件构件的漏洞扫描工具。由于其易用性和高效性,Trivy 在容器安全领域受到了广泛的关注和使用。
假设您想在 GitHub Actions 中集成 Trivy 以自动扫描 Docker 镜像。
场景: 每当有新代码提交到 GitHub 仓库时,自动构建 Docker 镜像,并使用 Trivy 扫描这个镜像。
示例代码:
name: CI
on:
push:
branches: [ main ]
jobs:
build-and-scan:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build Docker image
run: docker build -t my-app:latest .
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'my-app:latest'
format: 'table'
exit-code: '1'
ignore-unfixed: true
在这个 GitHub Actions 工作流中,首先会检出代码,然后使用 Docker Buildx 构建 Docker 镜像。接着,使用 Trivy Action 扫描这个镜像。如果扫描出现问题,工作流将失败,避免潜在不安全的镜像部署到生产环境。
这样的自动化集成确保了所有新代码提交都会经过安全检查,提高了整体的应用安全水平。