This release adds 4 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+12 more
Affected surfaces
Summary
AI summaryAdded opt‑in safety flags and a functional bearer authentication flow for JWT‑style API targets.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds opt-in safety flag `intensity="safe"` to skip destructive probes. Adds opt-in safety flag `intensity="safe"` to skip destructive probes. Source: llm_adapter@2026-05-25 Confidence: high |
— |
| Feature | Medium |
Adds opt-in safety flag `respect_rate_limits=true` to honor HTTP 429 responses. Adds opt-in safety flag `respect_rate_limits=true` to honor HTTP 429 responses. Source: llm_adapter@2026-05-25 Confidence: high |
— |
| Feature | Medium |
Adds opt-in safety flag `strict_scope=true` to enforce target host scope and disable redirects. Adds opt-in safety flag `strict_scope=true` to enforce target host scope and disable redirects. Source: llm_adapter@2026-05-25 Confidence: high |
— |
| Feature | Medium |
Adds full `bearer` authentication flow with JSON token extraction. Adds full `bearer` authentication flow with JSON token extraction. Source: llm_adapter@2026-05-25 Confidence: high |
— |
| Feature | Medium |
Adds `AuthProfile.body_shape` and `token_path` fields to profile schema. Adds `AuthProfile.body_shape` and `token_path` fields to profile schema. Source: llm_adapter@2026-05-25 Confidence: high |
— |
| Feature | Medium |
Adds smoke test to verify each declared auth flow is implemented or raises error. Adds smoke test to verify each declared auth flow is implemented or raises error. Source: llm_adapter@2026-05-25 Confidence: low |
— |
| Feature | Medium |
Reports authenticated catch rate of 63.24 % (43/68) against OWASP Juice Shop v19.2.1 under aggressive intensity with `strict_scope=true`. Reports authenticated catch rate of 63.24 % (43/68) against OWASP Juice Shop v19.2.1 under aggressive intensity with `strict_scope=true`. Source: llm_adapter@2026-05-25 Confidence: low |
— |
Full changelog
Bug-bounty / production-target readiness release. Four opt-in safety flags so ptai can be pointed at hardened or rate-limited targets without violating program rules, plus a real bearer authentication flow that unlocks JWT-style API targets (Juice Shop, crAPI, and the typical modern bug-bounty stack).
Added: opt-in safety flags
All three default false to preserve existing behavior. Pass on start_engagement (MCP) or via the corresponding CLI flag.
intensity="safe"— skip destructive-low probes (mass-assignment user creation, coupon forging, stored XSS, race conditions, …). Catches read-only bug classes without mutating server state. Useful for first-pass production-target scans where you don't yet have write authorization.respect_rate_limits=true— when a target returns HTTP 429, honorRetry-After(or fall back to exponential backoff capped at 30s, 3 retries). Recommended for WAF-protected bug-bounty targets; off by default to preserve today's scan-as-fast-as-the-target-allows behavior.strict_scope=true— refuse any HTTP request whose host doesn't match the engagement target's host. Also disables redirect-following in primitives so a 302 toattacker.comcan't pull the scan off-target. Bug-bounty programs care a lot about scope discipline; default off preserves today's wide-open behavior.
Added: bearer auth flow with JSON token extraction
The bearer flow was declared in cli.auth_profiles.VALID_FLOWS since v0.10 but raised AuthError at runtime — only form_post and bearer_static were actually implemented. The executor now exists.
engine/auth_session.py:WebAuthenticator._login_bearer— POSTs credentials (JSON or form body, configurable viabody_shape) to alogin_url, extracts a token from a configurable JSON response path (e.g.authentication.token), returns anAuthSessionwithbearer_tokenpopulated. The orchestrator'sset_auth()propagates it through every specialist agent, so all 30+ auth-gated probes pick it up.AuthProfile.body_shape/AuthProfile.token_path— new fields on the profile dataclass. Profile YAML schema gains the two keys;from_dict/to_dictupdated.tests/test_auth_profiles_smoke.py— parametrized "paper-tiger" guard: enumerates every flow inVALID_FLOWSand asserts each either has a real executor or correctly raises theunsupported auth flowerror. Future declared-but-unimplemented flows fail loudly at test time instead of mid-engagement.
Generalization validation
ptai 0.15.0 ships with a measured authenticated catch rate against OWASP Juice Shop v19.2.1: 63.24% (43 of 68 in-scope challenges) under aggressive intensity + strict_scope=true. Methodology and per-challenge breakdown in benchmarks/scoring/ (local-only — authenticated benchmark outputs are gitignored).
Install
pip install ptai==0.15.0
PyPI: https://pypi.org/project/ptai/0.15.0/
Full notes in CHANGELOG.md.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About pentest-ai
Offensive-security MCP server with 205 wrapped tools, 17 specialist agents, and 60 SPA-aware probes for OWASP Top 10. CLI + MCP, BYO LLM. No API key needed on MCP path.
Related context
Related tools
Beta — feedback welcome: [email protected]