fix: remove hardcoded Engine API JWT secret and require explicit configuration#1087
Open
erhnysr wants to merge 1 commit into
Open
fix: remove hardcoded Engine API JWT secret and require explicit configuration#1087erhnysr wants to merge 1 commit into
erhnysr wants to merge 1 commit into
Conversation
Collaborator
🟡 Heimdall Review Status
|
…iguration The default BASE_NODE_L2_ENGINE_AUTH_RAW value was a well-known public hex string committed in the repository. Because authrpc binds to 0.0.0.0, any operator using host networking, Kubernetes, custom port mappings, or shared Docker networks was exposed to unauthenticated Engine API access. - Replace hardcoded secret in .env.mainnet and .env.sepolia with a placeholder that instructs operators to generate their own value with `openssl rand -hex 32` - Add validation in execution-entrypoint that exits with a clear error message if BASE_NODE_L2_ENGINE_AUTH_RAW is unset or still holds the placeholder value - Upgrade the existing empty-check in consensus-entrypoint to also catch the placeholder value - Document BASE_NODE_L2_ENGINE_AUTH_RAW as a required field in README.md Fixes base#1086 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
e917d59 to
92c3193
Compare
Author
|
Rebased on latest main (post #1090) This PR has been rebased onto the current
The original files from the old structure ( The hardcoded |
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.
Summary
Fixes #1086.
The default
BASE_NODE_L2_ENGINE_AUTH_RAWvalue (688f5d737bad920b...) was a well-known public hex string committed in the repository. Sinceauthrpcbinds to0.0.0.0:8551, any operator using host networking, Kubernetes, custom port mappings, or shared Docker networks was exposed to unauthenticated Engine API access.Operators who relied on the default
BASE_NODE_L2_ENGINE_AUTH_RAWvalue must now set their own secret before starting the node. The entrypoints will exit with a clear error message and generation hint if the variable is unset or still holds the placeholder:Changes
.env.mainnet/.env.sepolia: Replace hardcoded secret with<your-secret-jwt>placeholder and generation instructionsreth/reth-entrypoint,base-consensus-entrypoint,geth/geth-entrypoint,op-node-entrypoint: Add validation block — exits with clear error if secret is unset or placeholderREADME.md: DocumentBASE_NODE_L2_ENGINE_AUTH_RAWas a required field under Configuration → Required SettingsTest plan
BASE_NODE_L2_ENGINE_AUTH_RAW— confirm all entrypoints exit with error message and generation hintBASE_NODE_L2_ENGINE_AUTH_RAW=$(openssl rand -hex 32)— confirm node starts and containers authenticate successfully