Skip to content

chore: committed profile export (default.tar.gz) removed from repo root and Docker layers (salvage #91712) - #92394

Merged
teknium1 merged 3 commits into
mainfrom
hermes/hermes-ac684094
Aug 22, 2026
Merged

chore: committed profile export (default.tar.gz) removed from repo root and Docker layers (salvage #91712)#92394
teknium1 merged 3 commits into
mainfrom
hermes/hermes-ac684094

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Summary

default.tar.gz — a full profile export accidentally committed to the repo root in ee37f3d8976b — is no longer in the tree or in Docker image layers. Salvages the removal from #91712 by @EAbaracus (authorship preserved), with the exposure vectors closed on top.

The tarball contained a populated platforms.webhook.extra.secret (48-hex, webhook.enabled: true) and a secrets.bitwarden.project_id in its config.yaml, so this is security-relevant cleanup, not just tree hygiene: .dockerignore had no matching pattern, meaning the Dockerfile's COPY . . layer carried the archive into every published image since v2026.8.19.

Changes

  • Cherry-picked from chore/docs: cleanup committed root artifacts + minor docs/diagnostics fixes #91712 (@EAbaracus): delete default.tar.gz (1.9 MB), log.txt, sqlite_leak_fix.png; add .gitignore rules (HA-D11-001 / HA-D3-001)
  • .gitignore: anchor the new rules to repo root (/log.txt, /default.tar.gz, …) per review feedback so same-named test fixtures at depth aren't silently ignored
  • .dockerignore: add the same set plus /*.tar.gz so root archives can never reach an image layer again

Validation

Before After
default.tar.gz in tree yes (1.9 MB, contains live-looking webhook secret) removed
.dockerignore matches it NONE /default.tar.gz, /*.tar.gz
Repo references to the file tests write it to tmp dirs only — nothing reads from repo root unchanged

Note: removal from the working tree does not purge the blob from history (ee37f3d8976b remains reachable) — secret rotation and image republish are handled separately.

Infographic

Root artifacts purged

EAbaracus and others added 3 commits August 22, 2026 10:22
… default.tar.gz)

These were committed to the repo root but are build/debug byproducts:
- log.txt: empty 0-byte file
- sqlite_leak_fix.png: unreferenced 832KB image
- default.tar.gz: 1.96MB, only used as a test fixture OUTPUT (tests write it
  to a temp dir, never read from repo root)

Add ignore rules so they cannot be re-committed. Part of audit cleanup
(HA-D11-001 / HA-D3-001).
…ker image layers

Follow-up to the cherry-picked cleanup: the default.tar.gz profile export
was also carried into published container images by the Dockerfile's
'COPY . .' layer because .dockerignore had no matching pattern. Anchor
the .gitignore rules to repo root (per review feedback on #91712) and
add the same set + /*.tar.gz to .dockerignore so root archives can never
reach an image layer again.
@github-actions

github-actions Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

૮ >ﻌ< ა ci review

ran on b19deeb — chore: add contributor email mapping for EAbaracus

⚠️ Warnings

OSV vulnerability scan · View job

7 known vulnerabilities found in pinned dependencies.

How to fix:

Review the findings in the Security tab. Update the affected dependencies if a patched version is available.


debug info

CI timings

CI timings · View report · View job

Wall time 2m40s vs 3m27s (-22.7%). 7 job(s) slower, 5 faster,

  • OS-specific tests / Windows-only tests: -42.0s
  • Python tests / Run tests: +19.0s
  • OS-specific tests / macOS-only tests: +7.0s
  • Detect affected areas: +6.0s
  • Python tests / e2e: +5.0s

@alt-glitch alt-glitch added type/security Security vulnerability or hardening area/docker Docker image, Compose, packaging sweeper:risk-security-boundary Sweeper risk: may affect sandboxing, auth, credentials, or sensitive data P2 Medium — degraded but workaround exists needs-repro Bug needs reproduction steps P1 High — major feature broken, no workaround and removed P2 Medium — degraded but workaround exists needs-repro Bug needs reproduction steps labels Aug 22, 2026
@teknium1
teknium1 merged commit 0cde4dd into main Aug 22, 2026
37 checks passed
@teknium1
teknium1 deleted the hermes/hermes-ac684094 branch August 22, 2026 17:38

Copy link
Copy Markdown
Contributor

Post-merge incident settlement is now owned by #92457. Keep #92394 as the merged source-tree/Docker-context prevention authority; do not reopen or fork that cleanup into another removal PR.

#92457 owns the remaining distinct predicates: rotate/revoke the exposed webhook credential at its real authority, establish the affected image/tag window, republish or retire distributed images that could contain default.tar.gz, and make an explicit Git-history decision for the still-reachable ee37f3d8976b blob. Exposure is established; malicious use is not asserted.

Provenance from #91712 / @EAbaracus remains attached to the artifact-removal lineage through #92394.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/docker Docker image, Compose, packaging P1 High — major feature broken, no workaround sweeper:risk-security-boundary Sweeper risk: may affect sandboxing, auth, credentials, or sensitive data type/security Security vulnerability or hardening

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants