GitHub Action: Docker image scan

GitHub Action: Docker image scan

avatar

Phong Nguyen

2024.07.28

Ngày nay, các hệ thống vận hành container khá phổ biến với các Platform như Docker, ECS, Kubernetes .v.v. Vấn đề về các lỗ hổng bảo mật là một trong những vấn đề lớn đối với Docker Images. Bài viết này là hướng dẫn ngắn sử dụng github action để scan docker images như là một phần trong CI.

Đối tượng đọc bài viết này

  • Có kiến thức về docker
  • Có kiến thức về Github Action

Giới thiệu Demo

Demo này mình giả sử đang có project react-app và muốn dockerize nó, sau đấy đẩy lên các nguồn lưu trữ như ECR hay dockerhub như một phần trong quy trình CI/CI.

Khi thực hiện pull request từ feature branh đến main branch, mình muốn thực hiện việc Scan Dockerfile và Docker image để phát hiện những lổ hổng.

Sau khi Scan thực hiện bằng github action xong mình muốn thể hiện kết quả thông bằng comment trên chính Pull request.

Dựa vào kết quả này, mình sẽ thực hiện fix các lỗ hổng bảo mật

Docker image được fix xong nhưng trong tương lai sẽ tiếp tục có những lỗ hổng khác xuất hiện, đó chính là lý do các version mới liên tục ra đời.

Source code

Source và hướng dẫn mình để Tại đây Các bạn đọc README là có thể làm được

Kết quả khi mình tạo Pull request

Mỗi lỗ hổng bảo mật được định danh bằng CVE ID, cách fix thế nào thì các bạn có thể search ID của nó để tìm đến doc và xem cách fix.

Challenge

  • Việc quét các lỗ hổng này nên được tự động hóa và chạy mỗi ngày trên repo dự án (dockerhub, ECR)
  • Tùy theo level của Vulnerabilities mà sẽ quy định phải fix trong bao nhiêu này. Dự án tự quy định

Tài liệu tham khảo