Skip to content

Security: Hardcoded Last.fm API secret in default configuration#535

Open
Nam0101 wants to merge 1 commit intoIrosTheBeggar:masterfrom
Nam0101:contribai/fix/security/hardcoded-last-fm-api-secret-in-default-
Open

Security: Hardcoded Last.fm API secret in default configuration#535
Nam0101 wants to merge 1 commit intoIrosTheBeggar:masterfrom
Nam0101:contribai/fix/security/hardcoded-last-fm-api-secret-in-default-

Conversation

@Nam0101
Copy link
Copy Markdown

@Nam0101 Nam0101 commented Mar 31, 2026

Hi there! 👋

While going through the codebase, I noticed a minor opportunity for improvement regarding src/state/config.js.

Context:
The default config embeds a concrete lastFM.apiSecret (and paired API key) directly in source code. Because this repository is public, anyone can reuse these credentials to impersonate this application against Last.fm APIs, consume quota/rate limits, and potentially disrupt legitimate users of the feature. This is a real credential exposure, not a placeholder.

Proposed fix:
Remove the hardcoded defaults and load these values from environment variables or user config at runtime. For example: apiKey: Joi.string().default(process.env.LASTFM_API_KEY || ''), apiSecret: Joi.string().default(process.env.LASTFM_API_SECRET || ''), then enforce non-empty values only when Last.fm integration is enabled. Also rotate/revoke the currently exposed secret with Last.fm.

Files touched:

  • src/state/config.js (modified)

(Note: Tested the changes locally to ensure everything works as expected. Let me know if you need any adjustments, happy to help!)


NamNV
📍 Hanoi, Vietnam
📧 nam.nv205106@gmail.com

…ration

The default config embeds a concrete `lastFM.apiSecret` (and paired API key) directly in source code. Because this repository is public, anyone can reuse these credentials to impersonate this application against Last.fm APIs, consume quota/rate limits, and potentially disrupt legitimate users of the feature. This is a real credential exposure, not a placeholder.


Affected files: config.js

Signed-off-by: Nguyen Van Nam <nam.nv205106@gmail.com>
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