fix(security): harden runtime and release trust boundaries - #2483
Open
springhealth-everettmorgan wants to merge 10 commits into
Open
fix(security): harden runtime and release trust boundaries#2483springhealth-everettmorgan wants to merge 10 commits into
springhealth-everettmorgan wants to merge 10 commits into
Conversation
added 10 commits
August 26, 2026 07:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Human comments
What was wrong
bb is a high-privilege agent runner: its unauthenticated API could be exposed off-loopback, child processes inherited ambient credentials, non-loopback plaintext transports could carry sensitive data, server-delivered updates were trusted without independent publisher verification, and sensitive diagnostics/data directories lacked consistent redaction and permission hardening. Privileged release workflows also allowed unsafe manual refs and an unpinned npm tool fallback.
What changed
Host/X-Forwarded-Hostexpansion from the browser-origin allowlist, closing the wildcard/DNS-rebinding exposure path.PATH.maingates and QA secret isolation to privileged release/deploy paths, pinned npm11.6.2, updated the flagged transitive dependencies through pnpm overrides/lockfile regeneration, and added pinned GitHub artifact attestations. Attestations are documented as provenance, not Linux code signatures.HOST_DAEMON_PROTOCOL_VERSIONwas not modified.How you verified
pnpm exec turbo run typecheck: 79/79 tasks passed.pnpm exec turbo run lint: passed with existing React compiler warnings.pnpm exec turbo run build --filter=@bb/desktop --filter=@bb/server --filter=@bb/host-daemon --filter=bb-app: 12/12 tasks passed.git diff --checkpassed.The default full parallel test graph is not green because an untouched
@bb/host-daemon-contract/test/payload-size.test.tshas Node 26 gzip-size golden differences and several existing resource-sensitive integration/server tests time out under the full graph. The same integration cases pass serially; the unrelated golden was not changed. The repo-wide formatter also reports an unrelated pre-existing escape error atapps/mobile/e2e/flows/phase4a-work-rows.yaml:277.Residual risks are explicit: loopback API callers remain unauthenticated, plugins/providers remain full-trust code, daemon artifacts remain server-trusted and unsigned when opt-in auto-update is used, SQLite remains unencrypted, npm Trusted Publishing retains job-scoped OIDC during dependency install/build, and external GitHub environment/branch-protection settings were not verifiable from this checkout.