Files
2nd/10_Wiki/Topics/Security & Reliability/SAST (Static Application Security Testing).md
T

2.3 KiB

id, category, confidence_score, tags, last_reinforced
id category confidence_score tags last_reinforced
P-REINFORCE-AUTO-WIKI-SEC-002 10_Wiki/💡 Topics/Security & Reliability 0.95
security
sast
static-analysis
shift-left
code-review
p-reinforce
2026-05-01

SAST (Static Application Security Testing)

📌 한 줄 통찰 (The Karpathy Summary)

"애플리케이션을 실행하지 않고 소스 코드 자체를 분석하여 결함을 찾아내는 첫 번째 방어선으로, 보안 결함 수정 비용을 최소화하는 '시프트 레프트(Shift-Left)' 전략의 핵심 엔진."

📖 구조화된 지식 (Synthesized Content)

SAST는 개발 초기 단계에서 보안 무결성을 확보하기 위한 정적 도구입니다.

  1. 정적 분석 메커니즘:
    • 소스 코드의 구문(AST)과 논리 구조를 스캔하여 취약한 패턴(예: OWASP Top 10)을 식별합니다.
    • 취약점의 정확한 라인 번호를 제공하여 개발자가 즉각적으로 대응할 수 있게 합니다.
  2. 리뷰어의 인지 에너지 보존:
    • 인젝션 결함이나 기초적인 보안 실수를 기계가 선별함으로써, 인간 리뷰어는 아키텍처 의도와 비즈니스 로직 검토에 집중할 수 있습니다.
  3. 조기 발견 (Shift-Left):
    • 코드 작성 및 PR 단계에서 즉시 위협을 감지하여, 프로덕션 배포 후 발생하는 막대한 수정 비용을 예방합니다.

⚠️ 모순 및 업데이트 (Contradictions & RL Update)

  • 오탐(False Positives) 관리: 패턴 매칭에 의존하므로 실제 위협이 아닌 코드도 위험으로 분류하는 노이즈가 발생할 수 있습니다. 이는 리뷰 팀의 주관적 검증(Validation) 정책으로 보완해야 합니다.
  • 맥락 인지의 한계: 비즈니스 로직이나 런타임 환경 설정(네트워크 등)에 의한 동적 취약점은 탐지할 수 없으므로 DAST/IAST와의 병행이 필수입니다.

🔗 지식 연결 (Graph)

  • DAST (Dynamic Application Security Testing): 동적 분석과의 보완적 관계.
  • Shift-Left Security: 보안의 조기 도입 철학.
  • CI/CD Pipeline Integration: 품질 게이트(Quality Gate)로서의 구현.
  • Automated Code Analysis: 린팅 및 정적 분석 도구군.
  • SCA (Software Composition Analysis): 외부 라이브러리 보안 검증으로의 확장.