From 4541023bd86ce60d2523fb04e343a516bf9a5d96 Mon Sep 17 00:00:00 2001 From: ndr_brt Date: Thu, 8 Aug 2024 11:14:49 +0200 Subject: [PATCH] build: TRG-8-03 enable TruffleHog secrets scan --- .github/workflows/dash-scan.yml | 61 ++++++++++++++++++++++++++++++ .github/workflows/secrets-scan.yml | 58 ++++++++++++++++++++++++++++ .github/workflows/verify.yaml | 3 -- 3 files changed, 119 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/dash-scan.yml create mode 100644 .github/workflows/secrets-scan.yml diff --git a/.github/workflows/dash-scan.yml b/.github/workflows/dash-scan.yml new file mode 100644 index 000000000..3e15cdc0b --- /dev/null +++ b/.github/workflows/dash-scan.yml @@ -0,0 +1,61 @@ +################################################################################# +# Copyright (c) 2024 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################################# + + +name: "3rd Party dependency check (Eclipse Dash)" + +on: + workflow_dispatch: + push: + branches: + - main + pull_request: + branches: + - main + +permissions: + contents: write + +jobs: + check-dependencies: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: generate dependency list + run: | + ./gradlew allDependencies | grep -Poh "(?<=\s)[\w.-]+:[\w.-]+:[^:\s\[\]]+" | sort | uniq > dependency-list + cat dependency-list + + - name: Run dash + id: run-dash + uses: eclipse-tractusx/sig-infra/.github/actions/run-dash@main + with: + dash_input: dependency-list + dependencies_file: DEPENDENCIES + fail_on_out_of_date: true + fail_on_rejected: true + fail_on_restricted: false + + - name: print generated file + if: failure() + run: | + echo "=== Please copy the following content back to DEPENDENCIES ===" + cat DEPENDENCIES + echo "=== end of content ===" diff --git a/.github/workflows/secrets-scan.yml b/.github/workflows/secrets-scan.yml new file mode 100644 index 000000000..dc75bc163 --- /dev/null +++ b/.github/workflows/secrets-scan.yml @@ -0,0 +1,58 @@ +################################################################################# +# Copyright (c) 2024 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 +################################################################################# + + +name: "Secrets scan: TruffleHog" + +on: + push: + branches: [ main ] + pull_request: + schedule: + - cron: "0 0 * * *" # Once a day + +permissions: + actions: read + contents: read + security-events: write + id-token: write + issues: write + +jobs: + ScanSecrets: + name: Scan secrets + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Ensure full clone for pull request workflows + + - name: TruffleHog OSS + id: trufflehog + uses: trufflesecurity/trufflehog@main + continue-on-error: true + with: + path: ./ # Scan the entire repository + base: "${{ github.event.repository.default_branch }}" # Set base branch for comparison (pull requests) + extra_args: --filter-entropy=4 --results=verified,unknown --debug + + - name: Scan Results Status + if: steps.trufflehog.outcome == 'failure' + run: exit 1 # Set workflow run to failure if TruffleHog finds secrets diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index e1fe8fbe9..978cf21ef 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -64,9 +64,6 @@ jobs: exit 1 fi - verify-dependencies: - uses: eclipse-edc/.github/.github/workflows/dependency-check.yml@main - verify-formatting: runs-on: ubuntu-latest steps: