--- id: P-REINFORCE-AUTO-95EC02 category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Static Application Security Testing (SAST)" --- # [[Static Application Security Testing (SAST)|Static Application Security Testing (SAST)]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > Static Application Security Testing(SAST)λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 직접 μ‹€ν–‰ν•˜μ§€ μ•Šκ³  μ†ŒμŠ€ μ½”λ“œλ‚˜ λ°”μ΄νŠΈμ½”λ“œλ₯Ό λΆ„μ„ν•˜μ—¬ 잠재적인 λ³΄μ•ˆ 취약점과 결함을 μ°Ύμ•„λ‚΄λŠ” ν™”μ΄νŠΈλ°•μŠ€ ν…ŒμŠ€νŠΈ(white-box testing) κΈ°λ²•μž…λ‹ˆλ‹€ [1, 2]. 이 방식은 μ†Œν”„νŠΈμ›¨μ–΄ 개발 수λͺ… μ£ΌκΈ°(SDLC)의 초기 단계에 μ μš©λ˜μ–΄ μ½”λ“œκ°€ 배포되기 전에 문제λ₯Ό μ‹λ³„ν•˜κ³  μˆ˜μ •ν•  수 있게 ν•΄μ€λ‹ˆλ‹€ [1, 3, 4]. μ΅œκ·Όμ—λŠ” 인곡지λŠ₯(AI)κ³Ό 기계 ν•™μŠ΅(ML) 기술이 κ²°ν•©λ˜μ–΄ 전톡적인 κ·œμΉ™ 기반 νƒμ§€μ˜ ν•œκ³„λ₯Ό λ„˜μ–΄ μ½”λ“œμ˜ λ¬Έλ§₯을 μ΄ν•΄ν•˜κ³ , μžλ™μœΌλ‘œ μˆ˜μ • μ½”λ“œλ₯Ό μ œμ•ˆν•˜λŠ” μˆ˜μ€€μœΌλ‘œ μ§„ν™”ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€ [5-7]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) * **μž‘λ™ 원리 및 μ£Όμš” 탐지 μ˜μ—­:** SASTλŠ” μ½”λ“œμ˜ ꡬ쑰와 ꡬ문을 λΆ„μ„ν•˜λ©°, 데이터 흐름(Data flow), ν…ŒμΈνŠΈ 뢄석(Taint tracking) 및 의미둠적 뢄석을 μˆ˜ν–‰ν•˜μ—¬ μ™ΈλΆ€μ—μ„œ μœ μž…λœ μ‹ λ’°ν•  수 μ—†λŠ” 데이터가 μ•ˆμ „ν•˜κ²Œ μ²˜λ¦¬λ˜λŠ”μ§€ μΆ”μ ν•©λ‹ˆλ‹€ [2, 8, 9]. 이λ₯Ό 톡해 SQL μ£Όμž…(SQL Injection), 크둜슀 μ‚¬μ΄νŠΈ μŠ€ν¬λ¦½νŒ…(XSS), 경둜 탐색(Path traversal), ν•˜λ“œμ½”λ”©λœ λΉ„λ°€λ²ˆν˜Έ(Secrets) λ“± OWASP Top 10에 ν•΄λ‹Ήν•˜λŠ” μ£Όμš” λ³΄μ•ˆ 취약점을 νƒμ§€ν•©λ‹ˆλ‹€ [10, 11]. * **개발 μ›Œν¬ν”Œλ‘œμš° 톡합 (Shift-Left μ „λž΅):** SAST의 κ°€μž₯ 큰 μž₯점 쀑 ν•˜λ‚˜λŠ” 개발 μ΄ˆκΈ°μ— λ³΄μ•ˆμ„ λ‚΄μž¬ν™”ν•˜λŠ” 'Shift-Left' 접근법을 κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€ [12-14]. IDE(톡합 개발 ν™˜κ²½), ν’€ λ¦¬ν€˜μŠ€νŠΈ(Pull Request), CI/CD νŒŒμ΄ν”„λΌμΈ λ“± 개발자의 κΈ°μ‘΄ μ›Œν¬ν”Œλ‘œμš°μ— κΈ΄λ°€ν•˜κ²Œ ν†΅ν•©λ˜μ–΄ μ‹€μ‹œκ°„ ν”Όλ“œλ°±μ„ μ œκ³΅ν•˜λ―€λ‘œ, 취약점을 λ°œκ²¬ν•˜κ³  μˆ˜μ •ν•˜λŠ” 데 λ“œλŠ” λΉ„μš©κ³Ό μ‹œκ°„μ„ 크게 μ ˆκ°ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [15-20]. * **전톡적 SAST의 μž₯점과 ν•œκ³„:** 앱을 μ‹€ν–‰ν•  ν•„μš”κ°€ μ—†κ³ , ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό μž‘μ„±ν•˜μ§€ μ•Šμ•„λ„ 전체 μ½”λ“œλ² μ΄μŠ€λ₯Ό 검사할 수 있으며 μžλ™ν™”κ°€ μš©μ΄ν•©λ‹ˆλ‹€ [19]. λ”λΆˆμ–΄ PCI, OWASP, CWE λ“± μ‚°μ—… ν‘œμ€€ κ·œμ • μ€€μˆ˜λ₯Ό 증λͺ…ν•˜λŠ” 데 κΈ°μ—¬ν•©λ‹ˆλ‹€ [11, 21]. 반면 λŸ°νƒ€μž„ μ»¨ν…μŠ€νŠΈκ°€ λΆ€μ‘±ν•˜μ—¬ μ˜€νƒλ₯ (False Positive)이 높을 수 있고(κΈ°μ‘΄ λ„κ΅¬μ˜ 경우 50~80%에 달함), μ§€μ›ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ° 언어에 λŒ€ν•œ μ˜μ‘΄μ„±μ΄ μ‘΄μž¬ν•œλ‹€λŠ” 단점이 μžˆμŠ΅λ‹ˆλ‹€ [22-24]. * **AI 기반 SAST의 λ“±μž₯:** μ΅œκ·Όμ—λŠ” Snyk Code, Corgea λ“± κ±°λŒ€ μ–Έμ–΄ λͺ¨λΈ(LLM)κ³Ό 기계 ν•™μŠ΅μ„ λ„μž…ν•œ μ°¨μ„ΈλŒ€ SAST 도ꡬ듀이 λ“±μž₯ν–ˆμŠ΅λ‹ˆλ‹€ [6, 7, 18, 22]. 이듀은 파일 κ°„ 뢄석(Interfile analysis)을 톡해 μ—¬λŸ¬ λͺ¨λ“ˆμ— 걸친 취약점을 μΆ”μ ν•˜κ³  의미둠적으둜 μ½”λ“œλ₯Ό μ΄ν•΄ν•¨μœΌλ‘œμ¨ μ˜€νƒλ₯ μ„ μ€„μž…λ‹ˆλ‹€ [25, 26]. 뿐만 μ•„λ‹ˆλΌ, κ°œλ°œμžκ°€ μ¦‰κ°μ μœΌλ‘œ μ μš©ν•  수 μžˆλŠ” μžλ™ μˆ˜μ • μ½”λ“œ(Auto-fix)κΉŒμ§€ μƒμ„±ν•˜μ—¬ μ‹ μ†ν•œ 쑰치λ₯Ό λ•μŠ΅λ‹ˆλ‹€ [6, 27-30]. * **타 λ³΄μ•ˆ ν…ŒμŠ€νŠΈ λ„κ΅¬μ™€μ˜ 차이점:** μ‹€ν–‰ 쀑인 μƒνƒœμ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ™ΈλΆ€μ—μ„œ λΈ”λž™λ°•μŠ€ ν˜•νƒœλ‘œ ν…ŒμŠ€νŠΈν•˜λŠ” DAST(Dynamic Application Security Testing)와 λŒ€μ‘°μ μž…λ‹ˆλ‹€ [1, 31]. λ˜ν•œ μ„œλ“œνŒŒν‹° μ˜€ν”ˆμ†ŒμŠ€ 라이브러리의 μ•Œλ €μ§„ 취약점(CVE)κ³Ό λΌμ΄μ„ μŠ€λ₯Ό κ²€μ‚¬ν•˜λŠ” SCA(Software Composition Analysis)와 달리, SASTλŠ” 개발 νŒ€μ΄ 직접 μž‘μ„±ν•œ 1사(자체) μ†ŒμŠ€ μ½”λ“œ λ‚΄μ˜ 둜직 결함을 μ°Ύμ•„λ‚΄λŠ” 데 μ§‘μ€‘ν•©λ‹ˆλ‹€ [32, 33]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** AI λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** Dynamic Application Security Testing (DAST), [[Software Composition Analysis (SCA)|Software Composition Analysis (SCA)]], [[사프트 레프트 (Shift-Left)|Shift-Left]], False Positives, Artificial Intelligence (AI) Code Review - **Projects/Contexts:** μ†Œν”„νŠΈμ›¨μ–΄ 개발 수λͺ… μ£ΌκΈ°(SDLC) λ‚΄μ—μ„œ λ³΄μ•ˆμ„ κ°•ν™”ν•˜κΈ° μœ„ν•΄ CI/CD νŒŒμ΄ν”„λΌμΈ, IDE ν”ŒλŸ¬κ·ΈμΈ, Pull Request 등에 μ—°λ™ν•˜μ—¬ μ‚¬μš©λ˜λŠ” λ§₯락을 κ°€μ§‘λ‹ˆλ‹€. λŒ€ν‘œμ μΈ λ„κ΅¬λ‘œλŠ” Snyk Code, [[Corgea|Corgea]], [[SonarQube|SonarQube]], Checkmarx, Semgrep, Veracode, GitHub Advanced Security 등이 널리 μ‚¬μš©λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€ [7, 18, 22, 27, 34-38]. - **Contradictions/Notes:** 전톡적인 정적 뢄석(SAST)은 λΉ λ₯΄κ³  μΌκ΄€λœ 검사λ₯Ό μ œκ³΅ν•˜μ§€λ§Œ, λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ— λŒ€ν•œ λ¬Έλ§₯ 이해 λΆ€μ‘±κ³Ό 높은 μ˜€νƒλ₯ (False Positives)μ΄λΌλŠ” ν•œκ³„κ°€ μ§€μ λ©λ‹ˆλ‹€ [23, 24]. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μ΅œκ·Όμ—λŠ” μ‚¬λžŒμ΄ νŒλ‹¨μ„ λ‚΄λ¦¬λŠ” μˆ˜λ™ μ½”λ“œ 리뷰(Manual Code Review)와 AIκ°€ κ²°ν•©λœ 정적 뢄석을 ν˜Όν•©ν•˜μ—¬ μ‚¬μš©ν•˜λŠ” ν•˜μ΄λΈŒλ¦¬λ“œ(Hybrid) μ ‘κ·Ό 방식이 ν•„μˆ˜μ μΈ λ³΄μ•ˆ κ²€ν† μ˜ λͺ¨λ²” μ‚¬λ‘€λ‘œ ꢌμž₯되고 μžˆμŠ΅λ‹ˆλ‹€ [39-41]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/Static Application Security Testing (SAST).md ---