WEBBOOK CHAPTER

Spring Security 6, 인증에서 운영까지: 31장. 보안 테스트 피라미드를 만든다

31장. 보안 테스트 피라미드를 만든다

단위 테스트는 policy engine의 모든 분기, MVC 테스트는 filter·CSRF·status, 통합 테스트는 DB tenant 조건과 session store, end-to-end는 IDP redirect·cookie·브라우저 origin을 담당한다. DAST나 scanner 한 종류가 이 층을 대체하지 않는다.


policy unit       빠름 / 모든 역할·상태 조합
MockMvc           filter + endpoint 계약
integration       DB, Redis, issuer/JWK fixture
browser E2E       cookie, CSRF, CORS, redirect
staging drill     key rotation, session revoke, rollback

mutation 관점으로 “tenant 조건을 지우면 테스트가 실패하는가”, “CSRF를 끄면 실패하는가”를 묻는다. coverage 숫자보다 위험 통제가 테스트에 묶였는지 본다. authorization matrix를 CSV나 parameterized test로 유지하면 새 role과 action 누락이 보인다.

scanner 결과는 버전, 경로, exploitability, 보완 통제를 확인한다. severity만 보고 무조건 suppress하지 않고, suppression에는 소유자와 만료일을 둔다. test report와 SBOM은 release artifact의 증거로 연결한다.