Skip to content

security: remove hardcoded Sentry DSN from source - #153

Open
SomSatwik wants to merge 3 commits into
NVIDIAGameWorks:mainfrom
SomSatwik:sec/remove-hardcoded-sentry-dsn
Open

security: remove hardcoded Sentry DSN from source#153
SomSatwik wants to merge 3 commits into
NVIDIAGameWorks:mainfrom
SomSatwik:sec/remove-hardcoded-sentry-dsn

Conversation

@SomSatwik

Copy link
Copy Markdown

The Sentry DSN (ingest authentication key) was embedded as a plaintext string literal in src/util/util_sentry.cpp. Anyone reading the public GitHub repository or stripping the shipped DLL could extract it and:

  • Spam the NVIDIA Sentry project with forged crash events, exhausting the quota and drowning real reports in noise.
  • Incur billing charges on NVIDIA's Sentry account.
  • Enumerate project metadata via the Sentry ingest API.

Fix: move the DSN out of source entirely. A new Meson option 'remix_sentry_dsn' (analogous to the existing 'remix_sentry_environment') is passed to the compiler as -DREMIX_SENTRY_DSN=. CI release builds supply the value from a secrets store; local/dev builds that omit the option compile with an empty string, which sentry-native silently treats as a no-op (crash upload is disabled).

The now-public DSN must be rotated in the Sentry dashboard.

OWASP: A07:2021 - Identification and Authentication Failures
CWE-798: Use of Hard-coded Credentials

SomSatwik and others added 3 commits August 24, 2026 23:44
The Sentry DSN (ingest authentication key) was embedded as a plaintext
string literal in src/util/util_sentry.cpp.  Anyone reading the public
GitHub repository or stripping the shipped DLL could extract it and:

  - Spam the NVIDIA Sentry project with forged crash events, exhausting
    the quota and drowning real reports in noise.
  - Incur billing charges on NVIDIA's Sentry account.
  - Enumerate project metadata via the Sentry ingest API.

Fix: move the DSN out of source entirely.  A new Meson option
'remix_sentry_dsn' (analogous to the existing 'remix_sentry_environment')
is passed to the compiler as -DREMIX_SENTRY_DSN=<dsn>.  CI release
builds supply the value from a secrets store; local/dev builds that omit
the option compile with an empty string, which sentry-native silently
treats as a no-op (crash upload is disabled).

The now-public DSN must be rotated in the Sentry dashboard.

OWASP: A07:2021 - Identification and Authentication Failures
CWE-798: Use of Hard-coded Credentials
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