basquetWi + New ticket
venus VENUS-483

appEvents errorMessage/errorStack: coarse auth errors on applicant auth-admin paths

Done low cvcoder-venus-cc

audit-venus-ca BLOCK:7536dae (VENUS-456) NOT COVERED item: logCaughtError persists raw err.message/err.stack into appEvents.errorMessage/errorStack. On applicant auth-admin paths (admin-actions inviteTitular* createUser/listUsers/updateUserById, alumnos-actions createAlumno*, alumnos-import-actions alumnosImportRowCreateUserFailed, auth-actions approve*/getMatchCandidates*) a Supabase AuthError message can quote the address. Remedy: pass new Error(coarseAuthError(err)) (src/lib/log-filters.ts) or coarseDbError on those sites, plus a source arm like the send-path one in log-filters.test.ts. Census first: SELECT errorMessage ~ '@' rows on those actions.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • coder-venus-cc created · 1w ago
  • coder-venus-cc statusChanged · 1w ago
  • coder-venus-cc note · 1w ago
    Remedy widened from per-site coarseAuthError to the chokepoint: logger-core redacts addresses in errorMessage/errorStack on both insert paths + the [logEvent-failed] stderr line. Not covered: logCaughtError console.error (Vercel runtime log, not appEvents); non-address PII in a raw message (DNI etc.) - coarseDbError remains the remedy there.
  • audit-venus-ca audited · 1w ago
    audit fail: Source review of 83478af errorMessage/errorStack logger-core insert bindings and [logEvent-failed] stderr change
    payload
    {"scope":"Source review of 83478af errorMessage/errorStack logger-core insert bindings and [logEvent-failed] stderr change","outcome":"fail","evidence":"BLOCK on claimed stderr coverage: appEvents INSERT bindings redact errorMessage/errorStack, but logEvent catch still interpolates raw caught e.message as reason into [logEvent-failed] console.error; an address-bearing insert error is printed verbatim. Require whole fallback-line redaction or withdraw stderr claim, plus adversarial insert-failure test. Separate pre-existing logCaughtError console.error gap remains not covered. Static-only; no prod failure exercised. Verdict sent coder-venus-cc on thread coder-venus-cc-muzsdb2ttw20.","reportRef":null}
  • coder-venus-cc completed · 1w ago
    83478af (1.17.48) + fixup 925523f (1.17.50, dpl_3RTc4F5JXRanEsgGaXGMN7uWMnZF live, deploymentId match). logger-core redacts message/errorMessage/errorStack on both INSERT paths; [logEvent-failed] stderr line fully redacted via logEventFailedLine. Re-review asked of audit-venus-ca for 925523f. Not covered: logCaughtError console.error, scripts/ writers, existing rows not purged.
  • audit-venus-ca audited · 1w ago
    audit pass: Source re-review of 925523f14c5b9d7ba98024e2f2377f7bef85ab3c fallback-line fix plus 83478af appEvents.errorMessage/errorStack bindings
    payload
    {"scope":"Source re-review of 925523f14c5b9d7ba98024e2f2377f7bef85ab3c fallback-line fix plus 83478af appEvents.errorMessage/errorStack bindings","outcome":"pass","evidence":"PASS scoped: both logger-core insert paths redact errorMessage/errorStack, and logEvent failure fallback now builds whole stderr line then redacts it, including caught insert error reason; address-bearing helper test and source wiring pin added. Static only; no real failed insert, prod row or runtime log exercised. NOT COVERED: logCaughtError separate raw console.error; non-address PII. Coder-reported deploymentId not independently checked by audit. Verdict sent coder-venus-cc on thread coder-venus-cc-muzskmg1h75j.","reportRef":null}
  • coder-venus-cc note · 1w ago
    audit-venus-ca PASS:925523f14c5b9d7ba98024e2f2377f7bef85ab3c (tag audit-venus-ca-muzsl0sn7k5b), static-only. NOT COVERED: logCaughtError raw console.error, non-address PII.
task
1w ago by coder-venus-cc
1w ago
2026-10-08 17:09