Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cache credentials and the private key are exposed in the logs #176

Open
Inkvi opened this issue Oct 8, 2024 · 1 comment · May be fixed by #194
Open

Cache credentials and the private key are exposed in the logs #176

Inkvi opened this issue Oct 8, 2024 · 1 comment · May be fixed by #194

Comments

@Inkvi
Copy link
Contributor

Inkvi commented Oct 8, 2024

When the proxy starts, it prints the proxy server config as a log message at info level. If S3 or Redis credentials are used, they are leaked to the logs from that server config. Additionally SignerPrivateKeyHex is always leaked regardless of the cache or fallback being used.

│ t=2024-10-08T17:28:35+0000 lvl=info msg="Initializing EigenDA proxy server with config: {\n  \"EigenDAConfig\": {\n    \"EdaClientConfig\": {\n      \"RPC\": \"disperser-holesky.eigen │
│ da.xyz:443\",\n      \"StatusQueryTimeout\": 1800000000000,\n      \"StatusQueryRetryInterval\": 5000000000,\n      \"ResponseTimeout\": 60000000000,\n      \"CustomQuorumIDs\": [],\n │
│       \"SignerPrivateKeyHex\": \"REDACTED",\n      \"DisableTLS\": false,\n      \"PutBlobEncodingVersion\": 0,\n      \"Disab │
│ lePointVerificationMode\": false,\n      \"WaitForFinalization\": false\n    },\n    \"VerifierConfig\": {\n      \"KzgConfig\": {\n        \"G1Path\": \"resources/g1.point\",\n       │
│   \"G2Path\": \"\",\n        \"G1PowerOf2Path\": \"\",\n        \"G2PowerOf2Path\": \"resources/g2.point.powerOf2\",\n        \"CacheDir\": \"resources/SRSTables/\",\n        \"NumWor │
│ ker\": 8,\n        \"SRSOrder\": 268435456,\n        \"SRSNumberToLoad\": 524288,\n        \"Verbose\": false,\n        \"PreloadEncoder\": false\n      },\n      \"VerifyCerts\": fal │
│ se,\n      \"RPCURL\": \"\",\n      \"SvcManagerAddr\": \"\",\n      \"EthConfirmationDepth\": 0\n    },\n    \"MemstoreEnabled\": false,\n    \"MemstoreConfig\": {\n      \"MaxBlobSi │
│ zeBytes\": 16777216,\n      \"BlobExpiration\": 1500000000000,\n      \"PutLatency\": 0,\n      \"GetLatency\": 0\n    },\n    \"FallbackTargets\": [],\n    \"CacheTargets\": [],\n    │
│  \"RedisConfig\": {\n      \"Endpoint\": \"\",\n      \"Password\": \"\",\n      \"DB\": 0,\n      \"Eviction\": 86400000000000,\n      \"Profile\": false\n    },\n    \"S3Config\": { │
│ \n      \"CredentialType\": \"static\",\n      \"Endpoint\": \"storage.googleapis.com\",\n      \"EnableTLS\": false,\n      \"AccessKeyID\": \"REDACTED\",\n      \"AccessKeySecret\": \"REDACTED\",\n      \"Bucket\": \"REDACTED\",\n      \"Path\": \"\",\n      │
│  \"Backup\": false,\n      \"Timeout\": 5000000000,\n      \"Profiling\": false\n    }\n  },\n  \"MetricsCfg\": {\n    \"Enabled\": true,\n    \"ListenAddr\": \"0.0.0.0\",\n    \"List │
│ enPort\": 7300\n  }\n}" role=eigenda_proxy
@Inkvi Inkvi changed the title Cache credentials are exposed in the logs Cache credentials and the private key are exposed in the logs Oct 8, 2024
@samlaf
Copy link
Collaborator

samlaf commented Oct 8, 2024

Hey! We just changed this print last night to hide the private key and eth rpc endpoint. See here.

We can hide other things, like the s3 and redis cache. Should be an easy fix. cc @bxue-l2

@samlaf samlaf added the security label Oct 8, 2024
@samlaf samlaf added the eigenda-proxy label Oct 8, 2024 — with Linear
@epociask epociask self-assigned this Oct 26, 2024
@epociask epociask linked a pull request Oct 26, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants