Short answer: Compliance sets the floor. PCI DSS v4.0.1 requires a pentest at least every 12 months and after any significant change, and SOC 2 and ISO 27001 set no interval, though auditors expect one a year. For an app that ships weekly, test daily or on every release. Mandiant puts 2025's mean time to exploit at minus seven days.
Your last pentest report is clean and dated March. Since then the team has shipped 30 releases, a new billing API and a second user role. Nobody has tested any of that.
That gap is what the frequency question is really about. There are two answers: the minimum an auditor will accept, and what it takes to find a new hole before someone else does.
Applies 2026
- PCI DSS v4.0.1: internal and external pentests at least once every 12 months and after any significant change (Requirements 11.4.2 and 11.4.3).
- SOC 2 and ISO/IEC 27001: no fixed interval. Pentesting is one way to meet the criteria, and yearly is what auditors and enterprise buyers usually expect.
- DORA: yearly testing of ICT systems that support critical or important functions, and threat-led tests every 3 years for designated firms.
- Mandiant's mean time to exploit: 63 days in 2018 to 2019, 5 days in 2023, minus 7 days (estimated) in 2025.
Framework wording and threat figures were checked on 2026-09-26. The sources are listed at the end of the page.
What is the minimum pentest frequency by framework?
Only PCI DSS and DORA name an interval in the rule itself. The others ask you to test "regularly" or based on risk, and leave the number to you and your auditor. This table sticks to what each text says.
| Framework | What the text asks for | Minimum frequency | Source | Checked |
|---|---|---|---|---|
| PCI DSS v4.0.1 | Internal (11.4.2) and external (11.4.3) penetration tests under a defined methodology (11.4.1), by a qualified and organizationally independent tester. Segmentation tests under 11.4.5 | At least once every 12 months, and after any significant infrastructure or application upgrade or change. Service providers test segmentation every 6 months (11.4.6) | PCI SSC, PCI DSS v4.0.1 | 2026-09-26 |
| SOC 2 | Trust Services Criteria CC4.1. A point of focus names penetration testing as one type of evaluation. Points of focus aren't mandatory controls | None set. Auditors and enterprise customers commonly expect a test within the last 12 months | AICPA, 2017 Trust Services Criteria (points of focus revised 2022) | 2026-09-26 |
| ISO/IEC 27001:2022 | Annex A 8.8 (technical vulnerability management) and 8.29 (security testing in development and acceptance). Pentesting is one method, picked through your risk assessment | None set | ISO/IEC 27001:2022 and 27002:2022 | 2026-09-26 |
| HIPAA | The Security Rule asks for periodic technical evaluation (45 CFR 164.308(a)(8)) and names no pentest. A proposed rule from January 2025 would add a pentest at least every 12 months and vulnerability scans every 6 months | None today. Proposed: every 12 months. Not final on the check date | HHS, 45 CFR 164.308, HIPAA Security Rule NPRM, Federal Register, 2025-01-06 | 2026-09-26 |
| NIS2 | Directive (EU) 2022/2555 Art. 21(2)(f) asks for ways to assess whether security measures work. For cloud, managed service, marketplace and other digital providers, Implementing Regulation (EU) 2024/2690 Annex 6.5.2 requires you to set the need, scope, frequency and type of security tests from your risk assessment and document every result. ENISA's guidance names penetration testing as one option and recommends continuous testing for CI/CD shops. More on the NIS2 page | None set. Your risk assessment sets it. Recital 15 of 2024/2690 suggests testing after changes you deem significant. National laws can add detail | EUR-Lex, Directive 2022/2555 and Implementing Regulation 2024/2690, ENISA Technical Implementation Guidance v1.0 | 2026-09-26 |
| DORA | Art. 24(6): tests on all ICT systems and applications that support critical or important functions. Art. 25 lists penetration testing among the tests. Art. 26: threat-led penetration testing (TLPT) for firms the authorities designate | At least yearly. TLPT at least every 3 years | EUR-Lex, Regulation (EU) 2022/2554 | 2026-09-26 |
Two things stand out. First, "every 12 months" is the longest gap any of these allows, not a target. Second, PCI DSS ties testing to change as well as to the calendar, and the NIS2 rules point the same way. If you ship every week, the change trigger is the one that bites.
Why isn't an annual pentest enough anymore?
Because the time between a weakness appearing and someone exploiting it has collapsed, and a yearly test leaves each release untested for months.
Google's Mandiant tracks the average time from a vulnerability's disclosure to its first exploitation. The trend is hard to argue with.
| Period | Mean time to exploit | Source |
|---|---|---|
| 2018 to 2019 | 63 days | Mandiant, 2023 TTE analysis (published 2024-10-15) |
| 2021 to 2022 | 32 days | same |
| 2023 | 5 days | same |
| 2024 | minus 1 day | Mandiant, M-Trends 2026 (published 2026-03-23) |
| 2025 (estimate) | minus 7 days | same |
A negative number means that, on average, exploitation starts before a patch exists. VulnCheck counted 884 vulnerabilities newly exploited in 2025, and 28.96% of them were exploited on or before the day their CVE was published (State of Exploitation 2026, 2026-01-21). CISA's Known Exploited Vulnerabilities catalogue listed 1,726 entries when we checked on 2026-09-26. In Mandiant's own incident work, exploits were the most common way in for the sixth year running, at 32% of intrusions (M-Trends 2026).
AI is speeding this up. In November 2025 Anthropic reported a state-linked campaign in which AI agents carried out 80 to 90% of the work against about 30 targets, at a pace of thousands of requests, often several per second. In May 2026 Google's Threat Intelligence Group reported the first zero-day exploit it believes was built with AI, and described attackers using AI models as "expert-level force multipliers for vulnerability research and exploit development".
To be fair about the evidence: these figures mostly describe known products such as VPNs, firewalls and CMS plugins, not your own code. Your app's bugs don't get CVE numbers. VulnCheck also found that AI-discovered vulnerabilities weren't exploited more often than others (14 of 1,061 in the first half of 2026), and Mandiant wrote that 2025 "was not the year where breaches were the direct result of AI". The case for testing often doesn't rest on AI hype. It rests on speed. Scanning, probing and building exploits are now cheap and fast, so the time a new weakness in your app stays unnoticed by attackers is shrinking.
Now do the arithmetic for an annual test. A bug that ships the week after the pentest stays in production, untested, for up to 51 weeks. With weekly releases, that's 50 or so releases nobody tested. Daily testing cuts that window to a day.
How often should you pentest your web app? A cadence by app type
Test as often as the app changes, and scale the depth to the risk. For most teams that means a fast daily pass, a deeper run every month or quarter, and a human-led test once a year or when the scope needs judgement.
| App type and risk | Fast pass | Deeper run | Human-led test | Compliance floor to keep |
|---|---|---|---|---|
| SaaS app or API that ships daily or weekly, with customer data behind a login | Daily, Light level, on the production-facing app | Monthly, Deep level, every time | Yearly, and before a major launch or new product area | Whatever your framework sets, usually yearly |
| App that ships every few weeks, moderate risk | Weekly, Light level | Quarterly, Standard or Deep | Yearly | Same |
| Payments or cardholder data in scope for PCI DSS | Daily, Light level | Monthly, Deep level | At least every 12 months and after significant change, including internal network testing | PCI DSS 11.4 |
| EU financial entity under DORA | Daily or weekly, Light level | Monthly or quarterly, Deep or Extended | Yearly on systems behind critical or important functions. TLPT every 3 years if designated | DORA Art. 24 to 26 |
| Low-risk site that rarely changes, no login | Monthly, only when the site has changed | Before each release | Only if a customer or auditor asks | Usually none |
A daily Light run isn't a replacement for a deep test. With 400 credits and 3 agents, it's a quick pass over the whole surface that catches the obvious regression on the day it ships, and it has no expert review. The monthly Deep run (4,000 credits, 20 agents, 2 hours of expert review) is where the harder findings turn up. Keep both.
Common mistake. Testing the day before the audit and calling it a program. An auditor sees a clean report. The next 11 months of releases see nothing.
What counts as a significant change?
PCI DSS doesn't give a full list, and NIS2 leaves it to what you "deem significant". So write your own definition down, apply it the same way each time, and keep the record. Auditors look for that record.
For a web app or API, we'd treat these as significant:
- A new or changed login, SSO, MFA or session handling.
- A new user role, a new tenant model or changes to who can see what.
- New API endpoints or GraphQL mutations that read or write sensitive data.
- Changes to payment, checkout or anything that touches cardholder data.
- A major framework, language or library upgrade.
- New third-party integrations, such as OAuth apps, webhooks or file uploads to external storage.
- Infrastructure changes in front of the app: a new domain, CDN, WAF rules or API gateway.
- A new data flow, such as exporting customer data to a new system.
Copy changes, styling and bug fixes that don't touch authentication, authorization or data handling usually aren't significant. Record the decision anyway.
A continuous schedule makes this question less stressful. If the app is tested every day, a change that you judged minor still gets tested the next morning.
How Barrion does it
Barrion's AI agents test web apps and APIs the way an attacker would, across 8 testing areas mapped to all 97 OWASP WSTG v4.2 test cases. You can save a pentest and put it on a schedule: daily, weekly, monthly, quarterly, every six months, yearly, or a custom rhythm. One app can have several schedules, for example a daily Light run plus a monthly Deep run.
Each schedule has its own scope and depth. You choose whether it runs every time, or only when your app has changed. Change detection compares a snapshot of the start page's links and scripts with the last one, so a backend-only release can slip past it. That's why we suggest keeping at least one every-time schedule. You can also trigger runs from your CI/CD pipeline via the Barrion API, so a release to staging or production starts a pentest on its own.
Every run labels its findings new, still open, resolved or regressed, so a fix that came undone shows up the day it comes back. Findings are checked against the live app before they're reported. Ones that can't be confirmed are kept as lower-confidence leads, not counted as vulnerabilities. From Standard level up (1,000 credits), a security engineer reviews each report.
What we don't test: internal networks, Active Directory, mobile apps, physical security, social engineering, and TLPT under DORA. If PCI DSS 11.4 applies to you, the internal network part still needs a specialist, and your assessor decides whether a report counts as your yearly test.
You can start a pentest yourself. Scheduled pentests are part of the Business plan, which you arrange with sales. Continuous programs are scoped to your apps, cadence and depth. Talk to us and we'll price it for your setup.
For more on the model, read what continuous pentesting is and how it compares in continuous vs annual pentests. What a single run costs is on the pentest cost page, and what a year-round program costs is in continuous pentesting cost.
Sources
All sources checked 2026-09-26.
PCI DSS v4.0.1, PCI Security Standards Council, Requirements 11.4.1 to 11.4.6
2017 Trust Services Criteria (revised points of focus, 2022), AICPA, CC4.1
ISO/IEC 27001:2022, Annex A controls 8.8 and 8.29, and ISO/IEC 27002:2022 guidance
45 CFR 164.308, HIPAA Security Rule, administrative safeguards, (a)(8) evaluation
HIPAA Security Rule To Strengthen the Cybersecurity of Electronic Protected Health Information, proposed rule, Federal Register, 2025-01-06 (no final rule on the check date)
Directive (EU) 2022/2555 (NIS2), Article 21
Commission Implementing Regulation (EU) 2024/2690, recital 15 and Annex point 6.5
NIS2 Technical Implementation Guidance, v1.0, ENISA, June 2025 (non-binding)
Regulation (EU) 2022/2554 (DORA), Articles 24 to 26
How Low Can You Go? An Analysis of 2023 Time-to-Exploit Trends, Mandiant, Google Cloud, 2024-10-15
M-Trends 2026, Mandiant, Google Cloud, 2026-03-23
Adversaries Leverage AI for Vulnerability Exploitation, Augmented Operations, and Initial Access, Google Threat Intelligence Group, 2026-05-11
State of Exploitation 2026, VulnCheck, 2026-01-21
State of Exploitation 1H-2026, VulnCheck, 2026-07-28
Known Exploited Vulnerabilities Catalog, CISA (1,726 entries on 2026-09-26)
Disrupting the first reported AI-orchestrated cyber espionage campaign, Anthropic, 2025-11-13
Barrion product facts, facts page