--- id: P-REINFORCE-AUTO-E9615F 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)|์ •์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ(SAST)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ์ •์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ(SAST)๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ์†Œ์Šค ์ฝ”๋“œ, ๋ฐ”์ดํŠธ์ฝ”๋“œ ๋“ฑ์˜ ๊ตฌ์กฐ์™€ ๊ตฌ๋ฌธ์„ ์ •์ ์œผ๋กœ ๋ถ„์„ํ•˜์—ฌ ๋ณด์•ˆ ์ทจ์•ฝ์ ๊ณผ ๋…ผ๋ฆฌ์  ์˜ค๋ฅ˜๋ฅผ ์‹๋ณ„ํ•˜๋Š” ํ™”์ดํŠธ๋ฐ•์Šค ํ…Œ์ŠคํŠธ ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค [1, 2]. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ƒ๋ช…์ฃผ๊ธฐ(SDLC)์˜ ๊ฐ€์žฅ ์ดˆ๊ธฐ ๋‹จ๊ณ„(์ฝ”๋“œ ์ž‘์„ฑ ๋ฐ CI/CD ํŒŒ์ดํ”„๋ผ์ธ)์— ์ ์šฉ๋˜์–ด ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฏ€๋กœ, ์ˆ˜์ •์— ๋“œ๋Š” ๋น„์šฉ๊ณผ ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [1, 3, 4]. ์ตœ๊ทผ์˜ SAST ๋„๊ตฌ๋“ค์€ ๋‹จ์ˆœํ•œ ํŒจํ„ด ๋งค์นญ์„ ๋„˜์–ด ๋จธ์‹ ๋Ÿฌ๋‹ ๋ฐ ๋Œ€ํ˜• ์–ธ์–ด ๋ชจ๋ธ(LLM)์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์ฝ”๋“œ์˜ ๋ฌธ๋งฅ์„ ์ดํ•ดํ•˜๊ณ , ์ž๋™์œผ๋กœ ์ˆ˜์ • ์ฝ”๋“œ๋ฅผ ์ œ์•ˆํ•˜๋Š” AI ๊ธฐ๋ฐ˜์œผ๋กœ ์ง„ํ™”ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [5, 6]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **์ž‘๋™ ์›๋ฆฌ ๋ฐ ์ฃผ์š” ํƒ์ง€ ํ•ญ๋ชฉ:** SAST๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜์—ฌ ์ถ”์ƒ ๊ตฌ๋ฌธ ํŠธ๋ฆฌ(AST)๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์ œ์–ด ํ๋ฆ„, ๋ฐ์ดํ„ฐ ํ๋ฆ„(์˜ค์—ผ ๋ถ„์„ ๋“ฑ) ๋ฐ ์˜๋ฏธ๋ก ์  ๋ถ„์„์„ ์ ์šฉํ•˜์—ฌ ์ทจ์•ฝ์ ์„ ์ฐพ์•„๋ƒ…๋‹ˆ๋‹ค [2, 7, 8]. ์ด๋ฅผ ํ†ตํ•ด SQL ์ธ์ ์…˜, ํฌ๋กœ์Šค ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ…(XSS), ๊ฒฝ๋กœ ํƒ์ƒ‰, ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ OWASP Top 10์— ํ•ด๋‹นํ•˜๋Š” ์ฃผ์š” ๋ณด์•ˆ ์œ„ํ˜‘์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์ „์— ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค [9-12]. * **SAST ๋„์ž…์˜ ์žฅ์ :** * **์กฐ๊ธฐ ๋ฐœ๊ฒฌ ๋ฐ ์ˆ˜์ •(์‹œํ”„ํŠธ ๋ ˆํ”„ํŠธ):** IDE ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋‚˜ ์ปค๋ฐ‹ ์ด์ „ ๋‹จ๊ณ„(Pre-commit hook)์— ์—ฐ๋™๋˜์–ด, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ฆ‰์‹œ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณต๋ฐ›๊ณ  ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [13-15]. * **๋ช…ํ™•ํ•œ ๊ฐ€์ด๋“œ ์ œ๊ณต:** ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•œ ์ •ํ™•ํ•œ ์ฝ”๋“œ ์œ„์น˜์™€ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์‹œ๊ฐ์ ์œผ๋กœ ์ œ๊ณตํ•˜์—ฌ ์›์ธ ํŒŒ์•… ๋ฐ ์ˆ˜์ •์ด ๋งค์šฐ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค [14, 16]. * **์‹คํ–‰ ํ™˜๊ฒฝ ๋ถˆํ•„์š”:** ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ ๋„ ๋ถ„์„์ด ๊ฐ€๋Šฅํ•ด ๋™์  ํ…Œ์ŠคํŠธ(DAST)์— ๋น„ํ•ด ์Šค์บ” ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ์ž๋™ํ™”๊ฐ€ ์‰ฝ์Šต๋‹ˆ๋‹ค [14, 17]. * **ํ•œ๊ณ„ ๋ฐ ๋‹จ์ :** * **์ปจํ…์ŠคํŠธ ๋ถ€์กฑ ๋ฐ ์˜คํƒ(False Positive):** ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ด๋‚˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์˜ ์˜๋„๋ฅผ ์™„์ „ํžˆ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ด, ์‹ค์ œ๋กœ๋Š” ์•ˆ์ „ํ•œ ์ฝ”๋“œ์ž„์—๋„ ์ทจ์•ฝ์ ์œผ๋กœ ๊ฒฝ๊ณ ํ•˜๋Š” ์˜คํƒ(False Positive)๊ณผ ๋ฏธํƒ(False Negative)์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [18, 19]. * **์–ธ์–ด ์ข…์†์„ฑ:** ๋ถ„์„ ๋Œ€์ƒ ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋œ ํŠน์ • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ•ด๋‹น ๋„๊ตฌ๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์›ํ•ด์•ผ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค [19]. * **AI ๊ธฐ๋ฐ˜ SAST์˜ ๋“ฑ์žฅ:** ์ „ํ†ต์ ์ธ SAST๋Š” ์ •ํ•ด์ง„ ๊ทœ์น™๊ณผ ํŒจํ„ด์— ์˜์กดํ•˜์ง€๋งŒ, ํ˜„๋Œ€์˜ AI ๊ธฐ๋ฐ˜ SAST(์˜ˆ: Snyk Code, Corgea ๋“ฑ)๋Š” ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ์˜คํ”ˆ์†Œ์Šค ์ปค๋ฐ‹ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•œ ๋จธ์‹ ๋Ÿฌ๋‹/LLM ์—”์ง„์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค [6, 20, 21]. ์ด๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ํŒŒ์ผ๊ณผ ๋ชจ๋“ˆ์— ๊ฑธ์นœ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ํ๋ฆ„(Interfile analysis)์„ ์ถ”์ ํ•˜๊ณ , ๋‹จ์ˆœ ๊ฒฝ๊ณ ๋ฅผ ๋„˜์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฆ‰๊ฐ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์— ๋งž๋Š” ์ž๋™ ์ˆ˜์ •(Auto-fix) ์ฝ”๋“œ๋ฅผ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค [22-24]. * **ํšจ๊ณผ์ ์ธ ํ™œ์šฉ์„ ์œ„ํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ:** ์ž๋™ํ™”๋œ SAST๋Š” ์•Œ๋ ค์ง„ ๋ณด์•ˆ ์ทจ์•ฝ์ ๊ณผ ์Šคํƒ€์ผ ์˜ค๋ฅ˜๋ฅผ ๊ธฐ๊ณ„์ ์ธ ์†๋„๋กœ ์ผ๊ด€๋˜๊ฒŒ ์ฐพ์•„๋‚ด๋Š” ๋ฐ ํƒ์›”ํ•ฉ๋‹ˆ๋‹ค [25, 26]. ๊ทธ๋Ÿฌ๋‚˜ ๋„๊ตฌ๋Š” ์•„ํ‚คํ…์ฒ˜์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋‚˜ ๋„๋ฉ”์ธ ํŠนํ™” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค [27, 28]. ๋”ฐ๋ผ์„œ SAST๋ฅผ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์˜ 1์ฐจ ํ’ˆ์งˆ ๊ฒŒ์ดํŠธ๋กœ ์ž๋™ํ™”ํ•˜์—ฌ ๋ฐ˜๋ณต์ ์ธ ๊ฒฐํ•จ์„ ๊ฑธ๋Ÿฌ๋‚ด๊ณ , ์•„ํ‚คํ…์ฒ˜๋‚˜ ๋ฏผ๊ฐํ•œ ๊ถŒํ•œ ๋กœ์ง ๋“ฑ์— ๋Œ€ํ•ด์„œ๋Š” ์‚ฌ๋žŒ์ด ์ง์ ‘ ๋ฌธ๋งฅ์„ ํŒŒ์•…ํ•˜๋Š” ์ˆ˜๋™ ์ฝ”๋“œ ๋ฆฌ๋ทฐ(Manual Review)๋ฅผ ๊ฒฐํ•ฉํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ ‘๊ทผ๋ฒ•์ด ๊ฐ€์žฅ ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค [29-31]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** AI ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[แ„ƒแ…ฉแ†ผแ„Œแ…ฅแ†จ แ„‹แ…ขแ„‘แ…ณแ†ฏแ„…แ…ตแ„แ…ฆแ„‹แ…ตแ„‰แ…งแ†ซ แ„‡แ…ฉแ„‹แ…กแ†ซ แ„แ…ฆแ„‰แ…ณแ„แ…ณ(DAST)|๋™์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ(DAST)]], [[แ„‰แ…ฉแ„‘แ…ณแ„แ…ณแ„‹แ…ฐแ„‹แ…ฅ แ„€แ…ฎแ„‰แ…ฅแ†ผ แ„‡แ…ฎแ†ซแ„‰แ…ฅแ†จ(SCA)|์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ๋ถ„์„(SCA)]], [[แ„‰แ…ตแ„‘แ…ณแ„แ…ณ แ„…แ…ฆแ„‘แ…ณแ„แ…ณ(Shift-Left)|์‹œํ”„ํŠธ ๋ ˆํ”„ํŠธ(Shift-Left)]], [[แ„Žแ…ฎแ„‰แ…กแ†ผ แ„€แ…ฎแ„†แ…ฎแ†ซ แ„แ…ณแ„…แ…ต(AST)|์ถ”์ƒ ๊ตฌ๋ฌธ ํŠธ๋ฆฌ(AST)]] - **Projects/Contexts:** [[CI_CD แ„‘แ…กแ„‹แ…ตแ„‘แ…ณแ„…แ…กแ„‹แ…ตแ†ซ|CI/CD ํŒŒ์ดํ”„๋ผ์ธ]], [[OWASP Top 10|OWASP Top 10]], [[แ„’แ…กแ„‹แ…ตแ„‡แ…ณแ„…แ…ตแ„ƒแ…ณ แ„แ…ฉแ„ƒแ…ณ แ„…แ…ตแ„‡แ…ฒ|ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ]] - **Contradictions/Notes:** * "์ „ํ†ต์ ์ธ ๊ทœ์น™ ๊ธฐ๋ฐ˜์˜ SAST ๋„๊ตฌ๋Š” 50~80%์— ์ด๋ฅด๋Š” ๋†’์€ ์˜คํƒ๋ฅ (False Positive)์„ ๋ณด์—ฌ ๊ฐœ๋ฐœ์ž์˜ ํ”ผ๋กœ๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ตœ๊ทผ์˜ AI ๋ฐ ๊ธฐ๊ณ„ ํ•™์Šต ๊ธฐ๋ฐ˜ SAST(์˜ˆ: Veracode, Corgea ๋“ฑ)๋Š” ์ปจํ…์ŠคํŠธ๋ฅผ ์ดํ•ดํ•จ์œผ๋กœ์จ ์˜คํƒ๋ฅ ์„ 5% ์ดํ•˜(์ผ๋ถ€ 1.1% ๋ฏธ๋งŒ)๋กœ ํ˜„์ €ํžˆ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค." [19, 32]. * "์ž๋™ํ™”๋œ ์ •์  ๋ถ„์„ ๋„๊ตฌ๋งŒ์œผ๋กœ ๋ชจ๋“  ๋ณด์•ˆ ์˜ค๋ฅ˜๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ฆ ์—ฐ๊ตฌ์— ๋”ฐ๋ฅด๋ฉด SAST ๋„๊ตฌ๋Š” ์‹ค์ œ ์กด์žฌํ•˜๋Š” ์ทจ์•ฝ์ ์˜ ์•ฝ 22%๋ฅผ ์™„์ „ํžˆ ๋†“์น  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋”ฐ๋ผ์„œ ์ž๋™ํ™” ๋„๊ตฌ๋ฅผ ๋งน์‹ ํ•˜์ง€ ๋ง๊ณ  ๊ณ ์œ„ํ—˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์ˆ˜๋™ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋ณ‘ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค." [18, 33-35]. --- *Last updated: 2026-04-18* - Raw Source: 00_Raw/2026-04-20/์ •์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ ํ…Œ์ŠคํŠธ(SAST).md ---