--- id: P-REINFORCE-WIKI-DEV-SAST title: "정적 애플리케이션 보안 테스트와 코드 품질 분석 (SAST)" category: Unified status: verified canonical_id: "" aliases: ["SAST", "정적 분석", "Static Analysis", "보안 스캔", "코드 품질 검사"] duplicate_of: "" source_trust_level: A confidence_score: 1.0 tags: ["Security", "Testing", "Code_Quality", "CI_CD", "Vulnerability_Scanning"] raw_sources: ["Datacollector_Export_2026-05-02"] last_reinforced: 2026-05-02 github_commit: "" --- # [[정적 애플리케이션 보안 테스트와 코드 품질 분석 (SAST)]] ## 1. 개요 정적 애플리케이션 보안 테스트(SAST, Static Application Security Testing)는 소프트웨어를 실행하지 않은 상태에서 소스 코드, 바이트 코드 또는 바이너리를 분석하여 보안 취약점, 프로그래밍 오류 및 설계 결함을 찾아내는 보안 검사 기술이다. 개발 초기 단계(Shift-Left)에서 코드를 스캔하여 SQL 인젝션, 크로스 사이트 스크립팅(XSS)과 같은 심각한 보안 위험을 사전에 차단하고 전반적인 코드 품질을 유지하는 데 핵심적인 역할을 한다. ## 2. 주요 기능 및 특징 - **코드 구조 분석**: 제어 흐름(Control Flow)과 데이터 흐름(Data Flow)을 추적하여 입력값이 안전하지 않은 방식으로 처리되는 지점을 식별. - **취약점 식별**: OWASP Top 10, CWE(Common Weakness Enumeration) 등 국제적인 보안 취약점 목록을 기준으로 코드를 검사. - **자동화된 피드백**: CI/CD 파이프라인이나 IDE와 통합되어 코드가 작성되거나 커밋되는 즉시 개발자에게 보안 이슈를 알림. - **규정 준수(Compliance)**: 특정 산업 표준(PCI DSS, HIPAA 등)에 부합하는 보안 수준을 유지하고 있음을 증명하기 위한 감사 보고서 생성. ## 3. 엔지니어링 가치 - **보안의 조기 확보 (Shift-Left Security)**: 애플리케이션이 실행되기 전인 코딩 단계에서 취약점을 발견하므로, 운영 단계에서 발견되는 결함에 비해 수정 비용이 압도적으로 저렴함. - **코드 품질 표준화**: 보안 이슈뿐만 아니라 코드 복잡도, 명명 규칙 위반, 비효율적인 코드 패턴 등을 잡아내어 팀 전체의 코딩 표준 상향 평준화 유도. - **지속적인 보안 태세 유지**: 수동 보안 진단과 달리, 자동화된 스캔을 통해 모든 코드 변경에 대해 24/7 보안 검증 수행 가능. ## 4. 트레이드오프 및 주의사항 - **오탐(False Positives)**: 실제 보안 위협이 아닌 코드도 취약점으로 오인하여 보고할 수 있으며, 이는 개발자의 피로도를 높이고 도구에 대한 신뢰를 떨어뜨리는 주된 요인이 됨. - **빌드 성능 영향**: 대규모 코드베이스에 대해 심층 분석을 수행할 경우 스캔 시간이 길어져 개발 파이프라인의 속도를 저하시킬 수 있음. - **런타임 결함 탐지 한계**: 코드를 실행하지 않기 때문에, 실제 실행 환경에서 발생하는 구성 설정 오류(Config errors)나 인증/인가 로직의 논리적 허점 등은 완벽히 잡아내기 어려움. ## 5. 지식 연결 (Related) - [[Continuous_Integration]]: SAST가 자동화된 품질 게이트로 작동하는 환경. - [[Test_Automation]]: 보안 테스트를 포함한 전체적인 소프트웨어 검증 체계. - [[Clean_Code]]: SAST를 통해 달성하고자 하는 고품질 코드의 표준. ## 🧪 검증 상태 (Validation) - **정보 상태**: 검증 완료 (Verified) - **출처 신뢰도**: A - **검토 이유**: 소프트웨어의 안전성과 품질을 코드 작성 단계에서부터 시스템적으로 보장하기 위한 정적 분석 전략 및 보안 표준 정립.