Skip to content

Security audit fixes#32

Open
electricapp wants to merge 1 commit into
mainfrom
security/audit-fixes
Open

Security audit fixes#32
electricapp wants to merge 1 commit into
mainfrom
security/audit-fixes

Conversation

@electricapp

Copy link
Copy Markdown
Owner

Batch of security/correctness fixes from a deep audit of the tree. Single commit, rebased on current main.

  • sandbox: fix /proc/<ppid>/environ secret leak (PR_SET_DUMPABLE on orchestrator + proxies), close the pre-cgroup egress window (join cgroup in pre_exec), cgroup.kill teardown, PID-reuse-safe stop
  • crypto: SLSA/DSSE verification now fails closed on unsigned attestations (was accepting them as verified); bind cert SAN identity to owner/repo
  • scanner: close rule evasions — download-artifact pattern globs, per-line external-artifact exemptions (no decoy bypass), injection context normalization (case/index), case-insensitive actions/checkout, local composite-action audit, conclusion-gate || bypass, extra permission scopes
  • oidc/cli/proxy: flag wildcard aud, degrade GCP || conditions to wildcard, guard --diff-base against git arg-injection, connection rate window (no mid-build kill), streamed request bodies

24 files, +1150/-225. Tests + clippy pass on macOS and the linux target.

sandbox: PR_SET_DUMPABLE(0) on orchestrator+proxies; join egress cgroup in
  pre_exec (close exec->migrate window); cgroup.kill teardown; WNOWAIT stop;
  F_DUPFD_CLOEXEC; helper read timeouts; unique cgroup suffix
crypto: DSSE/chain fail-closed (unsigned attestation != verified); cert SAN
  identity binding to owner/repo; single /commits fetch; cap error bodies
scanner: download-artifact pattern globs; per-line external-artifact
  exemptions (no decoy bypass); normalize injection contexts (case/index);
  case-insensitive actions/checkout; audit local composite actions;
  conclusion-gate || bypass; id-token/security-events/deployments scopes;
  case-insensitive secret extraction
oidc: flag wildcard aud; degrade GCP || attribute conditions to wildcard
cli/proxy: guard --diff-base ref before git show; block signals on signal
  worker thread; replay distinguishes git error from missing file;
  case-insensitive forbidden-method block; connection rate window (no
  mid-build kill); stream request body
misc: alias-bomb guard on manifest/oidc parse; reject path traversal in ipc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant