Epic. Threat model: single-user dev CLI on a workstation — but the API key grants full org access to a healthcare-adjacent platform, so key confidentiality is the prize. No slam-dunk P1 here; the exposure is a cluster of cheap-to-close key-leak paths. (Verified clean: 0600 config perms, loopback bind, TLS on, no InsecureSkipVerify, no pull_request_target misuse, no browser-launch command injection.)
Issues
Suggested order
124 and 125 are the cheapest key-leak closers (S each). 123 is the highest-impact but M. 126 pairs with the api-contract path fixes. 127 last.
Filed from a full code review, June 2026.
Epic. Threat model: single-user dev CLI on a workstation — but the API key grants full org access to a healthcare-adjacent platform, so key confidentiality is the prize. No slam-dunk P1 here; the exposure is a cluster of cheap-to-close key-leak paths. (Verified clean: 0600 config perms, loopback bind, TLS on, no
InsecureSkipVerify, nopull_request_targetmisuse, no browser-launch command injection.)Issues
--debugprints request bodies incl.servicesauth secrets unredactedSyllable-API-Keyheader survives a cross-host 307;http://base allowedurl.PathEscape-dmaskKeybreadth,install.shchecksum fail-openSuggested order
124 and 125 are the cheapest key-leak closers (S each). 123 is the highest-impact but M. 126 pairs with the api-contract path fixes. 127 last.
Filed from a full code review, June 2026.