Skip to content

Answer

How often should you run a penetration test?

The answer most vendors give is annually. That is the compliance floor, and taken alone it is the wrong way to think about it.

A test describes a system as it was on the day it was tested. If you deploy weekly, a report from eight months ago describes software that no longer exists.

What frameworks actually say

PCI DSS is the most explicit: internal and external penetration testing at least once every 12 months, and also after any significant infrastructure or application upgrade or change. Two triggers, and the second is the one that binds a team that ships regularly.

SOC 2 and ISO 27001 set no frequency at all. They ask that vulnerabilities be identified and managed, and whatever cadence you choose must be documented and followed. Choosing annually and then skipping a year is worse than choosing eighteen months and keeping to it.

The change trigger is the real schedule

Significant change is the honest basis for a schedule, because it tracks when your attack surface actually moved rather than when the calendar turned over.

  • A new authentication or authorization model, or a new identity provider
  • A new tenant model, or a change to how tenants are isolated
  • A new payment, billing or financial flow
  • A new externally reachable service, API or integration
  • A change to network segmentation
  • Adding an AI agent or feature with access to tools or customer data

What to run between tests

Full tests are not the only instrument. Continuous scanning, dependency monitoring and your own regression tests for previously found issues fill the gap, and they are what make the next test productive.

Without them, each annual test rediscovers the same categories and you pay a specialist to tell you about missing patches. With them, the test spends its time on the things only a human finds.

A practical cadence

For most product companies: one scoped test a year as the baseline, plus a targeted test whenever something on the change list above ships, plus continuous scanning throughout.

The targeted tests are narrow and that is the point. Testing the new authorization model properly is worth more than re-testing the whole application superficially.

Questions

How often should penetration testing be done?
At least annually as a floor, and additionally after any significant change to your systems. For teams that release frequently, the change trigger governs: a targeted test when a new authorization model, payment flow, external service or AI agent ships.
How often does PCI DSS require penetration testing?
PCI DSS requires internal and external penetration testing at least once every 12 months and also after any significant infrastructure or application upgrade or change. Segmentation testing runs on its own cycle, more frequently for service providers.
Is annual penetration testing enough?
For a system that rarely changes, often yes. For a product shipping weekly, an annual test describes software that no longer exists by the time you read the report, so it needs to be paired with continuous scanning and targeted tests on significant changes.

Sources

Standards and legislation are quoted from the sources above and change over time. Read the primary source before relying on it. Nothing on this page is legal advice.

Next step

Start with a scoping call.

Tell us what you need tested. Before any testing begins, the scope is written down and the agreement and rules of engagement are signed.

Book a scoping call