@@ -8,107 +8,50 @@ scan_types:
88
99config :
1010 support_diff_scan : false
11- include_files :
12- # C/C++ https://trivy.dev/v0.61/docs/coverage/language/c/
13- - conan.lock
14- # Dart https://trivy.dev/v0.61/docs/coverage/language/dart/
15- - pubspec.lock
16- # Dotnet https://trivy.dev/v0.61/docs/coverage/language/dotnet/
17- - " *.deps.json"
18- - packages.config
19- - " *Packages.props"
20- - packages.lock.json
21- # Elixir https://trivy.dev/v0.61/docs/coverage/language/elixir/
22- - mix.lock
23- # Go https://trivy.dev/v0.61/docs/coverage/language/golang/
24- - go.mod
25- # Java https://trivy.dev/v0.61/docs/coverage/language/java/
26- - " *gradle.lockfile"
27- - pom.xml
28- - " *.sbt.lock"
29- # NodeJs https://trivy.dev/v0.61/docs/coverage/language/nodejs/
30- - package-lock.json
31- - yarn.lock
32- - pnpm-lock.yaml
33- # Php https://trivy.dev/v0.61/docs/coverage/language/php/
34- - composer.lock
35- - installed.json
36- # Python https://trivy.dev/v0.61/docs/coverage/language/python/
37- - Pipfile.lock
38- - requirements.txt
39- - poetry.lock
40- - uv.lock
41- # Ruby https://trivy.dev/v0.61/docs/coverage/language/ruby/
42- - Gemfile.lock
43- - .gemspec
44- # RUST https://trivy.dev/v0.61/docs/coverage/language/rust/
45- - Cargo.lock
46- # Swift https://trivy.dev/v0.61/docs/coverage/language/swift/
47- - Package.resolved
48- - Podfile.lock
49- # Julia https://trivy.dev/v0.61/docs/coverage/language/julia/
50- - Manifest.toml
5111
5212setup :
53- - name : Utility scripts
13+ - name : Verify dotnet installed
5414 run : |
55- mkdir -p $SETUP_PATH/pre-scan-checks/
56- cp $SETUP_PATH/../../registry/scanners/boostsecurityio/trivy-fs/prescan_checks.sh $SETUP_PATH/pre-scan-checks/trivy
57- - name : download trivy
58- environment :
59- VERSION : 0.67.0
60- LINUX_X86_64_SHA : 5b10e9bba00a508b0f3bcb98e78f1039f7eee26b57c9266961a415642a9208ab
61- LINUX_ARM64_SHA : 0f3ac33954dd918cad708bdf06731b4aa8cc14b12e879932b4ceef2f22640a9e
62- MACOS_X86_64_SHA : ae8a13d8c3abf7f7e7981ac1a5f5ec094d68835f2aac67da102d4ba36e820c3c
63- MACOS_ARM64_SHA : feea8727b501f654683774fe0f98a9c1a128c7d8bcd7c942a8e6f6d05b33bd4b
64- run : |
65- BINARY_URL="https://github.com/aquasecurity/trivy/releases/download/v${VERSION}"
66- ARCH=$(uname -m)
67-
68- case "$(uname -sm)" in
69- "Linux x86_64")
70- BINARY_URL="${BINARY_URL}/trivy_${VERSION}_Linux-64bit.tar.gz"
71- SHA="${LINUX_X86_64_SHA} trivy.tgz"
72- ;;
73- "Linux aarch64")
74- BINARY_URL="${BINARY_URL}/trivy_${VERSION}_Linux-ARM64.tar.gz"
75- SHA="${LINUX_ARM64_SHA} trivy.tgz"
76- ;;
77- "Darwin x86_64")
78- BINARY_URL="${BINARY_URL}/trivy_${VERSION}_macOS-64bit.tar.gz"
79- SHA="${MACOS_X86_64_SHA} trivy.tgz"
80- ;;
81- "Darwin arm64")
82- BINARY_URL="${BINARY_URL}/trivy_${VERSION}_macOS-ARM64.tar.gz"
83- SHA="${MACOS_ARM64_SHA} trivy.tgz"
84- ;;
85- *)
86- echo "Unsupported machine: ${OPTARG}"
87- exit 1
88- ;;
89- esac
90-
91- curl -o trivy.tgz -fsSL "${BINARY_URL}"
92- echo "${SHA}" | sha256sum --check
93-
94- tar --no-same-owner -zxf trivy.tgz trivy
95- rm trivy.tgz
96- chmod +x trivy
15+ mkdir -p $SETUP_PATH/scan-tools
16+ if ! dotnet --version ; then
17+ echo "dotnet is not installed, the scanner cannot run."
18+ exit 1
19+ fi
20+ dotnet tool install CycloneDX --version 5.5.0 --tool-path $SETUP_PATH/scan-tools/.dotnet-tools
21+ if [ $? -ne 0 ]; then
22+ echo "Failed to install CycloneDX"
23+ exit 1
24+ fi
25+ if ! "$SETUP_PATH/scan-tools/.dotnet-tools/dotnet-CycloneDX" --version >/dev/null 2>&1; then
26+ echo "CycloneDX did not install or run correctly"
27+ exit 1
28+ fi
29+ if [ ! -f "Directory.Packages.props" ]; then
30+ echo "No Directory.Packages.props found — creating placeholder"
31+ cat > Directory.Packages.props <<'EOF'
32+ <Project>
33+ <ItemGroup></ItemGroup>
34+ </Project>
35+ EOF
36+ fi
9737
9838steps :
99- - run : $SETUP_PATH/pre-scan-checks/trivy
10039 - scan :
10140 command :
102- environment :
103- NO_COLOR : " true"
104- TRIVY_DB_REPOSITORY : public.ecr.aws/aquasecurity/trivy-db:2,ghcr.io/aquasecurity/trivy-db:2
105- TRIVY_JAVA_DB_REPOSITORY : public.ecr.aws/aquasecurity/trivy-java-db:1,ghcr.io/aquasecurity/trivy-java-db:1
10641 run : |
107- $SETUP_PATH/trivy fs --format=cyclonedx --license-full --no-progress --scanners vuln --cache-dir=/tmp/trivy/ . 2>&1
42+ if [ ! -f "Directory.Packages.props" ]; then
43+ cat > Directory.Packages.props <<'EOF'
44+ <Project>
45+ <ItemGroup></ItemGroup>
46+ </Project>
47+ EOF
48+ RESTORE_FLAG="--disable-package-restore"
49+ else
50+ RESTORE_FLAG=""
51+ fi
52+ dotnet new sln -n temp > /dev/null 2>&1
53+ find . -name "*.csproj" -print0 | xargs -0 dotnet sln temp.sln add > /dev/null 2>&1
54+ $SETUP_PATH/scan-tools/.dotnet-tools/dotnet-CycloneDX $(pwd)/temp.sln $RESTORE_FLAG --output temp_sbom.json --output-format json > /dev/null 2>&1
55+ cat temp_sbom.json/bom.json
10856 format : cyclonedx
109- post-processor :
110- docker :
111- image : public.ecr.aws/boostsecurityio/boost-scanner-trivy-sbom:9b693ef@sha256:249ee707158424d8bd333198e1512ca295fe30c6fff2d2b1adff9e8f914b42cb
112- command : process
113- environment :
114- PYTHONIOENCODING : utf-8
57+
0 commit comments