Skip to content

🛡️ Sentinel: [HIGH] Fix sensitive credential exposure in plaintext inputs#92

Open
bobdivx wants to merge 1 commit into
devfrom
sentinel-fix-plaintext-credentials-14569345265680042943
Open

🛡️ Sentinel: [HIGH] Fix sensitive credential exposure in plaintext inputs#92
bobdivx wants to merge 1 commit into
devfrom
sentinel-fix-plaintext-credentials-14569345265680042943

Conversation

@bobdivx
Copy link
Copy Markdown
Owner

@bobdivx bobdivx commented May 25, 2026

🚨 Severity: HIGH

💡 Vulnerability: Multiple configuration and setup components in the frontend (UploadTrackersManagerPanel.tsx, UploadAssistantPanel.tsx, UploadTrackerPanel.tsx, TmdbConfig.tsx, TmdbStep.tsx) were using <input type="text"> for highly sensitive fields such as API keys and tracker passkeys. Additionally, autoComplete was left enabled.

🎯 Impact: This exposes these credentials to physical shoulder-surfing (as the characters are fully visible on screen). Furthermore, without autoComplete="off", browsers may cache or suggest these secrets in dropdowns or history, leaving them vulnerable to local machine compromises or accidental exposure during screen sharing.

🔧 Fix: Modified all identified sensitive credential input fields to use <input type="password"> and explicitly set autoComplete="off". This masks the input characters and prevents browsers from recording the values. Documented this critical learning in the .jules/sentinel.md journal.

Verification:

  • Verified that all five components have been modified.
  • Ran pnpm lint without related errors.
  • Ran pnpm test successfully.
  • Verified build using pnpm build (via bun install workaround for missing deps) and cleaned up bun.lock.
  • Verified .jules/sentinel.md appending.

PR created automatically by Jules for task 14569345265680042943 started by @bobdivx

…puts

This commit addresses a security vulnerability where sensitive API keys and passkeys were rendered using standard text inputs in multiple settings and setup components (`UploadTrackersManagerPanel.tsx`, `UploadAssistantPanel.tsx`, `UploadTrackerPanel.tsx`, `TmdbConfig.tsx`, `TmdbStep.tsx`).

By converting `<input type="text">` to `<input type="password" autoComplete="off">`, these fields are now protected against physical shoulder-surfing and browser auto-fill/caching mechanisms, adhering to the principle of least privilege regarding data visibility. The security learning has also been appended to the sentinel journal.

Co-authored-by: bobdivx <6737167+bobdivx@users.noreply.github.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
popcorn-client Ready Ready Preview, Comment May 25, 2026 6:46am

@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 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 @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request enhances security by masking sensitive input fields, such as API keys and passkeys, across multiple configuration and setup components by changing their type to "password" and adding "autoComplete" attributes. It also updates the security documentation to reflect these changes. Feedback across all modified files suggests using 'autoComplete="new-password"' instead of 'autoComplete="off"' to more reliably prevent modern browsers from attempting to autofill or save these secrets as site credentials.

Comment on lines +207 to +208
type="password"
autoComplete="off"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

While autoComplete="off" is intended to prevent browser caching, modern browsers often ignore it for fields of type="password" to prioritize their built-in password managers. For sensitive fields like API keys that are not traditional login passwords, using autoComplete="new-password" is generally more effective at preventing browsers from offering to save or autofill the field with unrelated credentials.

Suggested change
type="password"
autoComplete="off"
type="password"
autoComplete="new-password"

Comment on lines +1681 to +1682
type="password"
autoComplete="off"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Modern browsers frequently ignore autoComplete="off" on password-type inputs. To more reliably prevent browser password managers from attempting to capture or autofill these API key and passkey fields, consider using autoComplete="new-password".

Suggested change
type="password"
autoComplete="off"
type="password"
autoComplete="new-password"

Comment on lines +1698 to +1699
type="password"
autoComplete="off"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

As with the API key field, using autoComplete="new-password" here will better prevent modern browsers from ignoring the directive and attempting to manage this passkey as a site password.

Suggested change
type="password"
autoComplete="off"
type="password"
autoComplete="new-password"

Comment on lines +323 to +324
type="password"
autoComplete="off"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Consider using autoComplete="new-password" instead of "off". Most modern browsers ignore the off value for password inputs. new-password is a more robust way to signal that the browser should not autofill this field with existing site passwords.

Suggested change
type="password"
autoComplete="off"
type="password"
autoComplete="new-password"

Comment on lines +272 to +273
type="password"
autoComplete="off"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using autoComplete="new-password" is typically more effective than "off" for sensitive fields like API keys. Modern browsers often bypass off on password inputs, but new-password explicitly tells the browser's password manager to treat it as a unique secret and avoid autofilling it.

Suggested change
type="password"
autoComplete="off"
type="password"
autoComplete="new-password"

Comment on lines +286 to +287
type="password"
autoComplete="off"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Switching to autoComplete="new-password" here will help ensure that browsers do not incorrectly suggest or save this passkey as a login credential for the application.

Suggested change
type="password"
autoComplete="off"
type="password"
autoComplete="new-password"

Comment on lines +299 to +300
type="password"
autoComplete="off"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To ensure that browsers do not attempt to autofill this TMDB API key with a user's site password, autoComplete="new-password" is recommended over "off", as the latter is often ignored by modern browser heuristics for password-type inputs.

Suggested change
type="password"
autoComplete="off"
type="password"
autoComplete="new-password"

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