Skip to main content
Security glossary

Penetration testing vs vulnerability scanning

These two are often confused and sometimes sold as the same thing, but they answer different questions. A vulnerability scan asks 'what might be wrong here?', while a penetration test asks 'what can an attacker actually do?'. You usually want both, at different intervals.

A vulnerability scan: automated breadth

A vulnerability scan is an automated tool that checks systems against a database of known issues and misconfigurations and produces a list of potential vulnerabilities, usually with a severity label. It's fast, cheap and repeatable, which makes it good for frequent runs and broad coverage. But it reports possibilities, produces false positives and can't tell you whether a finding is really exploitable in your context.

A penetration test: human-led depth

A penetration test is led by people: a tester confirms weaknesses by exploiting them and chains individually minor issues into a realistic attack path. Automation can't do this part. OWASP ASVS itself notes that tools cannot fully verify the more complex requirements or those tied to business logic and access control. A pentest finds the logic and authorisation flaws (like cross-tenant IDOR) that scanners miss by design.

Breadth vs depth, false positives vs proof

Think of it as breadth versus depth. A scan covers a lot of surface shallowly and leaves you to work out what's real; a pentest covers a focused scope in depth and hands you confirmed findings with proof of concept, business-risk context and remediation. A scan's output is a starting point; a pentest's output is something you can base decisions on.

When to use each

Run scans continuously, for example monthly or on every release, to catch known issues and regressions cheaply. Use penetration testing periodically and around significant changes, when you need assurance that real attack paths are closed, or when a standard requires it. Many compliance regimes expect both: PCI DSS, for instance, requires regular vulnerability scanning and separate penetration testing at Requirement 11.

Frequently asked questions

A vulnerability scan is an automated tool that checks systems against a database of known issues and reports possibilities; a penetration test is manual-led and confirms weaknesses by exploiting them, chaining minor issues into a realistic attack path. A scan asks 'what might be wrong?'; a pentest asks 'what can an attacker actually do?'.

No. A scan reports possibilities, produces false positives and can't tell you whether a finding is really exploitable. OWASP ASVS itself notes that tools can't fully verify complex requirements tied to business logic and access control. A pentest finds the logic and authorisation flaws, like cross-tenant IDOR, that scanners miss by design.

Run scans continuously, for example monthly or on every release, to catch known issues cheaply. Use penetration testing periodically and around significant changes. Many compliance regimes expect both: PCI DSS, for instance, requires regular vulnerability scanning and separate penetration testing at Requirement 11.

Talk to a real practitioner.

Got a question these pages didn't answer? Tell us what you're trying to protect and we'll point you to the right engagement. The first consultation is free.