Skip to content

Feat/docker hardening trivy metrics - #1964

Merged
Gbangbolaoluwagbemiga merged 4 commits into
HyperSafeD:mainfrom
nonso7:feat/docker-hardening-trivy-metrics
Oct 25, 2026
Merged

Gbangbolaoluwagbemiga merged 4 commits into
HyperSafeD:mainfrom
nonso7:feat/docker-hardening-trivy-metrics

Conversation

@nonso7

@nonso7 nonso7 commented Oct 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Describe the change, the motivation behind it, and any important implementation details.

Fixes #

Type of change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Maintenance or refactor

Testing

List the commands you ran and the scope of validation.

cargo fmt --all --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p sanctifier-core --all-features
cargo test -p sanctifier-cli
cd frontend && npm test

Checklist

  • I ran the relevant tests locally, or explained why they were not needed.
  • I updated documentation for any user-facing behavior changes.
  • I added or updated tests for the change when appropriate.
  • I added a changelog or release-notes entry when needed, or confirmed none is required.
  • I verified this branch is up to date with main and merge conflicts are resolved.

Closes #1824
Closes #1150
Closes #1144
Closes #1143

nonso7 and others added 4 commits October 25, 2026 20:18
…TOCTOU race

Replays the attack sequence from docs/allowance-race.md against a real
Stellar Asset Contract and asserts on balances: the approve path drains
150 tokens, while decrease_allowance caps the spender at the original 100.

Closes HyperSafeD#1824

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Multi-stage build: rust:1.98-bookworm builder producing a static musl
binary (built with cargo-auditable), copied into
gcr.io/distroless/static-debian12:nonroot. No shell, no libc, runs as
uid 65532 and works with --read-only and --cap-drop ALL.

Final image is 18.0 MB, down from the 2.17 GB builder. The previous
Dockerfile downloaded a v0.1.0 release asset that returns 404.

Closes HyperSafeD#1143

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- docker-scan.yml builds the production image, smoke-tests it and fails
  on unwaived CRITICAL/HIGH findings; reports uploaded as artifacts.
  Runs on image-related changes, weekly, and via workflow_call.
- release.yml waits for that scan and scans its own image before push.
- trivy-action pinned by commit SHA, Trivy pinned to v0.75.0.
- .trivyignore documents the waiver format (none needed today).
- Bump quinn-proto 0.11.14 -> 0.11.19 (GHSA-4w2j-m93h-cj5j) and
  rustls-webpki 0.103.10 -> 0.103.15 (GHSA-82j2-j2ch-gfr8), both HIGH,
  found by the new scan.

Closes HyperSafeD#1144

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- GET /metrics in Prometheus text format, optionally protected by
  METRICS_TOKEN.
- All API routes record latency histograms, request/error counters and
  in-flight gauges; CLI analysis jobs record throughput, outcome and
  duration (exit 1 = findings found counts as success).
- monitoring/grafana/sanctifier-api.json: p50/p95/p99 latency, error
  rate by endpoint, analysis-job throughput; plus a scrape config.
- docs/metrics.md, and docs/SLO.md updated to the real metric names.

Closes HyperSafeD#1150

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 25, 2026

Copy link
Copy Markdown

@nonso7 is attempting to deploy a commit to the gbangbolaoluwagbemiga's projects Team on Vercel.

A member of the Team first needs to authorize it.

@Gbangbolaoluwagbemiga
Gbangbolaoluwagbemiga merged commit 221da59 into HyperSafeD:main Oct 25, 2026
40 of 53 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants