Always-on AI pentesting for your web apps and APIsAlways-on AI pentestingStart an AI pentest
Penetration testing

How Often Should You Pentest?

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.

FrameworkWhat the text asks forMinimum frequencySourceChecked
PCI DSS v4.0.1Internal (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.5At 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.12026-09-26
SOC 2Trust Services Criteria CC4.1. A point of focus names penetration testing as one type of evaluation. Points of focus aren't mandatory controlsNone set. Auditors and enterprise customers commonly expect a test within the last 12 monthsAICPA, 2017 Trust Services Criteria (points of focus revised 2022)2026-09-26
ISO/IEC 27001:2022Annex A 8.8 (technical vulnerability management) and 8.29 (security testing in development and acceptance). Pentesting is one method, picked through your risk assessmentNone setISO/IEC 27001:2022 and 27002:20222026-09-26
HIPAAThe 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 monthsNone today. Proposed: every 12 months. Not final on the check dateHHS, 45 CFR 164.308, HIPAA Security Rule NPRM, Federal Register, 2025-01-062026-09-26
NIS2Directive (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 pageNone set. Your risk assessment sets it. Recital 15 of 2024/2690 suggests testing after changes you deem significant. National laws can add detailEUR-Lex, Directive 2022/2555 and Implementing Regulation 2024/2690, ENISA Technical Implementation Guidance v1.02026-09-26
DORAArt. 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 designateAt least yearly. TLPT at least every 3 yearsEUR-Lex, Regulation (EU) 2022/25542026-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.

PeriodMean time to exploitSource
2018 to 201963 daysMandiant, 2023 TTE analysis (published 2024-10-15)
2021 to 202232 dayssame
20235 dayssame
2024minus 1 dayMandiant, M-Trends 2026 (published 2026-03-23)
2025 (estimate)minus 7 dayssame

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 riskFast passDeeper runHuman-led testCompliance floor to keep
SaaS app or API that ships daily or weekly, with customer data behind a loginDaily, Light level, on the production-facing appMonthly, Deep level, every timeYearly, and before a major launch or new product areaWhatever your framework sets, usually yearly
App that ships every few weeks, moderate riskWeekly, Light levelQuarterly, Standard or DeepYearlySame
Payments or cardholder data in scope for PCI DSSDaily, Light levelMonthly, Deep levelAt least every 12 months and after significant change, including internal network testingPCI DSS 11.4
EU financial entity under DORADaily or weekly, Light levelMonthly or quarterly, Deep or ExtendedYearly on systems behind critical or important functions. TLPT every 3 years if designatedDORA Art. 24 to 26
Low-risk site that rarely changes, no loginMonthly, only when the site has changedBefore each releaseOnly if a customer or auditor asksUsually 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.

FAQ

Frequently asked questions

How often does PCI DSS require a penetration test?
PCI DSS v4.0.1 Requirements 11.4.2 and 11.4.3 ask for internal and external penetration tests at least once every 12 months and after any significant infrastructure or application upgrade or change. Segmentation controls are tested every 12 months, or every 6 months for service providers. The test must follow a defined methodology and be done by a qualified, organizationally independent tester.
Does SOC 2 require an annual pentest?
No. The SOC 2 Trust Services Criteria name penetration testing as one type of evaluation under CC4.1, but they don't require it or set an interval. Many auditors accept one as evidence for CC4.1 and CC7.1, and enterprise customers usually ask for a report from the last 12 months, so a yearly test is the usual minimum for a SOC 2 company.
Is an annual penetration test enough?
For an auditor, often yes. For security, not if you ship often. Mandiant's M-Trends 2026 puts the 2025 mean time to exploit at an estimated minus seven days, down from 63 days in 2018 to 2019. A bug shipped the week after a yearly test stays untested for up to 51 weeks.
How often should a SaaS company pentest its web app?
As often as it ships. A practical setup is a fast daily run on the production-facing app, a deeper run every month or quarter, and a human-led test once a year or before a major launch. The yearly test covers compliance, and the daily runs cover the releases in between.
What counts as a significant change for pentesting?
Frameworks leave most of the definition to you. For a web app or API, treat new or changed authentication, new roles or permission models, new endpoints that handle sensitive data, payment changes, major framework upgrades, new third-party integrations and infrastructure changes in front of the app as significant. Write the definition down and record each decision.
Is daily pentesting safe to run against production?
It depends on the tool. Barrion's runs are rate-limited and non-destructive, the scope is approved before any traffic is sent, and you can point a schedule at staging instead. Daily runs at Light level are quick passes. Save the deeper and heavier runs for a monthly or quarterly schedule.
Does continuous AI pentesting replace the annual human pentest?
Usually not. Continuous runs test on a schedule, and catch regressions soon after they come back. A human tester is still better at new business logic and judgement-heavy paths, and some auditors and customers ask for a named, formally scoped test. Most teams keep a yearly human test and run AI pentests in between.
How often do DORA and NIS2 require testing?
DORA Article 24(6) asks financial entities, other than microenterprises, to test ICT systems and applications that support critical or important functions at least yearly, and designated firms run threat-led penetration tests at least every 3 years. NIS2 sets no number. Its implementing regulation, 2024/2690, asks you to set the frequency and type of security tests from your risk assessment and document the results, and its recital 15 suggests testing after changes you deem significant.

Test as often as you ship.

A daily Light run and a monthly Deep run show new and regressed findings the day they appear. We'll scope the schedule with you.