---
id: P-REINFORCE-WIKI-DEV-SAST-FUNDAMENTALS
title: "정적 애플리케이션 보안 테스트 (SAST Fundamentals)"
category: Unified
status: verified
canonical_id: ""
aliases: ["SAST", "정적 보안 테스트", "Static Application Security Testing", "보안 코드 리뷰"]
duplicate_of: ""
source_trust_level: A
confidence_score: 1.0
tags: ["Security", "SAST", "Vulnerability", "DevSecOps", "Compliance"]
raw_sources: ["Datacollector_Export_2026-05-02"]
last_reinforced: 2026-05-02
github_commit: ""
---

# [[정적 애플리케이션 보안 테스트 (SAST Fundamentals)]]

## 1. 개요
정적 애플리케이션 보안 테스트(Static Application Security Testing, SAST)는 소스 코드를 실행하지 않고 정적인 상태에서 스캔하여 보안 취약점, 설계 결함 및 안전하지 않은 코딩 패턴을 탐지하는 기술이다. 개발 생명 주기(SDLC)의 초기 단계(Shift-Left)에서 보안 문제를 발견하여 배포 후 발생할 수 있는 사고 리스크와 수정 비용을 최소화하는 데 목적이 있다.

## 2. 주요 탐지 대상
- **OWASP Top 10 취약점**: SQL 인젝션, 크로스 사이트 스크립팅(XSS), 안전하지 않은 역직렬화 등 웹 보안의 핵심 위협.
- **비밀 정보 유출 (Secrets Detection)**: 코드 내에 하드코딩된 API 키, 데이터베이스 패스워드, 개인키 등 민감한 정보 탐지.
- **메모리 관리 결함**: 버퍼 오버플로우, 해제된 메모리 재사용(Use-after-free) 등 시스템 안정성을 해치는 저수준 오류.
- **불안전한 설정**: 암호화 알고리즘 오용, 권한 설정 오류 등 인프라 및 애플리케이션 환경 설정의 약점.

## 3. 실전 적용 가치
- **보안 내재화 (Shift-Left Security)**: 개발자가 코드를 커밋하거나 PR을 생성하는 시점에 보안 피드백을 제공하여 보안 부채가 쌓이는 것을 방지.
- **규제 준수 (Compliance)**: PCI DSS, HIPAA, GDPR 등 산업별 보안 규정 준수 여부를 자동화된 보고서로 증빙.
- **일관된 보안 표준**: 팀 전체에 통일된 시큐어 코딩(Secure Coding) 규칙을 적용하여 개인의 역량에 의존하지 않는 상시 보안 태세 유지.

## 4. 트레이드오프 및 주의사항
- **오탐 (False Positives)**: 실제로는 안전한 로직을 취약점으로 오판하여 개발자의 시간을 낭비하게 할 수 있으므로, 프로젝트 맥락에 맞는 룰셋 최적화가 필수적임.
- **런타임 맥락 부재**: 코드를 실행하지 않으므로 사용자 입력값의 실제 정화(Sanitization) 여부나 런타임 환경에 의존적인 취약점 탐지에는 한계가 있음.
- **성능 부하**: 대규모 코드베이스의 정밀 스캔은 빌드 시간을 지연시킬 수 있으므로, 증분 스캔이나 비동기 분석 파이프라인 활용 권장.

## 5. 지식 연결 (Related)
- [[Static_Code_Analysis]]: 보안을 넘어 전반적인 코드 품질을 분석하는 상위 개념.
- [[SCA_Fundamentals]]: 외부 라이브러리의 보안을 책임지는 보완적 기술.
- [[DAST_Fundamentals]]: 실제 실행 환경에서의 보안을 검증하는 동적 테스트 기술.

## 🧪 검증 상태 (Validation)
- **정보 상태**: 검증 완료 (Verified)
- **출처 신뢰도**: A
- **검토 이유**: 보안 결함의 조기 발견과 자동화된 방어 체계 구축을 위한 현대적 소프트웨어 보안의 필수 구성 요소 정립.
