--- id: P-REINFORCE-AUTO-5449D4 category: "10_Wiki/πŸ’‘ Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Reachability Analysis" --- # [[Reachability Analysis|Reachability Analysis]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > 도달 κ°€λŠ₯μ„± 뢄석(Reachability Analysis)은 μ†ŒμŠ€ μ½”λ“œ 및 μ˜€ν”ˆ μ†ŒμŠ€ 쒅속성 뢄석에 μ‚¬μš©λ˜λŠ” λ³΄μ•ˆ ν…ŒμŠ€νŠΈ κΈ°λ²•μœΌλ‘œ, μ˜€μ—Όλœ 데이터가 λ―Όκ°ν•œ 싱크(sink)에 도달할 수 μžˆλŠ”μ§€ λ˜λŠ” νŠΉμ • 취약점이 μ‹€μ œ ν”„λ‘œλ•μ…˜ ν™˜κ²½μ΄λ‚˜ μ‹€ν–‰ κ²½λ‘œμ—μ„œ 호좜 κ°€λŠ₯ν•œμ§€λ₯Ό μΆ”μ ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€ [1, 2]. 콜 κ·Έλž˜ν”„(call graph)와 데이터 흐름 뢄석을 톡해 μ·¨μ•½ν•œ ν•¨μˆ˜λ‘œμ˜ μ—°κ²° 고리λ₯Ό μ‹λ³„ν•˜λ©°, 도달할 수 μ—†λŠ” λ°λ“œ μ½”λ“œ(dead code)λ₯Ό ν•„ν„°λ§ν•©λ‹ˆλ‹€ [3, 4]. 결과적으둜 λ…Έμ΄μ¦ˆμ™€ μ˜€νƒ(false positives)을 쀄여 개발자 및 λ³΄μ•ˆνŒ€μ΄ μ‹€μ œ μœ„ν˜‘μ— 집쀑할 수 μžˆλ„λ‘ λ•λŠ” 핡심 κΈ°μˆ μž…λ‹ˆλ‹€ [4, 5]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) * **μž‘λ™ 원리:** 도달 κ°€λŠ₯μ„± 뢄석은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ—”λ“œν¬μΈνŠΈλ₯Ό λ¦¬μ‘ΈλΈŒν•˜κ³  μ·¨μ•½ν•œ ν•¨μˆ˜λ‘œ μ΄μ–΄μ§€λŠ” 콜 κ·Έλž˜ν”„λ₯Ό μƒμ„±ν•˜μ—¬, ν•΄λ‹Ή μ½”λ“œ μ˜μ—­μ΄ μ‹€μ œλ‘œ μ‹€ν–‰ κ°€λŠ₯ν•œμ§€λ₯Ό νŒλ³„ν•©λ‹ˆλ‹€ [3]. 이λ₯Ό 톡해 퍼슀트 νŒŒν‹°(first-party) μ½”λ“œλΏλ§Œ μ•„λ‹ˆλΌ μ„œλ“œ νŒŒν‹°(third-party) μ½”λ“œμ— μ‘΄μž¬ν•˜λŠ” 취약점이 μ‹€μ œ μ‹€ν–‰ 경둜(execution paths)와 μ—°κ²°λ˜μ–΄ μžˆλŠ”μ§€λ₯Ό ν•¨μˆ˜ μˆ˜μ€€(function-level)의 μ„ΈλΆ„ν™”λœ λ‹¨μœ„λ‘œ 좔적할 수 μžˆμŠ΅λ‹ˆλ‹€ [2, 5]. * **λ³΄μ•ˆ 점검 및 문제 ν•΄κ²°μ˜ μš°μ„ μˆœμœ„ μ§€μ •:** 이 κΈ°λ²•μ˜ κ°€μž₯ 큰 이점은 개발자의 μ•Œλ¦Ό ν”Όλ‘œλ„(alert fatigue)λ₯Ό μ€„μ΄λŠ” 데 μžˆμŠ΅λ‹ˆλ‹€ [5]. μ‹€μ œ λŸ°νƒ€μž„ μ‘°κ±΄μ—μ„œ 도달할 수 μ—†λŠ” λ°λ“œ κ²½λ‘œλ‚˜ μ‹€ν–‰λ˜μ§€ μ•ŠλŠ” λͺ¨λ“ˆμ— μœ„μΉ˜ν•œ 취약점을 μ œμ™Έ(필터링)μ‹œν‚΄μœΌλ‘œμ¨, 심각성, μ΅μŠ€ν”Œλ‘œμž‡ κ°€λŠ₯μ„±(exploitability), λΉ„μ¦ˆλ‹ˆμŠ€ 영ν–₯도 등을 κ³ λ €ν•œ λ§₯락 인식 기반의 μš°μ„ μˆœμœ„ λΆ„λ₯˜κ°€ κ°€λŠ₯ν•΄μ§‘λ‹ˆλ‹€ [4, 6]. * **μ£Όμš” λ³΄μ•ˆ 뢄석 λ„κ΅¬μ—μ„œμ˜ ν™œμš© 사둀:** * **Endor Labs:** 퍼슀트 νŒŒν‹° 및 μ„œλ“œ νŒŒν‹° μ½”λ“œ μ „λ°˜μ— 걸친 ν•¨μˆ˜ μˆ˜μ€€μ˜ 도달 κ°€λŠ₯μ„± 뢄석을 μ μš©ν•˜μ—¬, 취약점이 μ™ΈλΆ€μ˜ μ‹ λ’°ν•  수 μ—†λŠ” μž…λ ₯에 λ…ΈμΆœλ˜λŠ”μ§€ νŒλ‹¨ν•˜κ³  SCA(Software Composition Analysis)와 SAST(Static Application Security Testing) κ²°κ³Όλ₯Ό ν†΅ν•©ν•©λ‹ˆλ‹€ [2, 5]. * **Veracode:** 데이터 흐름을 μΆ”μ ν•˜μ—¬ μ˜€μ—Όλœ(tainted) 데이터가 λ―Όκ°ν•œ 싱크(sink)에 도달할 수 μžˆλŠ”μ§€λ₯Ό 도달 κ°€λŠ₯μ„± 뢄석을 톡해 ν™•μΈν•©λ‹ˆλ‹€ [1]. * **Corgea:** SAST μŠ€μΊ” κ³Όμ •μ—μ„œ μ—”λ“œν¬μΈνŠΈλ₯Ό μ‹λ³„ν•˜κ³  μ·¨μ•½ν•œ ν•¨μˆ˜μ— λŒ€ν•œ 콜 κ·Έλž˜ν”„λ₯Ό μƒμ„±ν•˜μ—¬ 도달 μ—¬λΆ€λ₯Ό μ‹œκ°ν™”ν•©λ‹ˆλ‹€ [3]. * **Qwiet AI:** CPG(Code Property Graph) 뢄석과 ν•¨κ»˜ 도달 κ°€λŠ₯μ„± 기반의 필터링을 μ‚¬μš©ν•˜μ—¬, μŠ€μΊ” 속도λ₯Ό μ΅œμ ν™”ν•˜κ³  λΆ„λ₯˜ν•΄μ•Ό ν•  λ³΄μ•ˆ κ²½κ³  수λ₯Ό 효과적으둜 μ€„μž…λ‹ˆλ‹€ [7, 8]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Programming & Language λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[SAST (Static Application Security Testing)|SAST (Static Application Security Testing)]], SCA (Software Composition Analysis), Call Graph, Data Flow Analysis, False Positives, Vulnerability Prioritization - **Projects/Contexts:** Endor Labs, Veracode, [[Corgea|Corgea]], Qwiet AI - **Contradictions/Notes:** 제곡된 μ†ŒμŠ€ λ‚΄μ—μ„œ 도달 κ°€λŠ₯μ„± λΆ„μ„μ˜ νš¨μš©μ„±μ— λŒ€ν•œ λͺ¨μˆœμ μ€ μ—†μœΌλ©°, λͺ¨λ“  μžλ£Œκ°€ κ³΅ν†΅μ μœΌλ‘œ SAST 및 SCA λ„κ΅¬μ—μ„œ μ˜€νƒμ„ 쀄이고 μ‹€μ œ μœ„ν—˜μ„ μ‹λ³„ν•˜λŠ” 데 맀우 효과적이고 ν•„μˆ˜μ μΈ 접근법이라고 λ™μ˜ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€ [2, 4]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/Reachability Analysis.md ---