security: extend credential redaction to mysql -p<password> and PG* env-var idioms
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 70/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- mysql, postgresql, typescript
Direzione di ricerca
Inizia da packages/opencode/src/session/compaction.ts e verifica come redactLedgerDetail e maskString utilizzano il catalogo esistente dei flag delle credenziali, in particolare i pattern nello stile di #1246. Trova i test di regressione esistenti per la redazione delle credenziali e aggiungi casi per mysql -psecret, mysqldump -uroot -psecret e PGPASSWORD=secret psql. Il lavoro è completato quando questi idiomi vengono mascherati senza introdurre regressioni nei casi di redazione esistenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
#1246 closed a specific credential leak in ledger text: curl -u <user> <password> (space-separated) surviving redactLedgerDetail/maskString and getting persisted into a model prompt across session compaction. The fix is correct and well-tested for that exact idiom, but scoped narrowly to USER_FLAG_RE (curl-specific -u/--user) plus generic name=value / --flag=value / colon-shaped patterns.
Two sibling credential idioms in the same risk class are not caught by the current catalog in packages/opencode/src/session/compaction.ts:
- MySQL client unseparated flag+value:
mysql -psecret/mysqldump -uroot -psecret— no=, no space, no colon between flag and value. NeitherUSER_FLAG_REnor the generic patterns match this shape. - Env-var-assigned credentials with no separator character before the sensitive name:
PGPASSWORD=secret psql ...is not flagged as sensitive becauseSENSITIVE_NAME's boundary requirement ((?:^|[_-])password(?:$|[_-])) requires a_/-immediately before "password" —PGPASSWORDhas neither.
Neither is new in this release; #1246 just closed one specific case, and its commit message framed it as closing "a curl -u credential leak" rather than the broader class.
Proposed fix
Sweep the full redactLedgerDetail/maskString credential-flag catalog for common CLI credential idioms (mysql, psql/PG* env vars, and any other unseparated -X<value> or unconventional env-var-name patterns) and extend the regex catalog + add regression tests per idiom, following the same pattern as the #1246 fix.
Provenance
Found during the v0.11.0 stable release's Chaos Gremlin (privacy/compliance) persona review, verified by reading packages/opencode/src/session/compaction.ts.
- Lingua principale
- TypeScript
- Stelle
- 813
- Fork
- 134
- Merge medio
- 2g 5h
- PR unite (30g)
- 62
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di AltimateAI/altimate-code
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
AltimateAI/altimate-code#1323 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
AltimateAI/altimate-code#1288 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
AltimateAI/altimate-code#1285 ·
-
privacy: Altimate Base consent dialog no longer discloses persistent per-installation identifier Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
AltimateAI/altimate-code#1284 ·
-
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 72/100
AltimateAI/altimate-code#1283 ·
Tutte le issue di AltimateAI/altimate-code
Issue simili
-
comp/desktop P3 type/bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
NousResearch/hermes-agent#118866 ·
-
Browser Waiting for: Product Owner
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
getsentry/sentry-javascript#24577 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
agilepathway/label-checker#640 ·
-
Plugin stuck at "loading" on DSH 0.1.6-alpha.2 — turnTail list slot registration missing options.id Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Add 2021 Cup data to website Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
chrisparsons83/flexspotff#153 ·