@@ -44,43 +44,21 @@ log_info "Starting universal security tools installation"
4444
4545TMPDIR_CLEANUP=" $( mktemp -d) "
4646
47- # Install trivy (idempotent)
47+ # Install trivy via APT repository (idempotent)
4848if command -v trivy & > /dev/null; then
4949 log_info " trivy is already installed, skipping"
5050else
51- log_info " Installing trivy"
51+ log_info " Installing trivy via APT repository "
5252 require_cmd " curl" " curl is required to install trivy"
5353
54- ARCH=" $( get_arch) "
55- OS=" $( get_os) "
54+ curl -fsSL https://get.trivy.dev/deb/public.key | gpg --dearmor -o /usr/share/keyrings/trivy.gpg
55+ echo " deb [signed-by=/usr/share/keyrings/trivy.gpg] https://get.trivy.dev/deb generic main" \
56+ > /etc/apt/sources.list.d/trivy.list
57+ apt-get update -qq
58+ apt-get install -y --no-install-recommends trivy
59+ rm -rf /var/lib/apt/lists/*
5660
57- # Map architecture names for trivy release artifacts
58- case " ${ARCH} " in
59- amd64) TRIVY_ARCH=" 64bit" ;;
60- arm64) TRIVY_ARCH=" ARM64" ;;
61- * ) TRIVY_ARCH=" ${ARCH} " ;;
62- esac
63-
64- case " ${OS} " in
65- linux) TRIVY_OS=" Linux" ;;
66- darwin) TRIVY_OS=" macOS" ;;
67- * ) TRIVY_OS=" ${OS} " ;;
68- esac
69-
70- # Fetch latest trivy version from GitHub releases
71- TRIVY_VERSION=$( curl -fsSL https://api.github.com/repos/aquasecurity/trivy/releases/latest | jq -r ' .tag_name' | sed ' s/^v//' )
72- if is_empty " ${TRIVY_VERSION} " ; then
73- log_warn " Could not determine latest trivy version, using fallback"
74- TRIVY_VERSION=" 0.58.0"
75- fi
76-
77- log_info " Downloading trivy ${TRIVY_VERSION} for ${TRIVY_OS} /${TRIVY_ARCH} "
78- TRIVY_URL=" https://github.com/aquasecurity/trivy/releases/download/v${TRIVY_VERSION} /trivy_${TRIVY_VERSION} _${TRIVY_OS} -${TRIVY_ARCH} .tar.gz"
79- curl -fsSL " ${TRIVY_URL} " -o " ${TMPDIR_CLEANUP} /trivy.tar.gz"
80- tar -xzf " ${TMPDIR_CLEANUP} /trivy.tar.gz" -C " ${TMPDIR_CLEANUP} "
81- install -m 0755 " ${TMPDIR_CLEANUP} /trivy" /usr/local/bin/trivy
82-
83- log_info " trivy ${TRIVY_VERSION} installed successfully"
61+ log_info " trivy installed successfully"
8462fi
8563
8664# Verify gitleaks is available (built in Go builder stage and copied)
0 commit comments