Skip to content

Commit 067cc67

Browse files
Add ecr enhanced scanning script
1 parent a87388c commit 067cc67

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

src/ecr-enhanced-scanning.py

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/usr/bin/env python3
2+
3+
import os
4+
import boto3
5+
import json
6+
import sys
7+
8+
build_version=os.environ['BUILD_VERSION']
9+
severity=list(os.environ['SEVERITY'].split(' '))
10+
app_name=os.environ['APP_NAME']
11+
ecr_account=os.environ['ECR_ACCOUNT']
12+
13+
client = boto3.client('ecr')
14+
response = client.describe_image_scan_findings(
15+
registryId=ecr_account,
16+
repositoryName=app_name,
17+
imageId={
18+
'imageTag': build_version
19+
},
20+
)
21+
22+
countResponse = len(response['imageScanFindings']['enhancedFindings'])
23+
24+
if countResponse == 0:
25+
print("---> No vulnerabilities found")
26+
else:
27+
print("---> Checking for %s vulnerabilities" %(severity))
28+
for level in severity:
29+
print ("\n" + "---> List of " + level + " packages")
30+
level_counter = 0
31+
for vuln_counter in range(0,countResponse):
32+
vuln_report=response
33+
if vuln_report['imageScanFindings']['enhancedFindings'][vuln_counter]['severity'] == level:
34+
print("%s: Package %s:%s" %(level,vuln_report['imageScanFindings']['enhancedFindings'][vuln_counter]['packageVulnerabilityDetails']['vulnerablePackages'][0]['name'],vuln_report['imageScanFindings']['enhancedFindings'][vuln_counter]['packageVulnerabilityDetails']['vulnerablePackages'][0]['version']))
35+
level_counter+=1
36+
37+
if level_counter > 0:
38+
print("--> Total of %s vulnerabilities %s" %(level,level_counter))
39+
else:
40+
print("--> %s vulnerabilities have not been found" %(level))
41+
42+
print("\n" + "---> WARNING: Overview of %s container image vulnerability(ies)" %(app_name))
43+
print(vuln_report['imageScanFindings']['findingSeverityCounts'])

0 commit comments

Comments
 (0)