--- id: P-REINFORCE-AUTO-8D39DE category: "[[10_Wiki/πŸ’‘ Topics/AI]]" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - SAST (정적 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ³΄μ•ˆ ν…ŒμŠ€νŒ…)" --- # [[SAST (정적 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ³΄μ•ˆ ν…ŒμŠ€νŒ…)]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > SAST(정적 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ³΄μ•ˆ ν…ŒμŠ€νŒ…)λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜μ§€ μ•Šκ³  μ†ŒμŠ€ μ½”λ“œλ‚˜ λ°”μ΄νŠΈμ½”λ“œλ₯Ό μ •μ μœΌλ‘œ λΆ„μ„ν•˜μ—¬ λ³΄μ•ˆ 취약점을 μ°Ύμ•„λ‚΄λŠ” 'ν™”μ΄νŠΈλ°•μŠ€ ν…ŒμŠ€νŒ…' κΈ°λ²•μž…λ‹ˆλ‹€ [1, 2]. 개발 초기 단계(CI/CD νŒŒμ΄ν”„λΌμΈμ΄λ‚˜ IDE)에 ν†΅ν•©λ˜μ–΄ 취약점이 ν”„λ‘œλ•μ…˜ ν™˜κ²½μ— λ„λ‹¬ν•˜κΈ° 전에 μ˜ˆλ°©ν•˜λŠ” Shift-Left λ³΄μ•ˆμ„ μ‹€ν˜„ν•©λ‹ˆλ‹€ [3, 4]. μ΅œκ·Όμ—λŠ” κ·œμΉ™ 기반 νŒ¨ν„΄ 맀칭의 ν•œκ³„λ₯Ό λ„˜μ–΄, λŒ€ν˜• μ–Έμ–΄ λͺ¨λΈ(LLM)κ³Ό 기계 ν•™μŠ΅(ML)을 κ²°ν•©ν•˜μ—¬ λ¬Έλ§₯을 μ΄ν•΄ν•˜κ³  μžλ™μœΌλ‘œ μ½”λ“œλ₯Ό μˆ˜μ •ν•΄μ£ΌλŠ” AI 기반 SAST둜 μ§„ν™”ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€ [5-7]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) * **μž‘λ™ 방식 및 μ£Όμš” 탐지 μ˜μ—­:** SAST λ„κ΅¬λŠ” μ†ŒμŠ€ μ½”λ“œλ₯Ό νŒŒμ‹±ν•˜μ—¬ ꡬ문 트리(Syntax Tree)λ₯Ό κ΅¬μΆ•ν•œ ν›„, 의미둠(Semantic), μ œμ–΄ 흐름(Control flow), 데이터 흐름(Data flow), ꡬ쑰적 뢄석 등을 μ μš©ν•˜μ—¬ 잠재적 문제λ₯Ό νƒμ§€ν•©λ‹ˆλ‹€ [8-10]. 이λ₯Ό 톡해 μΈμ μ…˜ 결함(SQL, NoSQL, Command λ“±), 크둜슀 μ‚¬μ΄νŠΈ μŠ€ν¬λ¦½νŒ…(XSS), 경둜 탐색, ν•˜λ“œμ½”λ”©λœ 자격 증λͺ…(λΉ„λ°€λ²ˆν˜Έ, API ν‚€), μ·¨μ•½ν•œ μ•”ν˜Έν™”, λ©”λͺ¨λ¦¬ 관리 문제, 잘λͺ» κ΅¬μ„±λœ μ„€μ • 등을 μ°Ύμ•„λƒ…λ‹ˆλ‹€ [1, 2, 11]. * **SAST의 μ£Όμš” μž₯점:** SASTλŠ” μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κ±°λ‚˜ λ³„λ„μ˜ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό μž‘μ„±ν•  ν•„μš”κ°€ μ—†μœΌλ©°, κ°œλ°œμžκ°€ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” μ¦‰μ‹œ μ‹€μ‹œκ°„(Real-time)으둜 맀우 λΉ λ₯΄κ²Œ μŠ€μΊ”ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [12, 13]. λ¬Έμ œκ°€ μžˆλŠ” μ½”λ“œμ˜ μ •ν™•ν•œ μœ„μΉ˜μ™€ 데이터 흐름을 μ§šμ–΄μ£ΌκΈ° λ•Œλ¬Έμ— 취약점을 쑰기에 μˆ˜μ •ν•  수 μžˆμ–΄ μ‹œκ°„κ³Ό λΉ„μš©μ„ 크게 μ ˆμ•½ν•©λ‹ˆλ‹€ [13, 14]. * **κΈ°μ‘΄ SAST의 ν•œκ³„μ :** κΈ°μ‘΄ SAST 도ꡬ듀은 μ‹€ν–‰ λŸ°νƒ€μž„μ˜ μ»¨ν…μŠ€νŠΈλ‚˜ λΉ„μ¦ˆλ‹ˆμŠ€ 둜직의 μ˜λ„λ₯Ό μ˜¨μ „νžˆ νŒŒμ•…ν•˜μ§€ λͺ»ν•΄ μ˜€νƒμ§€(False Positive)λ₯Ό 많이 λ°œμƒμ‹œν‚€λ©°(일뢀 λ ˆκ±°μ‹œ λ„κ΅¬μ˜ 경우 50~80%), 이둜 인해 κ°œλ°œμžκ°€ μ•Œλ¦Ό ν”Όλ‘œλ„(Alert fatigue)λ₯Ό 느끼게 λ©λ‹ˆλ‹€ [15, 16]. λ˜ν•œ, νŠΉμ • ν”„λ‘œκ·Έλž˜λ° 언어에 λŒ€ν•œ μ˜μ‘΄μ„±μ΄ κ°•ν•˜λ©°, ν”„λ‘ νŠΈμ—”λ“œμ™€ λ°±μ—”λ“œλ₯Ό μ˜€κ°€λŠ” λ³΅μž‘ν•œ 데이터 흐름을 μ™„λ²½νžˆ μ«“μ•„κ°€μ§€ λͺ»ν•˜λŠ” ν•œκ³„κ°€ μžˆμŠ΅λ‹ˆλ‹€ [9, 16]. * **AI 기반 SAST의 λ“±μž₯:** 졜근의 SASTλŠ” λ‹¨μˆœν•œ 정적 νŒ¨ν„΄ 맀칭을 λ„˜μ–΄ LLM λ“± AI 엔진을 λ„μž…ν•˜μ—¬ λ§₯락을 μ΄ν•΄ν•˜λŠ” λ°©ν–₯으둜 λ°œμ „ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€ [3, 5]. AI 기반 SAST(예: Corgea, Snyk Code λ“±)λŠ” κ·œμΉ™λ§ŒμœΌλ‘œλŠ” ν‘œν˜„ν•  수 μ—†λŠ” λ³΅μž‘ν•œ λΉ„μ¦ˆλ‹ˆμŠ€ 둜직의 결함을 νƒμ§€ν•˜κ³ , μ˜€νƒμ„ 크게 μ€„μ—¬μ€λ‹ˆλ‹€ [6, 7, 17]. λ‚˜μ•„κ°€ μ‹λ³„λœ λ¬Έμ œμ— λŒ€ν•΄ μ‹€ν–‰ κ°€λŠ₯ν•œ μ½”λ“œ 패치(Auto-fix)λ₯Ό μžλ™μœΌλ‘œ μ œμ•ˆν•˜κ³  κ²€μ¦ν•˜λŠ” κΈ°λŠ₯κΉŒμ§€ μ œκ³΅ν•©λ‹ˆλ‹€ [5, 18]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** AI λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[DAST (동적 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ³΄μ•ˆ ν…ŒμŠ€νŒ…)]], [[SCA (μ†Œν”„νŠΈμ›¨μ–΄ ꡬ성 뢄석)]], [[AI-powered SAST]], [[μˆ˜λ™ μ½”λ“œ 리뷰 (Manual Code Review)]] - **Projects/Contexts:** [[Shift-Left λ³΄μ•ˆ]], [[CI/CD 및 IDE 톡합]], [[OWASP Top 10]] - **Contradictions/Notes:** μžλ™ν™”λœ SASTλŠ” 맀우 λΉ λ₯΄κ³  μΌκ΄€λ˜κ²Œ μ½”λ“œλ₯Ό κ²€μ‚¬ν•˜μ§€λ§Œ λΉ„μ¦ˆλ‹ˆμŠ€ 둜직과 μ˜λ„λ₯Ό νŒŒμ•…ν•˜λŠ” λ°λŠ” 맹점이 μ‘΄μž¬ν•˜λ―€λ‘œ(Context Blindness), λŸ°νƒ€μž„ ν™˜κ²½μ„ λΆ„μ„ν•˜λŠ” DAST λ˜λŠ” 섀계와 λ§₯락을 깊이 μ΄ν•΄ν•˜λŠ” μˆ˜λ™ μ½”λ“œ 리뷰(Manual Review)와 κ²°ν•©λœ ν•˜μ΄λΈŒλ¦¬λ“œ μ ‘κ·Ό 방식이 ꢌμž₯λ©λ‹ˆλ‹€ [15, 19, 20]. --- *Last updated: 2026-04-18* - Raw Source: [[00_Raw/2026-04-20/SAST (정적 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ³΄μ•ˆ ν…ŒμŠ€νŒ…).md]] ---