You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project participates in the [OpenSSF Scorecard](https://github.com/ossf/scorecard) program and ships with several security controls enabled by default:
5
4
6
-
Since this project is always in development and updated to the last release of `go` and its dependencies, the vulnerabilities are always fixed in the last release, so we will support the last 1 major version and its patches.
*[](https://github.com/slashdevops/idp-scim-sync/actions/workflows/codeql.yml) — CodeQL SAST on every push and PR (`.github/workflows/codeql.yml`).
7
+
*`govulncheck` runs in the `Build` workflow and blocks PRs that introduce known Go vulnerabilities.
8
+
* All GitHub Actions are pinned by full commit SHA; container base images are pinned by `@sha256` digest.
9
+
* Release binaries are signed and shipped with SLSA Level 3 provenance (see [Verifying release artifacts](#verifying-release-artifacts) below).
10
+
* Container images published to `ghcr.io/slashdevops/idp-scim-sync` are signed with Cosign keyless (Sigstore).
7
11
8
12
## Supported Versions
9
13
14
+
The project follows the latest Go release line and updates its dependencies on a continuous basis. Only the most recent minor version receives security fixes.
15
+
10
16
| Version | Supported |
11
17
| ------- | ------------------ |
12
18
| 0.44.x |:white_check_mark:|
@@ -21,4 +27,42 @@ Since this project is always in development and updated to the last release of `
21
27
22
28
## Reporting a Vulnerability
23
29
24
-
Use the [Project Issues --> Vulnerability](https://github.com/slashdevops/idp-scim-sync/issues/new/choose) to report it
30
+
Use the [Project Issues → Vulnerability template](https://github.com/slashdevops/idp-scim-sync/issues/new/choose) to report a security issue. For sensitive reports, please use [GitHub's private vulnerability reporting](https://github.com/slashdevops/idp-scim-sync/security/advisories/new) instead of a public issue.
31
+
32
+
## Verifying release artifacts
33
+
34
+
Starting with versions released after [PR-3 of the OpenSSF hardening effort](https://github.com/slashdevops/idp-scim-sync/issues?q=label%3Aopenssf), every release ships with a SLSA Level 3 provenance attestation (`multiple.intoto.jsonl`) and container images are signed with Cosign keyless (Sigstore).
35
+
36
+
### Binary release zips (SLSA provenance)
37
+
38
+
Download the release zip(s) plus the `multiple.intoto.jsonl` attestation from the same release page, then verify with [`slsa-verifier`](https://github.com/slsa-framework/slsa-verifier):
39
+
40
+
```shell
41
+
# Install slsa-verifier (one-time)
42
+
go install github.com/slsa-framework/slsa-verifier/v2/cli/slsa-verifier@latest
43
+
44
+
# From the directory where you downloaded the assets
Closes the **Signed-Releases** Scorecard check (0/10 → 10/10) by adopting two complementary supply-chain primitives:
10
+
11
+
***SLSA Level 3 provenance for binary release zips.** A new `provenance` job in `.github/workflows/release.yml` calls the official `slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1.0` reusable workflow. It binds every release zip's `sha256` to a Sigstore-signed in-toto attestation (`multiple.intoto.jsonl`) and uploads it to the GitHub release. Anyone can verify the link between artifact ↔ source ↔ build with [`slsa-verifier`](https://github.com/slsa-framework/slsa-verifier).
12
+
***Cosign keyless signing for container images.** After `podman manifest push`, `.github/workflows/container-image.yml` resolves the multi-arch manifest to its content digest and signs by digest with `cosign sign --recursive` (keyless via Sigstore Fulcio + Rekor). Both the tagged image and `latest` are signed.
13
+
14
+
Also added a `Verifying release artifacts` section to `SECURITY.md` with copy-pasteable verification commands. Fixed a stale `codeql-analysis.yml` reference in the same file.
15
+
16
+
> [!NOTE]
17
+
> The `slsa-github-generator` reusable workflow is intentionally pinned by tag (not by SHA). The SLSA verifier validates the workflow ref against its own allow-list of signed releases — SHA-pinning would break verification. This is the only documented exception to the project's SHA-pinning rule.
Closed the **Vulnerabilities** Scorecard check (0/10 → 10/10). The previous baseline reported 19 known vulnerabilities, all tracing to two indirect dependencies:
0 commit comments