Commit Graph
17 Commits
Author SHA1 Message Date
t 4ad55e2eef Merge remote-tracking branch 'origin/main' into time-attack/wave-test-infra-isolated-review 2026-07-14 16:51:31 -07:00
t 7efb596ced docs(ios-qa): document regeneration and device verification flow 2026-07-14 16:35:30 -07:00
t c378074ab7 fix(ios-qa): recover device tunnels safely after relaunch 2026-07-14 16:35:30 -07:00
t 145fe2d4d1 fix(ios-qa): make SwiftUI device taps observable and reliable 2026-07-14 16:35:30 -07:00
t 8e25d1583d fix(ios-qa): generate app-owned bridge accessors deterministically 2026-07-14 16:35:30 -07:00
t ea648b7dff fix(careful): fail closed for compound recursive deletes 2026-07-14 12:56:22 -07:00
t a2a447a117 fix(safety): classify credential actions consistently 2026-07-14 12:56:10 -07:00
t 239d73afc4 fix(hosts): validate suppressed resolver names 2026-07-14 12:56:10 -07:00
t 0b869898ed fix(ios-qa): make generated Swift manifests valid on first run 2026-07-14 12:56:09 -07:00
t 1aa5283ddd fix(gbrain): canonicalize remotes with trailing slashes 2026-07-14 12:56:09 -07:00
t 7e23aecfc5 fix(gbrain): parse nested context query filters 2026-07-14 12:56:08 -07:00
t 45d0fb2b54 fix(eval): validate eval list limit 2026-07-14 12:56:08 -07:00
t aa3bd6f042 fix(test-harness): spawn claude without shell interpolation 2026-07-14 12:56:07 -07:00
t 5cb8761d36 fix(test-harness): measure first response on first NDJSON line 2026-07-14 12:56:07 -07:00
tandClaude Fable 5 279fda4dc5 fix(browse): case-insensitive exfiltration-domain blocklist matching
urlBlocklistFilter compared URLs against the exfiltration blocklist with
case-sensitive substring checks, so an uppercased sink (https://WEBHOOK.SITE/x)
bypassed the guard and reached the scoped browser agent. Normalize the page URL
and extracted content URLs to lowercase before comparing, and make URL
extraction scheme-insensitive so HTTPS:// links are still caught.

Fixes #2190

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 14:39:32 -07:00
tandClaude Opus 4.8 8b53302983 test(deps): tripwire that no basic-ftp < 5.3.1 resolves in bun.lock
Parses package.json overrides + every resolved basic-ftp specifier in bun.lock
(including nested paths like get-uri/basic-ftp) and fails if any is below 5.3.1.
Deterministic and offline. Fires on the pre-fix tree (basic-ftp@5.2.0) and would
also catch a direct-dependency-only bump that leaves a nested vulnerable copy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 13:58:07 -07:00
tandClaude Opus 4.8 f55e27097c fix(deps): override basic-ftp to 5.3.1 to clear CVE-2026-39983 + 3 sibling HIGH advisories
basic-ftp reaches the tree only transitively:
  puppeteer-core > @puppeteer/browsers > proxy-agent > pac-proxy-agent > get-uri > basic-ftp

Versions <= 5.3.0 carry four HIGH advisories, all fixed in 5.3.1:
- GHSA-chqc-8p9q-pq6q (CVE-2026-39983) FTP command injection via CRLF
- GHSA-6v7q-wjvx-w8wg incomplete CRLF protection (USER/PASS + MKD bypass)
- GHSA-rpmf-866q-6p89 DoS via unbounded multiline control-response buffering
- GHSA-rp42-5vxx-qpwr DoS via unbounded memory in Client.list()

Pin via a bun `overrides` entry rather than a phantom direct dependency.
Overriding forces every basic-ftp in the tree to 5.3.1, including get-uri's
nested copy; `bun audit` then reports zero basic-ftp advisories (total 37 -> 33,
HIGH 13 -> 9). A direct-dependency bump leaves get-uri/basic-ftp at the
vulnerable version and audit still flags all four.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 13:58:07 -07:00