π‘οΈ Sentinel: [CRITICAL] Fix exposed database password in setup command - #82
π‘οΈ Sentinel: [CRITICAL] Fix exposed database password in setup command#82keough99 wants to merge 1 commit into
Conversation
Co-authored-by: keough99 <13394623+keough99@users.noreply.github.com>
|
π Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a π emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
π¨ Severity: CRITICAL
π‘ Vulnerability: The
levelerdb setupcommand inleveler/commands.pyaccepted the MySQL database password as a plaintext argument. When a bot owner ran this command in a public server channel, the database password was exposed to all server members who could view the channel and was permanently logged in Discord's message history.π― Impact: This allowed unauthorized users to view the backend database password, potentially leading to a complete compromise of the leveling database if the database host was publicly accessible or if the credentials were reused.
π§ Fix: Added a security check (
if ctx.guild:) to enforce that thelevelerdb setupcommand can only be executed in Direct Messages (DMs). If it is accidentally run in a public server, the bot immediately warns the user, halts execution, and attempts to delete the command message to minimize exposure.β Verification: Ensure the bot is running, attempt to use
[p]levelerdb setup host user pass db 3306in a server channel, and verify that it immediately deletes the message and returns a security warning. Verify that it still works in DMs.PR created automatically by Jules for task 7989220437383505210 started by @keough99