{"repo":"NousResearch/hermes-agent","public_id":"55319","display_label":"Secret redaction gaps with control characters","summary":"These issues and pull requests address cases where secret masking can be bypassed or incomplete, specifically involving control characters embedded in secrets and environment-name variant patterns that may escape redaction.","subsystem":"agent","counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":80965},"resolution":{"state":"resolved","by":"pr-80965"},"freshness":{"state":"verified","last_verified_at":"2026-08-07T11:31:23+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":55319,"pr_number":80965,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":77484,"pr_number":80965,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":55319,"title":"Masked secret display can preserve control characters","url":null,"state":"closed"},{"kind":"pr","number":55321,"title":"fix(redact): strip controls from masked secrets","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#58079","number":58079}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":58079,"title":"fix(redact): strip controls before masking secrets","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#55321","number":55321}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":77768,"title":"fix(secrets): close redaction gaps - env-name variants, control-char splits, process(list)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#80965","number":80965},{"kind":"pr","value":"#80643","number":80643},{"kind":"pr","value":"#80643","number":80643},{"kind":"pr","value":"#77484","number":77484},{"kind":"pr","value":"#55319","number":55319},{"kind":"pr","value":"#55321","number":55321}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":80965,"title":"fix(secrets): close redaction emission gaps — env-name variants, control-splits, process(list), mask_secret, checkpoint (salvage #80643 + #77768)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/redact.py","tests/agent/test_redact.py","tests/tools/test_process_registry.py","tools/process_registry.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}