Python을 활용한 업무의 일부를 공유하는 게시물입니다.
아직 공부하는 입장이기에 부족한 부분이 있을 수 있습니다. 지적해주시면 적극 반영하도록 하겠습니다.
퍼가시거나, 업무에서 도움이 되었다면 댓글 하나씩 부탁드립니다 :) 감사합니다.
Summary
Trivy 점검 코드의 전체적인 로직은 ECR Image를 다운로드 받고 > 취약점 점검을 하고 > 이미지를 삭제하는것으로 한다.
- 물론 사전에 코드를 구동하는 환경에 Trivy 패키지를 설치한다.
실행하면 ECR Repo.txt로 각 Repo의 취약점 점검 결과를 받을 수 있으며 Trivy는 많은 옵션이 있으므로 필요한 부분은 수정하면 된다.
#! /usr/bin/python3
#ECR LOGIN
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin xxxxxxxx.dkr.ecr.ap-northeast-2.amazonaws.com <<< 상황에 맞게 수정하시면 됩니다.
#Trivy로 검사할 레포 이름
LIST_ECR_REPO= <<< 상황에 맞게 수정하시면 됩니다.
"
test-1
test-2
"
#ECR 이미지에 대한 기본 정보
BASE="xxxxxxxx.dkr.ecr.ap-northeast-2.amazonaws.com/" <<< 상황에 맞게 수정하시면 됩니다.
for ECRREPO in $LIST_ECR_REPO <<< 상황에 맞게 수정하시면 됩니다.
do
echo "######### $ECRREPO Scanning Start #########"
echo "........ $ECRREPO Polling ECR Image ........"
docker pull xxxxxxxx.dkr.ecr.ap-northeast-2.amazonaws.com/${ECRREPO}:latest >& /dev/null
echo "........ $ECRREPO Image Scan Start ........"
trivy image xxxxxxxx.dkr.ecr.ap-northeast-2.amazonaws.com/${ECRREPO}:latest --security-checks vuln --ignore-unfixed > ${ECRREPO}.txt <<< 상황에 맞게 수정하시면 됩니다.
echo "........ $ECRREPO Image Delete ........"
docker rmi ${BASE}${ECRREPO}:latest >& /dev/null
echo "........ $ECRREPO Scan Finish ........"
done
echo "GOOD SCAN"
'개발 이모저모 > Python' 카테고리의 다른 글
[Python] CloudFront, ALB WAF 미연결 리소스 찾기 (0) | 2022.12.29 |
---|---|
[Python] NACL Deny 정책 넣기 (0) | 2022.12.10 |
[Python] 사용자별 Workspace 마지막 사용일 구하기 (0) | 2022.12.10 |
[Python] VirusTotal API + Response Save Bot 만들기 (0) | 2022.03.12 |