Repository navigation
v1.9.0
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.