From 013453c7fdfa031eff560869cb9a64f9d89e0b5f Mon Sep 17 00:00:00 2001 From: Martin Skorupski Date: Fri, 24 Mar 2023 13:40:36 +0100 Subject: [PATCH] Create script for SBOM and Vulnerabilities analysis of the solution docker images - create own directory and - sum output in 'out' directory Issue-ID: OAM-318 Change-Id: I82d60c816cfcfa13a3b9facdb14ab3f7da218d7c Signed-off-by: Martin Skorupski --- code/{ => container-analysis}/container-analysis.sh | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) rename code/{ => container-analysis}/container-analysis.sh (66%) diff --git a/code/container-analysis.sh b/code/container-analysis/container-analysis.sh similarity index 66% rename from code/container-analysis.sh rename to code/container-analysis/container-analysis.sh index 087675c..880d7a0 100755 --- a/code/container-analysis.sh +++ b/code/container-analysis/container-analysis.sh @@ -27,32 +27,35 @@ SYFT=$(which syft) if [ -z "$SYFT" ]; then - echo "unable to find syft. please install." + echo "Unable to find syft. Please install." exit 1 fi GRYPE=$(which grype) if [ -z "$GRYPE" ]; then - echo "unable to find grype. please install." + echo "Unable to find grype. Please install." exit 1 fi -excluded_images=(nexus3.onap.org:10001/onap/dmaap/dmaap-mr:1.1.18 nexus3.onap.org:10001/onap/dmaap/kafka111:1.0.4 nexus3.onap.org:10001/onap/dmaap/zookeeper:6.0.3 nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.1) +mkdir -p out + +excluded_images=() image_names=($(docker ps --format '{{.Image}}' | tr ' ' '\n' | sort -u | tr '\n' ' ')) +# avoid doublicates for ele in "${excluded_images[@]}"; do -image_names=(${image_names[@]/*${ele}*/}) + image_names=(${image_names[@]/*${ele}*/}) done echo "Analysing following images: ${image_names[*]}" for image in "${image_names[@]}"; do -image_name_no_repo="${image##*/}" -echo "Creating SBOM for ${image} in ${image_name_no_repo}.sbom.spdx.json..." -${SYFT} -q ${image} -o spdx-json --file ${image_name_no_repo}.sbom.spdx.json -echo "Creating Vulnerabilities for ${image} in ${image_name_no_repo}.vulnerabilities.vex.json..." -${GRYPE} -q ${image} -o embedded-cyclonedx-vex-json --file ${image_name_no_repo}.vulnerabilities.vex.json + image_name_no_repo="${image##*/}" + echo "Creating SBOM for ${image} in ${image_name_no_repo}.sbom.spdx.json..." + ${SYFT} -q ${image} -o spdx-json --file out/${image_name_no_repo}.sbom.spdx.json + echo "Creating Vulnerabilities for ${image} in ${image_name_no_repo}.vulnerabilities.vex.json..." + ${GRYPE} -q ${image} -o embedded-cyclonedx-vex-json --file out/${image_name_no_repo}.vulnerabilities.vex.json done echo "Done!" -- 2.16.6