@@ -19,6 +19,12 @@ VHD_IMAGE="$MANAGED_SIG_ID"
19
19
SIG_CONTAINER_NAME=" vhd-scans"
20
20
SCAN_VM_ADMIN_USERNAME=" azureuser"
21
21
22
+ RELEASE_NOTES_FILEPATH=" $( pwd) /release-notes.txt"
23
+ if [ ! -f " ${RELEASE_NOTES_FILEPATH} " ]; then
24
+ echo " ${RELEASE_NOTES_FILEPATH} does not exist"
25
+ exit 1
26
+ fi
27
+
22
28
# we must create VMs in a vnet subnet which has access to the storage account, otherwise they will not be able to access the VHD blobs
23
29
SCANNING_SUBNET_ID=" /subscriptions/${SUBSCRIPTION_ID} /resourceGroups/${PACKER_VNET_RESOURCE_GROUP_NAME} /providers/Microsoft.Network/virtualNetworks/${PACKER_VNET_NAME} /subnets/scanning"
24
30
if [ -z " $( az network vnet subnet show --ids $SCANNING_SUBNET_ID | jq -r ' .id' ) " ]; then
@@ -51,10 +57,11 @@ function cleanup() {
51
57
echo " Deleting resource group ${RESOURCE_GROUP_NAME} "
52
58
az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait
53
59
}
54
- trap cleanup EXIT
60
+ # trap cleanup EXIT
55
61
capture_benchmark " ${SCRIPT_NAME} _set_variables_and_create_scan_resource_group"
56
62
57
- VM_OPTIONS=" --size Standard_D8ds_v5"
63
+ # VM_OPTIONS="--size Standard_D8ds_v5"
64
+ VM_OPTIONS=" --size Standard_DS1_v2"
58
65
if [[ " ${ARCHITECTURE,,} " == " arm64" ]]; then
59
66
VM_OPTIONS=" --size Standard_D8pds_v5"
60
67
fi
@@ -97,6 +104,7 @@ TRIVY_SCRIPT_PATH="$CDIR/$TRIVY_SCRIPT_PATH"
97
104
TIMESTAMP=$( date +%s%3N)
98
105
TRIVY_UPLOAD_REPORT_NAME=" trivy-report-${BUILD_ID} -${TIMESTAMP} .json"
99
106
TRIVY_UPLOAD_TABLE_NAME=" trivy-table-${BUILD_ID} -${TIMESTAMP} .txt"
107
+ CVE_DIFF_UPLOAD_REPORT_NAME=" cve-diff-${BUILD_ID} -${TIMESTAMP} .txt"
100
108
101
109
# Extract date, revision from build number
102
110
BUILD_RUN_NUMBER=$( echo $BUILD_RUN_NUMBER | cut -d_ -f 1)
@@ -140,17 +148,25 @@ az vm run-command invoke \
140
148
" SYSTEM_COLLECTIONURI" =${SYSTEM_COLLECTIONURI} \
141
149
" SYSTEM_TEAMPROJECT" =${SYSTEM_TEAMPROJECT} \
142
150
" BUILDID" =${BUILD_ID} \
143
- " IMAGE_VERSION" =${IMAGE_VERSION}
151
+ " IMAGE_VERSION" =${IMAGE_VERSION} \
152
+ " CVE_DIFF_UPLOAD_REPORT_NAME" =${CVE_DIFF_UPLOAD_REPORT_NAME} \
153
+ " SCAN_RESOURCE_PREFIX" =${SCAN_RESOURCE_PREFIX}
144
154
145
155
capture_benchmark " ${SCRIPT_NAME} _run_az_scan_command"
146
156
147
157
az storage blob download --container-name ${SIG_CONTAINER_NAME} --name ${TRIVY_UPLOAD_REPORT_NAME} --file trivy-report.json --account-name ${STORAGE_ACCOUNT_NAME} --auth-mode login
148
158
az storage blob download --container-name ${SIG_CONTAINER_NAME} --name ${TRIVY_UPLOAD_TABLE_NAME} --file trivy-images-table.txt --account-name ${STORAGE_ACCOUNT_NAME} --auth-mode login
159
+ az storage blob download --container-name ${SIG_CONTAINER_NAME} --name ${CVE_DIFF_UPLOAD_REPORT_NAME} --file cve-diff.txt --account-name ${STORAGE_ACCOUNT_NAME} --auth-mode login
149
160
150
161
az storage blob delete --account-name ${STORAGE_ACCOUNT_NAME} --container-name ${SIG_CONTAINER_NAME} --name ${TRIVY_UPLOAD_REPORT_NAME} --auth-mode login
151
162
az storage blob delete --account-name ${STORAGE_ACCOUNT_NAME} --container-name ${SIG_CONTAINER_NAME} --name ${TRIVY_UPLOAD_TABLE_NAME} --auth-mode login
163
+ az storage blob delete --account-name ${STORAGE_ACCOUNT_NAME} --container-name ${SIG_CONTAINER_NAME} --name ${CVE_DIFF_UPLOAD_REPORT_NAME} --auth-mode login
164
+
152
165
capture_benchmark " ${SCRIPT_NAME} _download_and_delete_blobs"
153
166
167
+ echo " === CVEs fixed in version: ${IMAGE_VERSION} " >> ${RELEASE_NOTES_FILEPATH}
168
+ cat cve-diff.txt >> ${RELEASE_NOTES_FILEPATH}
169
+
154
170
echo -e " Trivy Scan Script Completed\n\n\n"
155
171
capture_benchmark " ${SCRIPT_NAME} _overall" true
156
172
process_benchmarks
0 commit comments