diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..723e338 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,18 @@ +repos: +- repo: https://github.com/gitleaks/gitleaks + rev: v8.16.3 + hooks: + - id: gitleaks +- repo: https://github.com/jumanjihouse/pre-commit-hooks + rev: 3.0.0 + hooks: + - id: shellcheck +- repo: https://github.com/pre-commit/mirrors-eslint + rev: v8.38.0 + hooks: + - id: eslint +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: end-of-file-fixer + - id: trailing-whitespace diff --git a/nthpartyfinder/Dockerfile b/nthpartyfinder/Dockerfile index 2a2472f..371df9a 100644 --- a/nthpartyfinder/Dockerfile +++ b/nthpartyfinder/Dockerfile @@ -12,7 +12,7 @@ # ----------------------------------------------------------------------------- # Stage 1: Build (Debian bookworm-based Rust — glibc matches runtime) # ----------------------------------------------------------------------------- -FROM rust:slim-bookworm AS builder +FROM rust:slim-bookworm@sha256:5b9332190bb3b9ece73b810cd1f1e9f06343b294ce184bcb067f0747d7d333ea AS builder RUN apt-get update && apt-get install -y --no-install-recommends \ pkg-config libssl-dev \ @@ -39,7 +39,7 @@ RUN strip target/release/nthpartyfinder # ----------------------------------------------------------------------------- # Stage 2: Download ONNX Runtime (Chainguard hardened base) # ----------------------------------------------------------------------------- -FROM cgr.dev/chainguard/wolfi-base:latest AS onnx-dl +FROM cgr.dev/chainguard/wolfi-base:latest@sha256:9925d3017788558fa8f27e8bb160b791e56202b60c91fbcc5c867de3175986c8 AS onnx-dl USER root RUN apk add curl && \ curl -fsSL -o /tmp/onnxruntime.tgz \ @@ -49,7 +49,7 @@ RUN apk add curl && \ # ----------------------------------------------------------------------------- # Stage 3: Download subfinder (Chainguard hardened base) # ----------------------------------------------------------------------------- -FROM cgr.dev/chainguard/wolfi-base:latest AS subfinder-dl +FROM cgr.dev/chainguard/wolfi-base:latest@sha256:9925d3017788558fa8f27e8bb160b791e56202b60c91fbcc5c867de3175986c8 AS subfinder-dl USER root RUN apk add curl unzip && \ curl -fsSL -o /tmp/subfinder.zip \ @@ -62,7 +62,7 @@ RUN apk add curl unzip && \ # No free hardened image supports Chromium: Chainguard/Wolfi has no Chromium # package (request closed as "not planned"), Distroless has no package manager. # ----------------------------------------------------------------------------- -FROM debian:bookworm-slim +FROM debian:bookworm-slim@sha256:74d56e3931e0d5a1dd51f8c8a2466d21de84a271cd3b5a733b803aa91abf4421 # Install runtime dependencies, then harden by removing package manager cache RUN apt-get update && apt-get install -y --no-install-recommends \