Development record
The secret scanner counts a file as fully scanned when only its first 8192 bytes are valid UTF-8 text, so a gzip member after a page of prose in an included markdown file ships with no finding.
The secret scanner counts a file as fully scanned when only its first 8192 bytes are valid UTF-8 text, so a gzip member after a page of prose in an included markdown file ships with no finding.
Private security advisory GHSA-jwgh-838h-jrw9 (draft, severity high). Full text, evidence and reproduction: the security-drain-2026-10-09 run directory in the main checkout's local tier. This record stays uncommitted until its fix lands; the fix commit adds it directly to resolved/.
Evidence (lines at main 7549ca2d5): isText sniffs 8192 bytes (internal/adapter/scanner/scanner.go:1519). The text branch then runs ScanText on the raw bytes and increments FilesScanned without calling decodeContent (internal/adapter/scanner/scanner.go:1221-1225). cover already refuses an 8192-byte sniff as coverage of a decoded region. docs/ is an include, and the bundler does not inspect content before inclusion.
Reproduction: write about 10500 bytes of ASCII prose, then append a Huffman-coded gzip of a ghp_ token (CPython gzip.compress or gzip -nc; Go's flate writer often leaves a short token as literals, which is caught). ScanBundle reports FilesScanned=1, HardFails=0, empty Unscanned and empty ContentUnverified; gzip -dc of the tail returns the token. The same bytes named .gz hard-fail.
Frontmatter
| id | iss-2610090821502084 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2610090821502084-scanner-text-sniff-8192-bytes-counts-as.md
open on GitHub ↗ · commit history ↗