diff --git a/.github/.gitleaksignore b/.github/.gitleaksignore new file mode 100644 index 0000000..c36d77f --- /dev/null +++ b/.github/.gitleaksignore @@ -0,0 +1,3 @@ +# gitleaks false positives, by fingerprint. Each was read; none is a secret. +# docs/build-host.md: quotes the fingerprint of the public TurnKey signing key. +a4b120acec491eae56859d64413a55ddb566e253:docs/build-host.md:generic-api-key:213 diff --git a/.github/security-baseline b/.github/security-baseline new file mode 100644 index 0000000..57d15d4 --- /dev/null +++ b/.github/security-baseline @@ -0,0 +1,3 @@ +# Security scan baseline (keel-linux/.github, security-scan.yml): findings +# that were read and are not a risk, one per line, the fingerprint and why. +shellcheck:SC2034:docs/infra/keel-provision.pending:929ba114f93a shell lint, not a security risk: a variable read by a sourcing script or left unused diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml new file mode 100644 index 0000000..6623d98 --- /dev/null +++ b/.github/workflows/security.yml @@ -0,0 +1,19 @@ +# Security scanning (keel-linux/.github, profile/WORKFLOWS.md "Security +# scanning"): gitleaks, bandit, semgrep and shellcheck on GitHub-hosted +# runners, no secrets. Findings that are not a risk are listed, each with its +# justification, in .github/security-baseline; gitleaks fixtures, if any, in +# .github/gitleaks.toml. +name: security +on: + pull_request: + push: + branches: [main] + workflow_dispatch: +permissions: + contents: read +jobs: + security: + uses: keel-linux/.github/.github/workflows/security-scan.yml@main + permissions: + contents: read + security-events: write