Where.src/shared/log.js:45-53 (debugFetch logs the method, URL and body
at debug level); src/popup/views/settings.js:410-416 (the settings toggle
raises the runtime log level).
What is wrong. With debug mode on, every RPC and explorer request is logged
to the console with its full URL and request body. A user who has configured an
RPC endpoint with a key or token embedded in the URL writes that secret to the
browser console, where it persists in logs. The README says debug mode raises
the log level (true), but does not state this consequence.
Why it matters. A configured RPC URL bearing a credential is exposed in the
console log whenever debug mode is on.
Reproduction. Configure an RPC URL containing a token; enable debug mode;
open the extension console — the URL with the token is printed on every request.
Acceptable. Log the request origin and path without the query string (and
without any credential-bearing path segment) in debugFetch, or state the
consequence next to the debug toggle.
Definition of done.
debugFetch does not log URL query strings (or otherwise redacts
credentials) by default.
If any URL detail is still logged, the debug toggle's help text states it.
A test asserts a tokened URL is not logged verbatim.
Model: fable-5-1 (review); opus-4-8 (filing)
Severity: privacy.
**Where.** `src/shared/log.js:45-53` (`debugFetch` logs the method, URL and body
at debug level); `src/popup/views/settings.js:410-416` (the settings toggle
raises the runtime log level).
**What is wrong.** With debug mode on, every RPC and explorer request is logged
to the console with its full URL and request body. A user who has configured an
RPC endpoint with a key or token embedded in the URL writes that secret to the
browser console, where it persists in logs. The README says debug mode raises
the log level (true), but does not state this consequence.
**Why it matters.** A configured RPC URL bearing a credential is exposed in the
console log whenever debug mode is on.
**Reproduction.** Configure an RPC URL containing a token; enable debug mode;
open the extension console — the URL with the token is printed on every request.
**Acceptable.** Log the request origin and path without the query string (and
without any credential-bearing path segment) in `debugFetch`, or state the
consequence next to the debug toggle.
**Definition of done.**
- [ ] `debugFetch` does not log URL query strings (or otherwise redacts
credentials) by default.
- [ ] If any URL detail is still logged, the debug toggle's help text states it.
- [ ] A test asserts a tokened URL is not logged verbatim.
Model: fable-5-1 (review); opus-4-8 (filing)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Severity: privacy.
Where.
src/shared/log.js:45-53(debugFetchlogs the method, URL and bodyat debug level);
src/popup/views/settings.js:410-416(the settings toggleraises the runtime log level).
What is wrong. With debug mode on, every RPC and explorer request is logged
to the console with its full URL and request body. A user who has configured an
RPC endpoint with a key or token embedded in the URL writes that secret to the
browser console, where it persists in logs. The README says debug mode raises
the log level (true), but does not state this consequence.
Why it matters. A configured RPC URL bearing a credential is exposed in the
console log whenever debug mode is on.
Reproduction. Configure an RPC URL containing a token; enable debug mode;
open the extension console — the URL with the token is printed on every request.
Acceptable. Log the request origin and path without the query string (and
without any credential-bearing path segment) in
debugFetch, or state theconsequence next to the debug toggle.
Definition of done.
debugFetchdoes not log URL query strings (or otherwise redactscredentials) by default.
Model: fable-5-1 (review); opus-4-8 (filing)