This Week's Highlights — issue 001, July 13, 2026
The best tooling updates that shipped this week.
The week in numbers · Jul 6–12
Changes per week, last 12 weeks · Jul 6–12
Changes we read in that week's dailies, including docs and API changes. A gap means no daily was published.
Every feature release from the 1309 tools on our watchlist goes into the daily newsletter. Once a week we read the whole field side by side and choose our top picks, judged on two questions: how deep and complete is the single best capability in the release, and how much it changes what you can actually do.
A tool is judged on everything it shipped that week, so a project that releases daily gets credit for the sum — and still only takes one slot. We would rather run a short list than a padded one.
Focus: What features shipped and what problems they solve, plus launches, packaging and where the market is moving.
Leaves out: Command-line flags, API-only deltas, usage examples, and releases that are only refinements.
Focus: New security controls, new APIs, and product improvements you can put to work, plus anything an upgrade breaks.
Leaves out: Launch and marketing news, governance, pricing, and documentation changes with no operational effect.
Focus: Dashboards, reporting, and anything you can quantify: metrics, coverage, risk scores, compliance impact, vendor moves.
Leaves out: Settings, flags, API and command-line detail, library bumps, and minor releases with no reporting or posture angle.
Focus: API, SDK and MCP changes, new libraries, breaking changes in what you import, and cyber tooling.
Leaves out: Governance, SOC operations, and vendor launches with no developer surface.
This issue came out before editions were ranked, so it shows the Standard edition in issue order.
The picks in full
Dalfox is a powerful open-source XSS scanner and utility focused on automation.
Dalfox v3.1.0 ships a genuinely comprehensive XSS toolkit upgrade in one release: blind/OOB detection via interactsh, HAR file input from any proxy tool, AST-based external JS analysis, CSP/Trusted Types payload generation, WAF inspection-window bypass, four new attribute-decode mutations, and a global rate limiter — each of these alone would be noteworthy, together they make Dalfox a materially different tool for web-app testers than it was a week ago.
Dalfox v3.1.0 adds out-of-band XSSXSSCross-site scripting, an attack that runs malicious script in another user's browser through a trusted site. It can steal data or perform actions using the user's session. detection via interactsh, HARHARAn HTTP Archive file, a JSON-format log of all network requests and responses captured by a browser's developer tools, used by cyber tools to replay, inspect, or analyze web traffic without re-running a live session.-based scanning, external JS/DOMDOMThe browser's in-memory tree representation of a web page's structure, standardized by the W3C, giving cyber tools a programmable interface to read or manipulate page content at runtime. analysis, CSPCSPContent Security Policy: a browser security mechanism, standardized by the W3C, that lets a web server declare which sources of scripts, styles, and other resources a page may load, blocking injection attacks. & Trusted Types aware payloads, several WAFWAFA reverse proxy that inspects HTTP/HTTPS traffic and blocks requests matching known attack patterns such as SQL injection or XSS, sitting between clients and a web application to filter malicious input before it reaches the server.-evasion techniques, and a global rate limiter, while v3.1.1 unifies the server/MCP target parameter, consolidates debug logging, and bounds request fan-out for safer large scans.
what's the number?
Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.
- depth0–40 what it does and how it works or what changed
- specificity0–30 names real surfaces — APIs, flags, formats, limits, numbers
- actionability0–30 enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point
Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.
Adds --input-type har to accept HAR exports from Burp, Caido, ZAP, mitmproxy, or DevTools as a scan source; the pipe subcommand also accepts an explicit -i har input type for piping HAR captures directly into a scan.
$ dalfox scan export.har --input-type har --output json -o results.json
pipe subcommand after the parity fix.$ cat capture.har | dalfox pipe -i har --output results.json
Adds --analyze-external-js to fetch and run ASTASTAn abstract syntax tree, a structured representation of parsed code. Tools inspect or transform this tree to understand expressions and statements rather than just matching text. DOM-XSSDOM-XSSA cross-site scripting vulnerability where malicious JavaScript executes entirely in the browser by manipulating the DOM, never touching the server, making it invisible to server-side input filters. analysis on a target's same-origin <script src> bundles, capped at 16 files / 512 KiB.
$ dalfox scan https://target.example.com --rate-limit 20 --analyze-external-js
Adds global rate limiting via --rate-limit / -r / --rl (requests-per-second token bucket, 0 = unlimited) shared across all workers and targets.
$ dalfox scan https://target.example.com --rate-limit 20 --analyze-external-js
Adds --blind-oob for out-of-band (OASTOASTOut-of-band Application Security Testing: a technique for detecting vulnerabilities by having a target system make DNS or HTTP callbacks to an attacker-controlled server, revealing flaws that produce no visible in-band response.) XSS detection via interactsh, catching stored and async sinks that never reflect back to the response.
$ dalfox scan https://target.example.com --blind-oob
Adds --retries / --retry-delay for optional exponential-backoff retries on HTTP 5xx and transient errors (HTTP 429 is always retried).
Server and MCPMCPModel Context Protocol, a standard for connecting AI applications to external tools and data sources. A compatible server exposes capabilities an assistant can use through a common interface. modes now accept a unified target parameter for scan targets, while the REST APIREST APIA web API design style where clients interact with resources over HTTP using standard methods like GET, POST, and DELETE, giving cyber tools a predictable, language-agnostic way to integrate with external services. retains url as a backward-compatible alias.
target parameter (replacing the old url field for server/MCP calls).$ curl -s -X POST http://localhost:6664/scan -H 'Content-Type: application/json' -d '{"target": "https://example.com/search?q=test"}'
Adds CSP & Trusted Types awareness: emits strict-dynamic / nonce gadget payloads and adapts payload generation when a Trusted Types policy is detected on the target.
Adds four attribute-decode WAF-bypass mutations — KeywordEntityEncode, SchemeBreak, EntityScheme, MultiSlash — exploiting HTML tokenizer entity decoding to evade WAF filters.
Adds --detect-outdated-libs (opt-in) to flag known-vulnerable front-end library versions as informational findings.
Structured outputStructured outputForcing a model's response to match a given format or JSON schema, so software can parse it reliably instead of hoping the text is well formed. metadata — version, targets, duration, request/finding counts, per-target WAF info — is now included in SARIFSARIFStatic Analysis Results Interchange Format, a standard for sharing code-analysis findings, including locations and rule details. It lets scanners report results to a common review interface., Markdown, and TOML output formats.
Consolidates all debug output through a single stderr dbg_log! macro, keeping JSON/JSONLJSONLA text format where each line is a self-contained, valid JSON object, making it easy to stream, append, and process large datasets line by line without parsing a full JSON array into memory./SARIF stdout clean under --debug, and aligns OOB/blind XSS lifecycle messages with the standard timestamped log format (INF/WRN/OOB) for consistency across scan modes.
Adds a per-parameter payload safety cap and a recall-preserving DOM-phase early-exit to bound request fan-out and prevent runaway HTTP requests on wide parameter sets; also bounds previously-unbounded task spawning in parameter mining and cuts server hot-path lock-hold and allocations to improve reliability under load.
Adds filter-aware payload synthesis that computes exact JS breakout sequences from the observed script prefix, including escaped-quote and nested-context cases.
Adds size-limited WAF inspection-window bypass: detects WAFs that inspect only the first N bytes of a request and positions payloads past that inspection window to evade detection.
Adds --insecure TLS flag to make certificate validation configurable for scan, server, and mcp modes.
Adds scan_timeout whole-scan budget for server and mcp modes to bound total duration of concurrent async jobs.
Extends DOM-XSS sink coverage to include Document.parseHTMLUnsafe() and window.open().
trufflehog discovers, classifies, and validates leaked credentials
TruffleHog adds seven new validated secret detectors (OpenRouter, New Relic, Duffel, Shippo, IPinfo, Lob, HashiCorp Vault batch tokens) and an --exclude-archived flag for org-wide GitHub scans — a well-rounded drop-in upgrade for any secrets-scanning pipeline this week.
TruffleHog v3.95.9 expands its default detector set with seven new secret detectors and adds an option to skip archived repositories during GitHub org scans.
what's the number?
Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.
- depth0–40 what it does and how it works or what changed
- specificity0–30 names real surfaces — APIs, flags, formats, limits, numbers
- actionability0–30 enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point
Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.
Adds --exclude-archived flag to skip archived repositories when scanning a GitHub org, reducing noise and scan time in large orgs.
$ trufflehog github --org=<your-org> --results=verified --exclude-archived
Adds detectors for OpenRouterOpenRouterA unified API gateway that routes requests to dozens of LLM providers under one endpoint, letting cyber tools swap or compare models without rewriting provider-specific integration code. (sk-or-v1- prefixed keys, verified against the OpenRouter API), New Relic Insights Insert Key (NRII- prefixed keys, verified via the Events API), Duffel Token (Duffel travel API), Shippo (Shippo shipping API keys), IPinfo (now included in the default detector set), an improved Lob detector (also now in the default detector set), and HashiCorp Vault batch tokens.
An open source, self-hosted implementation of the Tailscale control server
Headscale v0.29.0 brings SSH check-mode auth (OIDC or CLI approval before SSH access), policy test blocks (including sshTests), Tailscale Grants for Taildrive and traffic steering, nodeAttrs capability distribution, and HA subnet router health probing — making a self-hosted Tailscale control plane meaningfully closer to feature parity with the SaaS offering for practitioners who rely on it.
Headscale v0.29.0 adds SSH check-mode approval via a new headscale auth CLI, beta policy testing with tests/sshTests blocks, and new grants/nodeAttrs policy blocks for Taildrive and node capability distribution — alongside a run of breaking changes to ACLACLAn access control list, a set of rules allowing or denying operations for particular users, services or network addresses. It decides who can use a resource. semantics, the upgrade path, and server config.
what's the number?
Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.
- depth0–40 what it does and how it works or what changed
- specificity0–30 names real surfaces — APIs, flags, formats, limits, numbers
- actionability0–30 enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point
Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.
A new headscale auth CLI command group adds approve, reject, and register subcommands to manage SSH check-mode and web auth approval flows. Headscale now supports Tailscale SSH "action": "check" rules, prompting OIDCOIDCOpenID Connect, a sign-in protocol built on OAuth 2.0. An application uses identity information from a trusted provider instead of maintaining a separate password for each user. or CLI approval before granting SSH access to a node, e.g. headscale auth approve --auth-id <id>.
$ headscale auth approve --auth-id <id>
Headscale evaluates a tests block in policy files (beta) asserting reachability between sources and destinations, and an sshTests block (beta) asserting SSH reachability with accept, deny, and check user lists per source/destination pair; failing tests block a policy write before it is applied. Policies can be validated with headscale policy check.
tests and sshTests blocks before pushing it live, catching reachability regressions without affecting running nodes.$ headscale policy check
Wildcard (*) in ACL sources and destinations now resolves to the Tailscale CGNAT range (100.64.0.0/10) and ULA range (fd7a:115c:a1e0::/48) instead of all IPs. Policies relying on * to match every address must switch to the new source-only autogroup:danger-all target, which resolves to 0.0.0.0/0 and ::/0, or use explicit CIDRCIDRA notation for a block of IP addresses, such as 10.0.0.0/24. The number after the slash says how many leading address bits identify the network. ranges for destinations.
Hostname sanitisation now follows Tailscale's MagicDNS rules, supporting hostnames with apostrophes, special characters, and non-ASCII characters; empty or all-non-ASCII hostnames now fall back to the literal node instead of invalid-<rand>. The GivenName collision suffix changed from a random 8-character hash (e.g. laptop-abc12xyz) to a monotonic numeric suffix (laptop, laptop-1, laptop-2, …), matching Tailscale SaaSSaaSSoftware delivered over the internet and run on the provider's infrastructure, so the buyer pays a subscription instead of installing or operating anything locally.; MagicDNS names may change on upgrade for nodes previously assigned a random-suffix label.
A new nodeAttrs policy block distributes Tailscale node capabilities to matched nodes, including disable-captive-portal-detection, nextdns:<profile>, drive:share, and drive:access. Taildrive file-sync is configurable through these drive:share/drive:access nodeAttrs together with tailscale.com/cap/drive grants.
The randomize_client_port server-config key was removed and headscale now refuses to start if the old key is present. The toggle must be moved to the policy file as the new top-level randomizeClientPort field.
proto:icmp now covers only ICMPv4 (protocol 1); ICMPv6 must be specified explicitly via proto:ipv6-icmp or protocol number 58. Separately, autogroup:self destinations now reject tags, hosts, and IPs as sources, matching Tailscale's own validation.
A new grants block in policy files enables application-level controls such as Taildrive file sharing and traffic steering via tagged subnet routers or exit nodes.
A new auto_update.enabled config option sets the tailnet-wide default for client auto-update, distributed via CapMap.
Headscale now blocks skipping minor versions during upgrade (e.g. 0.27 → 0.29 is rejected) and blocks downgrading to a previous minor version; upgrades must proceed one minor version at a time.
Headscale now requires connecting Tailscale clients to be at least version v1.80.0.
- !MagicDNS
GivenNamecollision suffix changed from 8-char random hash (laptop-abc12xyz) to monotonic numeric suffix (laptop,laptop-1,laptop-2, …); MagicDNS names change on upgrade for any node whose previous label was a random-suffix form - !Empty or all-non-ASCII hostnames now fall back to the literal
nodeinstead ofinvalid-<rand> - !Wildcard (
*) in ACL sources and destinations now resolves to the Tailscale CGNAT range (100.64.0.0/10) and ULA range (fd7a:115c:a1e0::/48) instead of all IPs (0.0.0.0/0and::/0); policies relying on*to match all IP addresses must switch toautogroup:danger-all(source only) or explicit CIDR ranges (destinations) - !Policies using tags, hosts, or IP addresses as sources for
autogroup:selfdestinations now fail validation - !
proto:icmpnow only includes ICMPv4 (protocol 1); ICMPv6 must be specified explicitly asproto:ipv6-icmpor protocol number58 - !Skipping minor versions (e.g. 0.27 → 0.29) is blocked; upgrades must proceed one minor version at a time, and downgrading to a previous minor version is blocked
- !The
randomize_client_portserver-config key was removed; headscale refuses to start when the old key is present — the toggle must be moved to the policy file as the top-levelrandomizeClientPortfield - !Minimum supported Tailscale client version is now v1.80.0
The Prime Cross Site Request Forgery (CSRF) Audit and Exploitation Toolkit.
XSRFProbe v3 is a ground-up rebuild with 25 named CSRF checks covering token tampering, Origin/Referer bypass, SameSite gadget exploits (including client-side redirect and sibling-subdomain XSS paths), headless Firefox for browser-dependent tests, and machine-readable JSON output — a well-structured CSRF toolkit that goes well beyond what the previous version offered.
XSRFProbe v3 rebuilds its detection engine around 25 categorized CSRFCSRFCross-site request forgery, an attack that makes a signed-in browser send an unwanted request to a site. The site may accept the request using the victim's existing session. checks and adds headless-browser SameSite bypass testing with auto-validated proof-of-concepts, a bounded crawler, and machine-readable JSON reporting.
what's the number?
Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.
- depth0–40 what it does and how it works or what changed
- specificity0–30 names real surfaces — APIs, flags, formats, limits, numbers
- actionability0–30 enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point
Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.
XSRFProbe v3 ships a full battery of 25 named checks (D1–A1) covering token tampering, method/Content-Type overrides, Origin/Referer bypasses, SameSite cookie analysis, and token strength, each with a unique ID, severity rating, and exploitability notes. Token-tampering checks (T2–T8) actively probe GET↔POST method switching, token omission, empty values, cross-session replay, double-submit cookies, and custom-header token forgery. Origin/Referer bypass checks (R0–R2c, O1–O3) test header removal, regex tricks, subdomain tricks, and Origin: null against real-world validation implementations. SameSite bypass checks (S2–S4) probe SameSite=Strict via client-side redirect gadgets and sibling-subdomain XSSXSSCross-site scripting, an attack that runs malicious script in another user's browser through a trusted site. It can steal data or perform actions using the user's session., and SameSite=Lax via cookie-refresh/OAuth flows.
Adds optional headless Firefox (Selenium) integration via --browser for browser-dependent SameSite bypass tests and auto-validation of generated PoCs; generates tailored, auto-validated exploitable CSRF proof-of-concept pages per finding. --auto-validate-poc runs that validation in the browser, and --geckodriver-path points to a geckodriver binary that isn't on PATH.
$ xsrfprobe --url https://target.example.com --browser --json
$ xsrfprobe --url https://target.example.com --browser --auto-validate-poc --geckodriver-path /opt/geckodriver/geckodriver
New bounded crawler with configurable --max-urls, --max-depth, and --crawl-timeout flags to control scan scope, e.g. capping URL count, crawl depth, and wall-clock time for faster CI runs.
$ xsrfprobe --url https://target.example.com --max-urls 50 --max-depth 2 --crawl-timeout 120 --json
Adds a --json flag for machine-readable JSON reports; each finding includes test_id, severity, and an exploitability note, suitable for pipeline consumption.
$ xsrfprobe --url https://target.example.com --browser --json
Supports optional subdomain enumeration via crt.sh to discover sibling domains used by the sibling-subdomain XSS SameSite bypass check.
Adds a response diffing/benchmark engine that compares responses to reduce false positives before declaring an endpoint vulnerable.
SSH server & client security auditing (banner, key exchange, encryption, mac, compression, compatibility, security, etc)
ssh-audit v3.9.0 adds post-quantum warnings on all non-PQC key exchanges, built-in hardening guides accessible offline via --get-hardening-guide, UNIX socket scanning for containerized environments, and SOCKS5 proxy support — a practical set of additions for practitioners auditing SSH posture across modern and air-gapped infrastructure.
ssh-audit v3.9.0 adds post-quantumpost-quantumCryptography designed to stay secure against a large quantum computer, which could break today's RSA and elliptic-curve keys. NIST standardized the first algorithms in 2024 as ML-KEM, ML-DSA and SLH-DSA. key-exchange warnings, offline hardening guides, UNIX socket and SOCKS5SOCKS5A proxy protocol that relays TCP and UDP traffic through an intermediary server without inspecting it, letting cyber tools tunnel connections through firewalls or pivot hosts with minimal overhead. scanning, and expands its algorithm and policy databases, while dropping SSHv1 and older Python support.
what's the number?
Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.
- depth0–40 what it does and how it works or what changed
- specificity0–30 names real surfaces — APIs, flags, formats, limits, numbers
- actionability0–30 enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point
Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.
New --list-hardening-guides and --get-hardening-guide flags surface built-in hardening guides for common platforms (Debian, Ubuntu, Rocky Linux, OpenSSH) without requiring internet access; new guides were added for Debian 13, Rocky Linux 10, and Ubuntu 26.04.
$ ssh-audit --list-hardening-guides ssh-audit --get-hardening-guide "Debian 13"
Supports scanning SSH servers over UNIX sockets (e.g. unix:///path/to/socket), enabling auditing in containerized and CI/CD environments.
$ ssh-audit unix:///run/ssh-unix-local/socket
New --socks5 host:port flag enables scanning through a SOCKS5 proxy, and implies --skip-rate-test.
$ ssh-audit --socks5 proxy.example.com:1080 target-host.internal
Adds built-in policies for OpenSSH 10.0 through 10.4, and a new allow_hostkey_subset_and_reordering policy option letting policy definitions accept targets with a stricter or differently-ordered host key list.
Identifies 2 new post-quantum key exchanges (mlkem768nistp256-sha256, mlkem1024nistp384-sha384), 11 new host key types including ML-DSAML-DSANIST's main post-quantum digital signature standard (FIPS 204), formerly Dilithium. It is the planned replacement for RSA and ECDSA signatures on certificates and code. variants (mldsa-44, mldsa-65, mldsa-87, and OpenSSH-namespaced equivalents) and webauthn-sk-ecdsa-sha2-nistp256-cert-v01@openssh.com, and 2 new ciphers (AEAD_CAMELLIA_128_GCM, AEAD_CAMELLIA_256_GCM).
Batch mode (-b) no longer implicitly enables verbose mode; scripts or workflows that depended on that behavior must now explicitly add -v.
ssh-audit now warns on all key exchanges lacking post-quantum protection, flagging exposure to Harvest Now, Decrypt Later attacks.
SSHv1 support has been removed entirely, so any scans or configurations relying on SSHv1 scanning will no longer function.
Support for Python 3.8 and Python 3.9 has been dropped, so setups running ssh-audit on those versions will no longer work.
- !Support for Python 3.8 has been dropped, so setups running ssh-audit on Python 3.8 will no longer work.
- !Support for Python 3.9 has been dropped, so setups running ssh-audit on Python 3.9 will no longer work.
- !SSHv1 support has been removed, so any scans or configurations relying on SSHv1 scanning will no longer function.
- !Batch mode (
-b) no longer automatically enables verbose mode, so scripts or workflows that depended on batch mode implying verbose output will see less output unless-vis explicitly added.
Where each pick stands · Jul 6–12
Tools with changes in each pick's category over the last 12 weeks, including the pick itself.
Each pick's release rhythm · Jul 6–12
Changes per week for the last 12 weeks. The bright bar is this week; a dash marks a week with no daily.
Which categories moved · Jul 6–12
The thick bar is this week. The thin bar is the average of the four weeks before, counting only weeks with a daily.
Who shipped the most · Jul 6–12
Changes per tool this week. Volume is not a quality score.