D6 — Security Assessment & Testing
Black/gray/white-box testing as a knowledge spectrum, why a vulnerability assessment, a penetration test, and an audit are three different deliverables, and SAST vs DAST as complementary rather than competing tools — the domain closest to pentest/audit coordination work.
Learning Objectives
- → Place black-box, gray-box, and white-box testing on the knowledge spectrum and explain each one's trade-off
- → Distinguish a vulnerability assessment, a penetration test, and a security audit by their goal and deliverable
- → Distinguish SAST from DAST and explain why they find different vulnerability classes
- → Apply the CISSP mindset to a testing-scope decision, matching the test type to what's actually being asked
If you coordinate audits or pentests, this domain is largely about giving precise names to distinctions you already make instinctively — which test type answers which question, and why "we ran a scan" and "we did an audit" are not interchangeable claims.
The knowledge spectrum: black-box, gray-box, white-box
Testing approaches differ by how much the tester knows going in:
- Black-box — zero prior knowledge, no credentials, no architecture diagrams. Models an external, uninformed attacker. Most realistic simulation of an outside threat, but slower and may miss internal-only issues.
- Gray-box — partial knowledge or limited credentials. A common practical middle ground: enough access to test meaningfully without the full internal picture.
- White-box — full knowledge: source code, architecture, credentials. Most efficient and thorough, but least representative of what an external attacker actually faces.
There's no universally "best" choice — it depends on what question the test is answering. A test meant to validate "could an anonymous internet attacker get in" needs black-box; a test meant to find every logic flaw in a specific application as fast as possible benefits from white-box.
Three different deliverables, often confused
- Vulnerability assessment — identifies and catalogs known vulnerabilities (via scanning tools, version checks, misconfiguration detection). Broad coverage, doesn't attempt exploitation, produces a prioritized list.
- Penetration test — actively attempts to exploit vulnerabilities to demonstrate real-world impact, often chaining multiple weaknesses together. Narrower scope than a vulnerability assessment, but proves exploitability rather than just flagging possibility.
- Security audit — verifies compliance against a defined standard, policy, or framework (which is exactly the discipline this platform's ISO 27001 Lead Auditor track covers in full depth) — a fundamentally different goal from either of the above: not "what's vulnerable" or "what's exploitable," but "does this conform to what we said we'd do."
A report that says "we ran a vulnerability scan" is not equivalent to "we conducted a penetration test," and neither is equivalent to "we passed an audit" — each answers a genuinely different question, and a scenario question testing whether you can tell them apart is testing exactly this distinction, not just vocabulary recall.
SAST vs DAST — complementary, not competing
- SAST (Static Application Security Testing) — analyzes source code or binaries without executing them. Catches issues early (before deployment), sees the full codebase including unreached code paths, but produces more false positives and can't catch runtime-only issues (e.g. misconfigurations that only manifest when the application is actually running).
- DAST (Dynamic Application Security Testing) — tests a running application from the outside, the way an actual attacker would interact with it. Catches runtime and configuration issues SAST can't see, but only tests code paths actually exercised during the scan, and happens later in the pipeline (the application has to be running).
Neither replaces the other — a mature secure-development pipeline runs both, because each catches a different class of issue the other structurally cannot.
The CISSP mindset: manager vs technician
Leadership asks whether the company's new customer portal is "secure enough to launch." The team runs an automated vulnerability scan, finds no critical findings, and reports the portal is ready.
The technician answer: the scan is clean, ship it — the tool did its job and found nothing severe.
The manager (CISSP) answer: ask what question "secure enough to launch" is actually asking, and whether a vulnerability scan answers it. A clean vulnerability scan means no known, scannable issues were detected — it says nothing about business-logic flaws, chained exploitation paths, or whether the application actually resists a motivated attacker, none of which automated scanning reliably catches. If the launch decision carries real stakes, the CISSP-correct answer is matching the assessment type to the actual question: a penetration test (to test exploitability) or an audit against a defined security standard (to test conformance), not treating a vulnerability scan's clean result as proof of something it was never designed to prove.
A bank wants to know whether an anonymous attacker with no insider knowledge could compromise its public-facing customer login portal. Which testing approach should be used, and why would providing the tester with source code and admin credentials undermine the goal of this specific test?
Which approach should be used, and why would providing source code/credentials undermine this test's goal?
A vendor's security report states: 'We scanned our infrastructure with an automated tool and found 3 medium-severity findings, which we've remediated.' A customer asks whether this means the vendor has been penetration tested. How should you respond, and why are these two claims not equivalent?
How should you respond, and why aren't these two claims equivalent?
A development team runs SAST on every commit and reports zero findings for several months. A DAST scan against the running staging environment then discovers a critical misconfiguration allowing directory listing on a sensitive endpoint. Explain why SAST didn't catch this, and what this reveals about relying on either tool alone.
Why didn't SAST catch this, and what does it reveal about relying on either tool alone?