From 669eb8753fea7d185c156fefa398c2dbbac2fb90 Mon Sep 17 00:00:00 2001 From: AIOSAI Date: Tue, 16 Jun 2026 00:29:55 -0700 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20add=202026-06-16=20=E2=80=94?= =?UTF-8?q?=20secrets=20hardening=20(DPLAN-0211)=20+=20dispatch=5Fmonitor?= =?UTF-8?q?=20PID-429=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27a64df6..6145928b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,32 @@ PyPI version — not the changelog header. --- +## [2026-06-16] + +### Security + +- **Secrets door hardened — no raw secret value ever reaches stdout + (DPLAN-0211).** `@api get-secret` previously printed retrieved secret values + to stdout — an acute exposure in AIPass because Claude Code captures command + stdout into the model context. The command now emits a **masked summary** by + default (`provider/slug: set (N chars)`), writes the raw value only to a + `0600`-mode file via `--out FILE` (printing just the path), and `--list` + prints slug **names** only. The `telegram` skill — the sole consumer — was + rewired from subprocess-parsing `get-secret` stdout to the **in-process + secrets module API**. Clears CodeQL clear-text-logging alerts #86/#87/#88. + +### Fixed + +- **`@ai_mail` dispatch monitor mislabeled failures as "API rate limit" on a + PID-`429` collision.** The monitor classifies dispatch failures by + substring-scanning the stderr log for `"429"`/`"529"`, but that log includes + the monitor's own header line `(PID )`. A monitor PID containing `"429"` + (e.g. `14290`) was read as an HTTP 429, overwriting the real bounce reason + (e.g. sandbox-abort `-4`) with "API rate limit" — and flaking + `test_sandbox_failure_sends_bounce` deterministically-by-PID in CI. The scan + now excludes the monitor's own `--- ` framing lines; genuine `429`/`529` + markers in agent output are still detected. + ## [2026-06-15] ### Added