v0.0.166
Released Nov 4, 2026
Release Notes
A signed-in audit keeps what its local bundle scan finds, local-only technologies are marked in every report format, a <link> that only describes a page no longer counts as a vendor loaded, and the fake-auth overlay rule reads three more selector shapes a browser drops.
Added
- The agent skills that
squirrel mcpserves are updated to squirrelscan 1.23 and audit-website 2.9: a section on tailoring each audit to the site (squirrel.toml[rules] disable,[[ignore]], the hosted per-websitedisable_rules), with the ids taken from the report and the rules re-run to confirm (squirrelscan/skills#34)
Fixed
- A signed-in audit's technologies section now includes what the local whole-bundle scan finds. The cloud scan sees each bundle cut to 64 KB, so a framework or library deep in a large bundle was missing from the signed-in section while the free scan found it. The local scan now always runs beside the cloud one and its extra technologies are merged into the one section, marked
origin: "local"in the JSON, xml and llm reports and(local scan)after the name in the text, markdown, console and HTML reports (no scan diff, never inadded;meta.schemaVersion1.6; any otheroriginvalue in a loaded report is ignored, never printed); the cloud history is kept, the local scan's bytes are never sent, andtruncatedno longer reports the payload cut once the local scan read those bundles. See Technologies. (#1406) - Technology detection no longer reads a vendor URL from a
<link>that only describes a page. A<link rel="canonical">,alternate,author,license,help,next,prev,me,icon,manifestorsearch(or a link with norel) whosehrefwas a vendor script URL, for examplethree.module.js, was read as that library loaded. A link now counts only with arelthat loads or connects to what it names:stylesheet,preload,modulepreload,prefetch,prerender,preconnectordns-prefetch. The CDN-host detectors that read the raw page (for examplejsdelivr) are unchanged. (#1539) integrity/fake-auth-overlayalso drops a selector list a browser drops for::selection::before(and the other highlight pseudo-elements:::highlight(),::spelling-error,::grammar-error,::target-text,::search-text),::slotted(a b)and::slotted(a, b)(the argument is one compound selector; a list there is a syntax error in Chrome, Safari and Firefox were not checked) and:host(::before)or:host(a b), so a decoy rule using one no longer hides a cover; a list in:host()or:host-context()stays undecided, and so does any selector list containing:host-context()(Firefox and Safari do not support it), so a decoy using one cannot hide a cover (#1581)security/leaked-secretsmemory bound, written down (docs for #1552). The rule page now gives an estimate of the memory the collector keeps for this rule's records: about 36 MB at the Free ceiling of 500 pages and about 52 MB at the paid ceiling of 2,000 pages, derived from the 10,000-finding site cap and the measured per-page overhead on fixtures with ordinary-length values, not measured on a cloud worker. The caps count findings, not bytes, and the stored value text is not length-capped today (one page with a 1 MB generic secret value keeps about 2 MB), so pages with very long values can exceed the estimate. Follow-up: cap the stored value length (tracked as a follow-up issue). No behavior change. (#1552)
Update to this version
squirrelscan will auto-update, or run this command to update now:
$