diff --git a/website/index.html b/website/index.html index 812707a..0d7c85a 100644 --- a/website/index.html +++ b/website/index.html @@ -75,7 +75,7 @@
- v0.9.0 + v0.11.0 Latest release · Apache-2.0

Fail the build when scan results cross your limits.

@@ -107,8 +107,8 @@

Fail the build when scan results cross your limi

Needs Go 1.26 or newer.

@@ -173,15 +173,22 @@

Fail the build when scan results cross your limi
reads Grype + Trivy + osv-scanner CycloneDX + Syft + SARIF Semgrep Gitleaks + trufflehog + Scorecard LCOV Clover Cobertura enriches with EPSS CISA KEV + VEX

@@ -189,15 +196,15 @@

Fail the build when scan results cross your limi

A report goes in. An exit code comes out.

- No server, no database, no account. Gatecheck runs in the job, reads files, and returns 0 or 1. + No server, no database, no account. Gatecheck runs in the job, reads files, and returns an exit code.

01 — report

A scanner writes a report

-

Grype, CycloneDX, Semgrep, Gitleaks, or a coverage file. Gatecheck picks the type from the filename.

-
$ grype app:latest -o json > grype-report.json
+

Grype, Trivy, a SARIF tool, an SBOM, a secrets scan, or a coverage file. Gatecheck reads the type from the contents. gatecheck bootstrap installs pinned, checksum-verified scanners.

+
$ gatecheck grype app:latest -o json > grype-report.json
02 — thresholds @@ -215,7 +222,7 @@

You set the limits

03 — verdict

CI passes or fails

-

gatecheck validate exits 1 when a limit is crossed and 0 when the report is inside it.

+

gatecheck validate exits 1 when a limit is crossed and 0 when the report is inside it. A bad input exits 2, and missing EPSS or KEV data exits 3, even with --audit.

inside every limitexit 0 · pass
a limit crossedexit 1 · fail
@@ -234,23 +241,28 @@

What it checks

VULNERABILITIES -

Grype

+

Grype, Trivy, osv‑scanner

Severity counts, a CVE deny list, and a list of accepted CVEs.

SBOM -

CycloneDX

-

The same CVE checks for vulnerabilities listed in a CycloneDX SBOM.

+

CycloneDX and Syft

+

The same CVE checks for CycloneDX vulnerabilities, and license gating for SBOM packages: deny GPL, require an allow list, or fail unknown licenses.

STATIC ANALYSIS -

Semgrep

-

Separate limits for error, warning, and info findings.

+

Semgrep and SARIF

+

Severity limits and rule allow and deny lists for any SARIF tool, such as gosec, hadolint, zizmor, KICS, or Checkov.

SECRETS -

Gitleaks

-

Fail the job when the report contains any secrets.

+

Gitleaks and trufflehog

+

Fail the job when a report contains a secret, or only when trufflehog verified it is live.

+
+
+ SUPPLY CHAIN +

OpenSSF Scorecard

+

A minimum aggregate score, and minimums for single checks such as Token-Permissions.

TESTS @@ -258,19 +270,14 @@

Coverage

Line, function, and branch thresholds for LCOV, Clover, and Cobertura.

- EXPLOIT LIKELIHOOD -

EPSS

-

FIRST scores on ls --epss for Grype and CycloneDX, and a score limit during validate.

+ EXPLOITS +

EPSS and KEV

+

FIRST EPSS scores on ls --epss and as a limit, and a fail on any CVE in the CISA known-exploited catalog. download epss and download kev save the data for offline runs.

- KNOWN EXPLOITED -

KEV

-

Fail validate when a CVE appears in the CISA known-exploited catalog.

-
-
- DATASETS -

Offline data

-

download epss and download kev print the datasets to stdout.

+ ACCEPTED RISK +

VEX

+

Skip findings an OpenVEX or CycloneDX VEX document marks not affected, so risk decisions live in a file other tools read too.

@@ -298,8 +305,8 @@

Keep every report from a run in one archive.

One step in any pipeline.

A non-zero exit fails the job, so it works with GitHub Actions, GitLab CI, or anything else that runs a - shell. The report filename has to contain its type, such as grype or - semgrep. + shell. The report type comes from its contents, and --format json gives + the result to the next step.

  • @@ -320,8 +327,11 @@

    One step in any pipeline.

    .github/workflows/security.yaml
    -
    - name: Scan the image
    -  run: grype app:latest -o json > grype-report.json
    +            
    - name: Install pinned scanners
    +  run: gatecheck bootstrap --tools grype
    +
    +- name: Scan the image
    +  run: gatecheck grype app:latest -o json > grype-report.json
     
     - name: Validate the Grype report
       run: gatecheck validate -f gatecheck.yaml grype-report.json
    @@ -345,7 +355,7 @@

    Put a gate in front of your next deploy.

    Start with gatecheck config init > gatecheck.yaml and turn on one limit.

@@ -380,7 +390,7 @@

Put a gate in front of your next deploy.

(function () { var cmds = { go: "go install github.com/gatecheckdev/gatecheck/cmd/gatecheck@latest", - bin: 'gh release download v0.9.0 --repo gatecheckdev/gatecheck --pattern "*darwin_arm64*"' + bin: 'gh release download v0.11.0 --repo gatecheckdev/gatecheck --pattern "*darwin_arm64*"' }; var tab = "go"; var copied = false;