Skip to content

v0.0.166

Choose a tag to compare

@github-actions github-actions released this 04 Nov 14:52
· 66 commits to main since this release

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 mcp serves 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-website disable_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 in added; meta.schemaVersion 1.6; any other origin value in a loaded report is ignored, never printed); the cloud history is kept, the local scan's bytes are never sent, and truncated no 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, manifest or search (or a link with no rel) whose href was a vendor script URL, for example three.module.js, was read as that library loaded. A link now counts only with a rel that loads or connects to what it names: stylesheet, preload, modulepreload, prefetch, prerender, preconnect or dns-prefetch. The CDN-host detectors that read the raw page (for example jsdelivr) are unchanged. (#1539)
  • integrity/fake-auth-overlay also 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-secrets memory 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)