Skip to content

v1.9.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 20:10
· 862 commits to main since this release
3707f0f

What's Changed

  • feat(deps): Python start-up code in wheels + PyPI IOC pack (litellm 1.107.0) by @danoszz in #90
  • feat(advisories): Node.js security release of 21 Oct 2026 (Brotli RCE, TLS hostname bypasses) by @danoszz in #91
  • feat(tls): flag certificates whose EC private key anyone can compute (eMudhra) by @danoszz in #93
  • feat(headers): report X-Powered-By disclosure by @danoszz in #107
  • feat(templates): Prometheus /metrics, directory listings, stack traces by @danoszz in #108
  • feat(secrets): read Terraform/HCL files; flag hardcoded session secrets by @danoszz in #110
  • feat(repo): code-execution sinks in all server code, taint-lite by @danoszz in #111
  • feat(report): coverage ledger for repo scans by @danoszz in #96
  • fix(scan-repo): Express routes/ folders get route analysis by @danoszz in #104
  • feat(verify): check an AI audit's findings against Penthera's rules by @danoszz in #98
  • feat(report): --audit-seeds writes repo findings as seeds for an AI audit by @danoszz in #99
  • feat(ui): AI mode in the dashboard, with the consent sheet by @danoszz in #109
  • docs(research): GitLab CVE-2026-110264: why a passive version check isn't feasible, and what is by @danoszz in #92
  • feat(site): og:video link-preview reel for penthera.org by @danoszz in #94
  • E10: verify the pilot's misses; re-run after the recall fixes by @danoszz in #112
  • feat(site): benchmark section with the E10 pilot by @danoszz in #115
  • fix(ui): listen for stop signals before announcing readiness by @danoszz in #118
  • feat(ai): opt-in AI mode, a local model proposes and Penthera's rules check by @danoszz in #105
  • feat(advisories): MongoDB end-of-life lines (pack unsigned) by @danoszz in #113
  • feat(site): before and after, from a real scan by @danoszz in #117
  • feat(site): How Penthera compares by @danoszz in #119
  • ci: faster merges (slim PR checks, merge queue, changelog fragments) by @danoszz in #122
  • feat(mcp): penthera mcp, an MCP server on stdio with six read-only tools by @danoszz in #120
  • fix(cli): clear errors for an unknown word, a bare host and Ctrl-D by @danoszz in #123
  • fix(sarif): give every result a location, as GitHub code scanning requires by @danoszz in #125
  • fix(ui): the dashboard's check-then-fix flow, and finding rows with long paths by @danoszz in #126
  • fix(skill): the Claude Code plugin loads, and preflight works from an installed skill by @danoszz in #127
  • fix(site): the paste panels fit a 375px phone by @danoszz in #128
  • fix(scan): stop at a firewall bot challenge instead of reporting its page by @danoszz in #124
  • E10: Penthera on known-vulnerable apps (draft protocol, runner, pilot) by @danoszz in #100
  • fix(scan): the default scan sends no attack payloads to the login by @danoszz in #130
  • site(faq): how to scan your own site behind a CDN firewall by @danoszz in #131
  • fix(hook): fall back to the pinned version through npx when its copy is gone by @danoszz in #132
  • docs(research): end-to-end test of 1.8.1, the dashboard, the site and the agents by @danoszz in #129
  • bench(advisories): labelled set of 253 real-world runtime version strings by @danoszz in #97
  • docs(mcp): penthera mcp docs, client configs, listing text, site section, llms.txt by @danoszz in #121
  • docs: README, ROADMAP and research plan describe what is on main for 1.9 by @danoszz in #133
  • rules: sign the advisories and ioc-pypi-2026 packs by @danoszz in #134
  • release: 1.9.0-rc.1 by @danoszz in #135
  • docs: Penthera and Cloudflare's security-audit skill, compared and researched by @danoszz in #89
  • fix(secrets): repo scan survives vanishing files and stops flagging venvs by @danoszz in #138
  • docs: restructure around five journeys, shorter README, add AGENTS.md by @danoszz in #137
  • site: pin every command to package.json's version by @danoszz in #136
  • site: restructure penthera.org as a story, with files for agents by @danoszz in #139
  • feat(scan): confirmation gate and rate limit for active modes by @danoszz in #95
  • site: current limitations with a roadmap per limit, compact comparison, marker hero by @danoszz in #140
  • site: live security check, clearer story, check-and-fix mode, terms by @danoszz in #142
  • fix(site): check-and-fix report below the header at every width by @danoszz in #143
  • fix(site): content-hashed share image and reel URLs by @danoszz in #144
  • fix(detect): .env.local template, SPA sensitive-file FP, Map/RegExp whitebox FP by @danoszz in #141
  • feat(ui): the dashboard in penthera.org's look, and fresh media by @danoszz in #145
  • site: landing pages, IndexNow, 9:16 card; docs: distribution drafts by @danoszz in #146
  • chore(site): Vercel builds for production only by @danoszz in #147
  • chore: keep the distribution drafts out of the public repo by @danoszz in #148
  • release: 1.9.0 by @danoszz in #149

Full Changelog: v1.8.1...v1.9.0

Share this release

LinkedIn (587 characters)

Penthera v1.9.0 is out: open-source security for the apps and AI systems you ship.

Everything in 1.9.0-rc.1 below, plus:

What's new:
• Active modes ask before they start, and are rate-limited: --deep, --fuzz, --adaptive, --all and --profile deep now need a…
• penthera ui looks and reads like penthera.org: The verdict is the headline, the score is a 10 × 10 grid of pixels…
• Fresh screenshots and recordings: The dashboard screenshots, the 80-second walkthrough, the README…

npm: https://www.npmjs.com/package/penthera
GitHub: https://github.com/danoszz/penthera/releases/tag/v1.9.0

X / Bluesky (248/280 characters)

Penthera v1.9.0 is out.
• Active modes ask before they start, and are…
• penthera ui looks and reads like penthera.org
• Fresh screenshots and recordings
https://www.npmjs.com/package/penthera
https://github.com/danoszz/penthera/releases/tag/v1.9.0

Drafted from the CHANGELOG. Edit, then post by hand once the npm release is approved.