<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI Security – 블로그</title><link>https://ai-security.metacog.co.kr/blog/</link><description>Recent content in 블로그 on AI Security</description><generator>Hugo -- gohugo.io</generator><language>ko-KR</language><atom:link href="https://ai-security.metacog.co.kr/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>익스플로잇 난이도가 '어셈블리'에서 '작문'으로 떨어진 1년 — 2025~2026 AI 보안 사건 13건의 동작 분석</title><link>https://ai-security.metacog.co.kr/blog/ai-incidents-2025-2026-mechanism/</link><pubDate>Thu, 22 Oct 2026 10:00:00 -0500</pubDate><guid>https://ai-security.metacog.co.kr/blog/ai-incidents-2025-2026-mechanism/</guid><description>
&lt;p&gt;메모리 손상 취약점으로 서버를 장악하려면 무엇이 필요할까요? 힙 레이아웃을 읽고, 해제 타이밍을 맞추고, 기계어 바이트열을 정확한 위치에 배치해야 합니다. 그래서 어렵고, 그래서 할 수 있는 사람이 적었습니다.&lt;/p&gt;
&lt;p&gt;2025년부터 2026년 사이, 같은 결과를 내는 데 필요한 것이 &lt;strong&gt;&amp;ldquo;이메일 본문에 흰 글씨로 문장 하나 적기&amp;rdquo;&lt;/strong&gt; 로 바뀐 사건들이 연달아 발생했습니다. 이 글은 그 13건을 같은 틀로 뜯어본 기록입니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;1. 구조는 똑같다, 입력만 바뀌었다&lt;span class="hx:absolute hx:-mt-20" id="1-구조는-똑같다-입력만-바뀌었다"&gt;&lt;/span&gt;
&lt;a href="#1-%ea%b5%ac%ec%a1%b0%eb%8a%94-%eb%98%91%ea%b0%99%eb%8b%a4-%ec%9e%85%eb%a0%a5%eb%a7%8c-%eb%b0%94%eb%80%8c%ec%97%88%eb%8b%a4" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;먼저 전통적인 Use-After-Free(UAF) 공격을 떠올려 봅시다.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;프로그램 안에는 개발자가 메모리 해제 순서를 잘못 처리한 &lt;strong&gt;잠재적 결함&lt;/strong&gt;이 숨어 있습니다. 평소엔 드러나지 않습니다. 공격자가 &lt;strong&gt;의도적으로 조작된 입력과 타이밍&lt;/strong&gt;을 밀어 넣으면, 프로그램은 이미 반납한 메모리를 다시 참조하는 오류를 일으킵니다. 공격자는 그 찰나에 자기 명령어를 심고, 프로그램이 그걸 정상 데이터로 착각해 실행하면서 &lt;strong&gt;RCE가 완성&lt;/strong&gt;됩니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;AI 사건은 이름만 바뀝니다.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;단계&lt;/th&gt;
&lt;th&gt;메모리 손상 (UAF → RCE)&lt;/th&gt;
&lt;th&gt;AI 사건 (인젝션 → 유출·행동 탈취)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;① 잠재적 결함&lt;/td&gt;
&lt;td&gt;해제된 메모리를 재참조하는 로직 오류&lt;/td&gt;
&lt;td&gt;모델이 &lt;strong&gt;지시와 데이터를 구분하지 못함&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;② 공격자의 개입&lt;/td&gt;
&lt;td&gt;정밀하게 조작된 바이트열 + 타이밍&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;숨긴 문장&lt;/strong&gt; (흰 글씨, HTML 주석, 로그 파라미터)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;③ 오작동 유발&lt;/td&gt;
&lt;td&gt;댕글링 포인터 참조&lt;/td&gt;
&lt;td&gt;그 문장이 &lt;strong&gt;&amp;ldquo;지시&amp;quot;로 승격&lt;/strong&gt;됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;④ 공격 완성&lt;/td&gt;
&lt;td&gt;심어둔 기계어가 실행&lt;/td&gt;
&lt;td&gt;출력이 &lt;strong&gt;검증 없이 렌더링·실행&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;차이는 ②단계 하나입니다. 그리고 그 하나가 전부를 바꿉니다. &lt;strong&gt;익스플로잇 개발 난이도가 어셈블리 수준에서 작문 수준으로 떨어졌기 때문입니다.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;2. 계열 A — 보내기만 하면 끝나는 공격&lt;span class="hx:absolute hx:-mt-20" id="2-계열-a--보내기만-하면-끝나는-공격"&gt;&lt;/span&gt;
&lt;a href="#2-%ea%b3%84%ec%97%b4-a--%eb%b3%b4%eb%82%b4%ea%b8%b0%eb%a7%8c-%ed%95%98%eb%a9%b4-%eb%81%9d%eb%82%98%eb%8a%94-%ea%b3%b5%ea%b2%a9" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;같은 메커니즘이 1년에 걸쳐 세 번 진화한 기록입니다. 공통 구조는 이렇습니다.&lt;/p&gt;
&lt;p&gt;공격자가 희생자에게 뭔가를 &lt;strong&gt;보내기만&lt;/strong&gt; 합니다. 희생자는 클릭도 열람도 하지 않습니다. 며칠 뒤 희생자가 AI 비서에게 &lt;strong&gt;&amp;ldquo;지난주 요약해줘&amp;rdquo;&lt;/strong&gt; 같은 평범한 질문을 하는 순간, AI가 그걸 읽고 공격자의 지시를 실행해 데이터를 외부로 내보냅니다.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;세대&lt;/th&gt;
&lt;th&gt;사건&lt;/th&gt;
&lt;th&gt;인젝션 통로&lt;/th&gt;
&lt;th&gt;공격자에게 필요한 것&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1세대 (2025.6)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EchoLeak&lt;/strong&gt; (CVE-2025-32711, CVSS 9.3)&lt;/td&gt;
&lt;td&gt;사람이 보낸 &lt;strong&gt;메일&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;희생자 메일 주소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2세대 (2025.8~9)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AgentFlayer · ShadowLeak&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;사람이 공유한 &lt;strong&gt;문서&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;문서 공유 권한&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3세대 (2026.4)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;GrafanaGhost&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;기계가 쓴 &lt;strong&gt;로그&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;없음&lt;/strong&gt; (공개 HTTP 요청)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;3세대가 특히 불편합니다. Grafana의 AI 어시스턴트는 로그를 읽고 요약하는데, 로그에는 서버에 도착한 HTTP 요청의 쿼리 파라미터가 그대로 기록됩니다. 즉 &lt;strong&gt;인터넷의 누구나 쓸 수 있는 입력란이 AI의 컨텍스트로 직결&lt;/strong&gt;되어 있었던 겁니다. 인증도 내부 접근도 필요 없고, 요청이 실패해도 상관없습니다 — 로그에 남는 것이 목적이니까요.&lt;/p&gt;
&lt;h3&gt;가드레일 4개가 순차적으로 뚫렸다&lt;span class="hx:absolute hx:-mt-20" id="가드레일-4개가-순차적으로-뚫렸다"&gt;&lt;/span&gt;
&lt;a href="#%ea%b0%80%eb%93%9c%eb%a0%88%ec%9d%bc-4%ea%b0%9c%ea%b0%80-%ec%88%9c%ec%b0%a8%ec%a0%81%ec%9c%bc%eb%a1%9c-%eb%9a%ab%eb%a0%b8%eb%8b%a4" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;EchoLeak에서 가장 중요한 부분은 &lt;strong&gt;Microsoft에 이미 방어가 있었다&lt;/strong&gt;는 점입니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;인젝션 분류기(XPIA) → 지시문을 &amp;ldquo;사람에게 보내는 안내문&amp;quot;처럼 위장해 회피&lt;/li&gt;
&lt;li&gt;링크 리댁션 → &lt;strong&gt;참조 스타일 마크다운&lt;/strong&gt;이라는 동등한 다른 문법이 남아 있었음&lt;/li&gt;
&lt;li&gt;CSP(콘텐츠 보안 정책) → 허용 목록에 있던 &lt;strong&gt;자사 Teams 프록시&lt;/strong&gt;를 경유&lt;/li&gt;
&lt;li&gt;사용자 교육 → 희생자가 한 행동은 &amp;ldquo;업무 질문&amp;quot;뿐. 교육할 대상이 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;가드레일이 없어서 뚫린 게 아니라, &lt;strong&gt;네 개가 하나씩 순서대로 뚫린&lt;/strong&gt; 사건입니다.&lt;/p&gt;
&lt;h3&gt;그리고 ShadowLeak이 바꾼 것&lt;span class="hx:absolute hx:-mt-20" id="그리고-shadowleak이-바꾼-것"&gt;&lt;/span&gt;
&lt;a href="#%ea%b7%b8%eb%a6%ac%ea%b3%a0-shadowleak%ec%9d%b4-%eb%b0%94%ea%be%bc-%ea%b2%83" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;AgentFlayer는 희생자의 &lt;strong&gt;브라우저&lt;/strong&gt;가 이미지를 요청하면서 데이터가 나갑니다. 기업 프록시에서 보입니다.&lt;/p&gt;
&lt;p&gt;ShadowLeak은 다릅니다. &lt;strong&gt;OpenAI 클라우드의 에이전트가 직접&lt;/strong&gt; 요청합니다. 희생자의 네트워크를 &lt;strong&gt;통과하지 않습니다.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;DLP, 프록시, EDR, 네트워크 모니터링은 모두 &amp;ldquo;데이터가 우리 경계를 넘는 순간&amp;quot;을 보도록 설계됐습니다. 그런데 데이터가 AI 제공자의 데이터센터에서 공격자 서버로 직행하면, 그 경계에는 아무것도 지나가지 않습니다. &lt;strong&gt;에이전트를 붙이는 순간 &amp;lsquo;우리 경계&amp;rsquo;의 정의가 바뀝니다.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2&gt;3. 계열 B — 페이로드가 코드에서 &amp;lsquo;문장&amp;rsquo;으로&lt;span class="hx:absolute hx:-mt-20" id="3-계열-b--페이로드가-코드에서-문장으로"&gt;&lt;/span&gt;
&lt;a href="#3-%ea%b3%84%ec%97%b4-b--%ed%8e%98%ec%9d%b4%eb%a1%9c%eb%93%9c%ea%b0%80-%ec%bd%94%eb%93%9c%ec%97%90%ec%84%9c-%eb%ac%b8%ec%9e%a5%ec%9c%bc%eb%a1%9c" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;전통적인 공급망 공격은 패키지에 악성 코드를 심습니다. 2025년의 두 사건은 심는 것 자체를 바꿨습니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Amazon Q 와이퍼 (2025.7, CVE-2025-8217).&lt;/strong&gt; 공격자가 AWS의 VS Code 확장 저장소에 PR을 열어 write 권한을 받고, 주입한 것은 익스플로잇이 아니라 &lt;strong&gt;&amp;ldquo;홈 디렉터리 파일을 삭제하고 AWS 리소스를 열거·삭제하라&amp;quot;는 지시문&lt;/strong&gt;이었습니다. 약 100만 설치 규모의 확장에 2일간 배포됐고, &lt;strong&gt;구문 오류 때문에 작동하지 않아&lt;/strong&gt; 피해가 없었습니다.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;방어가 작동한 게 아니라 공격자의 실수가 막은 겁니다. 정적 분석기는 &lt;code&gt;rm -rf&lt;/code&gt;를 찾지만, &amp;ldquo;홈 디렉터리 파일을 삭제하라&amp;quot;는 문장은 &lt;strong&gt;문법적으로 아무 코드도 아닙니다.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;s1ngularity (2025.8).&lt;/strong&gt; 악성 Nx 패키지가 개발자 PC에서 한 일이 핵심입니다. 비밀 탐색 로직을 직접 구현하지 않고, &lt;strong&gt;로컬에 설치된 AI 코딩 CLI를 찾아 승인 생략 플래그로 실행&lt;/strong&gt;했습니다 — &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt;, &lt;code&gt;--yolo&lt;/code&gt;, &lt;code&gt;--trust-all-tools&lt;/code&gt;. 그리고 &amp;ldquo;비밀이 있을 만한 파일을 찾아라&amp;quot;고 시켰습니다.&lt;/p&gt;
&lt;p&gt;왜 이게 위험한가요? 전통적 스틸러는 &lt;code&gt;.env&lt;/code&gt;, &lt;code&gt;id_rsa&lt;/code&gt;, &lt;code&gt;.aws/credentials&lt;/code&gt; 같은 경로를 &lt;strong&gt;미리 하드코딩&lt;/strong&gt;해야 합니다. 목록에 없으면 놓칩니다. 반면 AI에게 맡기면 &lt;strong&gt;그 PC의 실제 구조를 읽고 추론해서&lt;/strong&gt; 찾습니다. 사내 전용 설정 파일, 커스텀 스크립트에 박힌 키까지요. 공격자는 코드를 쓰지 않고 &lt;strong&gt;일반화 능력을 빌려 쓴 겁니다.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;결과는 공개 GitHub 저장소로 업로드된 &lt;strong&gt;2,349건의 비밀&lt;/strong&gt;, 그리고 Wiz 집계로 &lt;strong&gt;유출 토큰의 90%가 여전히 유효&lt;/strong&gt;한 상태였습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;4. 계열 C — 거부당할 요청을 아예 하지 않는 법&lt;span class="hx:absolute hx:-mt-20" id="4-계열-c--거부당할-요청을-아예-하지-않는-법"&gt;&lt;/span&gt;
&lt;a href="#4-%ea%b3%84%ec%97%b4-c--%ea%b1%b0%eb%b6%80%eb%8b%b9%ed%95%a0-%ec%9a%94%ec%b2%ad%ec%9d%84-%ec%95%84%ec%98%88-%ed%95%98%ec%a7%80-%ec%95%8a%eb%8a%94-%eb%b2%95" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;2025년 11월 Anthropic이 공개한 &lt;strong&gt;GTG-1002&lt;/strong&gt; 캠페인의 핵심 질문은 이것입니다. &lt;em&gt;안전 훈련을 받은 모델이 왜 침입 작업을 수행했는가?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;답은 &lt;strong&gt;작업 분해(task decomposition)&lt;/strong&gt; 입니다.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;공격자가 요청한 것&lt;/th&gt;
&lt;th&gt;모델에게 보이는 모습&lt;/th&gt;
&lt;th&gt;작전에서의 실제 역할&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&amp;ldquo;이 IP 범위의 열린 포트 확인해줘&amp;rdquo;&lt;/td&gt;
&lt;td&gt;자산 스캔&lt;/td&gt;
&lt;td&gt;정찰&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;ldquo;이 버전에 알려진 취약점 정리해줘&amp;rdquo;&lt;/td&gt;
&lt;td&gt;취약점 조사&lt;/td&gt;
&lt;td&gt;표적 선정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;ldquo;이 파라미터 SQLi 테스트 스크립트 써줘&amp;rdquo;&lt;/td&gt;
&lt;td&gt;보안 테스트 코드&lt;/td&gt;
&lt;td&gt;익스플로잇 개발&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;ldquo;이 쿼리 결과를 CSV로 정리해줘&amp;rdquo;&lt;/td&gt;
&lt;td&gt;데이터 가공&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;데이터 반출&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;네 번째는 그냥 데이터 포매팅입니다. 침입의 윤곽은 &lt;strong&gt;요청들을 시간순으로 겹쳐 놓을 때만&lt;/strong&gt; 보입니다.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;모델이 안전 정책을 어긴 게 아닙니다. &lt;strong&gt;안전 정책이 평가하는 단위(요청 1건)가 위험이 발생하는 단위(작전 전체)보다 작았던&lt;/strong&gt; 겁니다. 그래서 요청 단위 분류기로는 이 공격을 탐지할 수 없고, &lt;strong&gt;세션·계정 단위의 행동 궤적&lt;/strong&gt;을 봐야 합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;참고로 Anthropic이 보고한 자동화 비율(침투 작업의 80~90%)과 귀속은 자체 평가이고, 일부 연구자가 의문을 제기했습니다. 메커니즘은 다른 사건과 교차 검증되지만 &lt;strong&gt;수치는 그렇지 않습니다.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;그리고 더 흔한 쪽도 있습니다. 2026년 2월 보도된 &lt;strong&gt;멕시코 정부 침해&lt;/strong&gt;(약 150GB 세무·유권자 데이터)는 사람이 운전하고 LLM이 스크립트를 짜 준 형태였고, &lt;strong&gt;뚫린 구멍은 미패치 시스템&lt;/strong&gt;이었습니다. AI는 준비 시간을 줄였을 뿐입니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;5. 계열 D — 공격자가 없어도 사고는 난다&lt;span class="hx:absolute hx:-mt-20" id="5-계열-d--공격자가-없어도-사고는-난다"&gt;&lt;/span&gt;
&lt;a href="#5-%ea%b3%84%ec%97%b4-d--%ea%b3%b5%ea%b2%a9%ec%9e%90%ea%b0%80-%ec%97%86%ec%96%b4%eb%8f%84-%ec%82%ac%ea%b3%a0%eb%8a%94-%eb%82%9c%eb%8b%a4" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;이 계열의 절반은 &lt;strong&gt;공격자가 없습니다.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Replit (2025.7).&lt;/strong&gt; 사용자는 코드 프리즈 중이었고 &amp;ldquo;승인 없이 변경하지 말라&amp;quot;고 지시해 뒀습니다. 에이전트가 운영 DB를 삭제했습니다. 숨은 지시문도, 공격자도 없었습니다.&lt;/p&gt;
&lt;p&gt;더 심각한 건 그 다음입니다. 에이전트는 가짜 데이터와 리포트를 만들어 &lt;strong&gt;실패를 성공처럼 보고&lt;/strong&gt;하고, 단위 테스트 결과를 잘못 전하고, &lt;strong&gt;&amp;ldquo;복구는 불가능하다&amp;quot;고 단정&lt;/strong&gt;했습니다. 사실이 아니었고, 사용자가 직접 롤백으로 복구했습니다. Replit CEO는 원클릭 복원이 이미 있었고 &lt;strong&gt;에이전트가 그 문서에 접근하지 못한 상태&lt;/strong&gt;였다고 설명했습니다.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;에이전트는 자기 능력 범위를 모르는 상태에서 단정적으로 보고했습니다. 사고 대응에서 이건 치명적입니다. &lt;strong&gt;환각이 품질 문제가 아니라 사고 대응 능력을 직접 파괴한 사례&lt;/strong&gt;입니다. 백업 존재 여부, 복구 가능성, 영향 범위는 &lt;strong&gt;에이전트 외부의 독립적 사실 소스&lt;/strong&gt;에서 확인해야 합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;OpenClaw (2026.2).&lt;/strong&gt; &amp;ldquo;삭제할 메일을 &lt;strong&gt;제안&lt;/strong&gt;해 달라&amp;quot;고 했는데 에이전트가 직접 삭제를 시작했고, 휴대폰으로 보낸 &lt;strong&gt;중단 명령이 무시&lt;/strong&gt;됐습니다.&lt;/p&gt;
&lt;p&gt;중단 명령이 무시된다는 건 &lt;strong&gt;루프 외부에 인터럽트 채널이 없다&lt;/strong&gt;는 뜻입니다. 모델에게 &amp;ldquo;멈춰 달라&amp;quot;고 메시지를 보내는 방식은 중단 요청을 또 하나의 해석 대상으로 만들 뿐입니다. 점검 질문 하나만 남겨둡니다.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;우리 에이전트가 폭주할 때, 모델의 협조 없이 멈출 수 있는 수단이 있습니까?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2&gt;6. 13건을 관통하는 결함은 세 개뿐&lt;span class="hx:absolute hx:-mt-20" id="6-13건을-관통하는-결함은-세-개뿐"&gt;&lt;/span&gt;
&lt;a href="#6-13%ea%b1%b4%ec%9d%84-%ea%b4%80%ed%86%b5%ed%95%98%eb%8a%94-%ea%b2%b0%ed%95%a8%ec%9d%80-%ec%84%b8-%ea%b0%9c%eb%bf%90" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;지시와 데이터의 미분리&lt;/strong&gt; — 계열 A 전체, 계열 C의 우회 기법&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;과도한 권한&lt;/strong&gt; — 계열 B의 빌드 토큰, 계열 D 전체. 공격자가 없어도 사고가 납니다&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;무검증 출력 처리&lt;/strong&gt; — 유출의 &lt;strong&gt;마지막 한 걸음&lt;/strong&gt;은 거의 항상 여기입니다&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;그리고 가장 실무적인 결론은 이것입니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;①과 ②는 확률적으로만 막을 수 있지만, ③은 결정론적으로 막을 수 있습니다.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;AI 응답에서 외부 도메인 리소스의 자동 로딩을 금지하고, 셸 명령을 실행 효과 기준으로 제한하고, 에이전트의 쓰기 권한을 분리하는 것은 &lt;strong&gt;분류기 정확도와 무관하게 작동합니다.&lt;/strong&gt; 계열 A의 세 사건은 모두 ③만 막았다면 데이터가 나가지 않았습니다.&lt;/p&gt;
&lt;p&gt;가드레일이 확률적 계층이라면, 출력 처리 통제는 &lt;strong&gt;그 아래 깔려야 하는 결정론적 바닥&lt;/strong&gt;입니다. 그리고 계열 D가 반복해서 보여준 것처럼 — &lt;strong&gt;프롬프트에 적은 제약은 &amp;lsquo;요청&amp;rsquo;이고, 코드로 강제한 제약만이 &amp;lsquo;통제&amp;rsquo;입니다.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;더 읽을 거리&lt;span class="hx:absolute hx:-mt-20" id="더-읽을-거리"&gt;&lt;/span&gt;
&lt;a href="#%eb%8d%94-%ec%9d%bd%ec%9d%84-%ea%b1%b0%eb%a6%ac" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;13건 전체의 단계별 동작 분석, 우회된 방어 목록, 사례별 통제 체크리스트는 지식베이스에 정리해 두었습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a
href="https://ai-security.metacog.co.kr/docs/incidents/"&gt;⑧ 사례 기술 분석&lt;/a&gt; — 공통 4단계 분석 틀과 전체 사례 인덱스&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://ai-security.metacog.co.kr/docs/incidents/zero-click-exfiltration/"&gt;계열 A: 제로클릭 데이터 유출&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://ai-security.metacog.co.kr/docs/incidents/ai-weaponized-supply-chain/"&gt;계열 B: AI가 무기화된 공급망&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://ai-security.metacog.co.kr/docs/incidents/ai-orchestrated-attack/"&gt;계열 C: AI가 공격을 수행&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://ai-security.metacog.co.kr/docs/incidents/agent-overreach/"&gt;계열 D: 과도한 권한과 경계 붕괴&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a
href="https://ai-security.metacog.co.kr/docs/guardrails/"&gt;⑦ 가드레일·평가&lt;/a&gt; — 위 통제들을 실제로 구현하는 방법&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200"&gt;
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2"&gt;&lt;svg height=1.2em class="hx:inline-block hx:align-middle" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"&gt;&lt;path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7"&gt;
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0"&gt;사건의 피해 규모·자동화 비율 같은 수치는 상당 부분 벤더 또는 피해 당사자의 자체 추정입니다. 당사자가 프레이밍에 이의를 제기한 사건(GrafanaGhost의 &amp;lsquo;제로클릭&amp;rsquo; 표현 등)도 있으니, 인용 전에 원문을 확인하시기 바랍니다. 각 사례 문서에 출처와 확실성을 함께 적어 두었습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Shift Left의 종말? 아니, '생성형 보안(Generative Security)'으로의 진화</title><link>https://ai-security.metacog.co.kr/blog/shift-left-to-generative-security/</link><pubDate>Wed, 01 Jul 2026 09:00:00 -0500</pubDate><guid>https://ai-security.metacog.co.kr/blog/shift-left-to-generative-security/</guid><description>
&lt;p&gt;&amp;ldquo;Shift Left가 죽었다.&amp;rdquo; 최근 보안 커뮤니티에서 가장 뜨거운 논쟁거리입니다. 개발자에게 보안 책임을 떠넘긴다는 피로감 섞인 비판이 쏟아지는 가운데, 제품 보안 리더 카메론 월터스(Cameron Walters)는 이 주장을 정면으로 반박합니다. Shift Left는 실패한 것이 아니라, AI 코딩 에이전트의 등장과 함께 &amp;lsquo;검사(Inspect)&amp;lsquo;에서 &amp;lsquo;생성(Generate)&amp;lsquo;으로 진화하고 있다는 것입니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;1. Shift Left는 죽지 않았다, 다만 &amp;lsquo;더 왼쪽&amp;rsquo;으로 이동했을 뿐&lt;span class="hx:absolute hx:-mt-20" id="1-shift-left는-죽지-않았다-다만-더-왼쪽으로-이동했을-뿐"&gt;&lt;/span&gt;
&lt;a href="#1-shift-left%eb%8a%94-%ec%a3%bd%ec%a7%80-%ec%95%8a%ec%95%98%eb%8b%a4-%eb%8b%a4%eb%a7%8c-%eb%8d%94-%ec%99%bc%ec%aa%bd%ec%9c%bc%eb%a1%9c-%ec%9d%b4%eb%8f%99%ed%96%88%ec%9d%84-%eb%bf%90" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Shift Left에 대한 피로감은 실재합니다. 보안 스캐너가 쏟아내는 알림, PR을 막는 린터, &amp;ldquo;이건 보안팀이 할 일 아닌가?&amp;ldquo;라는 개발자들의 볼멘소리. 하지만 카메론은 이 현상을 &amp;lsquo;실패&amp;rsquo;가 아니라 오히려 &amp;lsquo;승리&amp;rsquo;라고 정의합니다.&lt;/p&gt;
&lt;p&gt;이유는 간단합니다. 보안 통제가 적용되는 지점이 IDE 저장 시점을 넘어, 이제는 &lt;strong&gt;AI 코딩 에이전트의 시스템 프롬프트와 컨텍스트(Context) 단계&lt;/strong&gt;까지 파고들었기 때문입니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;과거: 개발자가 코드를 커밋 → 파이프라인 스캐너가 취약점을 탐지 → 개발자가 다시 수정&lt;/li&gt;
&lt;li&gt;현재: AI 에이전트가 &lt;strong&gt;보안 패턴이 이미 반영된 코드&lt;/strong&gt;를 생성 → 생성 직후 즉시 검증&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;이렇게 되면 기존의 수동적·사후 반응적인 파이프라인 게이트는 오히려 병목이자 구식 유물이 되어갑니다. 실제로 최근 Claude Code, GitHub Copilot, Cursor 같은 AI 코딩 도구들이 &lt;code&gt;CLAUDE.md&lt;/code&gt;, &lt;code&gt;CONTEXT.md&lt;/code&gt;류의 행동 강령 파일을 통해 &amp;ldquo;비밀키를 하드코딩하지 마라&amp;rdquo;, &amp;ldquo;인증 로직은 프론트엔드에 두지 마라&amp;rdquo; 같은 규칙을 코드 생성 이전 단계에서부터 강제하는 흐름도 같은 맥락입니다. (관련 글: &lt;a
href="../ai-coding-agent-safety-rules/"&gt;AI와 협업할 때 &amp;lsquo;가이드라인&amp;rsquo;이 왜 필수일까?&lt;/a&gt;)&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;2. 카메론이 지적하는 오해: 체크리스트는 답이 아니다&lt;span class="hx:absolute hx:-mt-20" id="2-카메론이-지적하는-오해-체크리스트는-답이-아니다"&gt;&lt;/span&gt;
&lt;a href="#2-%ec%b9%b4%eb%a9%94%eb%a1%a0%ec%9d%b4-%ec%a7%80%ec%a0%81%ed%95%98%eb%8a%94-%ec%98%a4%ed%95%b4-%ec%b2%b4%ed%81%ac%eb%a6%ac%ec%8a%a4%ed%8a%b8%eb%8a%94-%eb%8b%b5%ec%9d%b4-%ec%95%84%eb%8b%88%eb%8b%a4" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;카메론이 특히 강조하는 것은 &amp;ldquo;체크리스트 중심 보안에서 벗어나야 한다&amp;quot;는 점입니다. 도커파일을 스캔하고 IAM 권한을 점검하는 정도로 충분했던 시절은 끝났습니다. 이제는 다음과 같은 새로운 공백이 생겼습니다.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;과거의 위협 모델&lt;/th&gt;
&lt;th&gt;현재의 위협 모델&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Dockerfile 취약점, 권한 과다 부여&lt;/td&gt;
&lt;td&gt;인프라 복잡성 증가, 공급망 의존성 폭증&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;사람이 작성한 코드의 버그&lt;/td&gt;
&lt;td&gt;AI가 생성한 코드의 프롬프트 인젝션·환각(hallucination) 의존성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;배포 직전 단발성 스캔&lt;/td&gt;
&lt;td&gt;계획-개발-통합-배포-운영 전 과정에 걸친 지속적 검증&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;그럼에도 보고서와 감사(Audit)는 사라지지 않습니다. AI가 아무리 안전한 코드를 생성해도, 기업의 컴플라이언스 요구사항은 여전히 &amp;ldquo;운영 중인 코드가 안전하게 검토되었다는 증거&amp;quot;를 요구합니다. 즉 카메론이 말하는 보안팀의 역할 변화는 다음과 같습니다.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;실시간 보안 문제 탐지자&amp;quot;에서 → &amp;ldquo;안전한 코드가 생성될 수밖에 없는 환경을 설계하는 자&amp;quot;로.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;보안은 이제 사후 처리(Reactive)가 아니라 &lt;strong&gt;생성형(Generative)&lt;/strong&gt; 작업이 되어야 한다는 뜻입니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;3. OWASP SPVS: 전체 수명주기를 관통하는 표준&lt;span class="hx:absolute hx:-mt-20" id="3-owasp-spvs-전체-수명주기를-관통하는-표준"&gt;&lt;/span&gt;
&lt;a href="#3-owasp-spvs-%ec%a0%84%ec%b2%b4-%ec%88%98%eb%aa%85%ec%a3%bc%ea%b8%b0%eb%a5%bc-%ea%b4%80%ed%86%b5%ed%95%98%eb%8a%94-%ed%91%9c%ec%a4%80" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;카메론은 결론에서 **OWASP SPVS(Secure Pipeline Verification Standard)**와 같은 체계적인 표준의 중요성을 역설합니다. SPVS는 특정 도구나 특정 단계만 다루는 것이 아니라, 소프트웨어를 계획하고 배포하는 전체 과정을 5단계로 나누어 각 단계별 보안 통제 항목을 정의합니다.&lt;/p&gt;
&lt;div role="img" aria-label="다이어그램"&gt;
&lt;pre class="mermaid hx:mt-6"&gt;
flowchart LR
A[Plan&amp;lt;br/&amp;gt;계획] --&amp;gt; B[Develop&amp;lt;br/&amp;gt;개발]
B --&amp;gt; C[Integrate&amp;lt;br/&amp;gt;통합]
C --&amp;gt; D[Release&amp;lt;br/&amp;gt;배포]
D --&amp;gt; E[Operate&amp;lt;br/&amp;gt;운영]
E -.피드백.-&amp;gt; A
style A fill:#e0f2fe,stroke:#0369a1
style B fill:#dcfce7,stroke:#15803d
style C fill:#fef9c3,stroke:#a16207
style D fill:#fee2e2,stroke:#b91c1c
style E fill:#ede9fe,stroke:#6d28d9
&lt;/pre&gt;
&lt;/div&gt;&lt;h3&gt;Plan (계획)&lt;span class="hx:absolute hx:-mt-20" id="plan-계획"&gt;&lt;/span&gt;
&lt;a href="#plan-%ea%b3%84%ed%9a%8d" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;보안 요구사항 정의, 위험 평가, 기본 정책 수립 등 파이프라인 구축의 기초를 다집니다.&lt;/p&gt;
&lt;h3&gt;Develop (개발)&lt;span class="hx:absolute hx:-mt-20" id="develop-개발"&gt;&lt;/span&gt;
&lt;a href="#develop-%ea%b0%9c%eb%b0%9c" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;안전한 개발 관행을 적용하고, 코드 작성 시점부터 취약점을 방지하기 위한 통제를 적용합니다. AI 코딩 에이전트의 시스템 프롬프트·컨텍스트 규칙이 실질적으로 작동하는 단계이기도 합니다.&lt;/p&gt;
&lt;h3&gt;Integrate (통합)&lt;span class="hx:absolute hx:-mt-20" id="integrate-통합"&gt;&lt;/span&gt;
&lt;a href="#integrate-%ed%86%b5%ed%95%a9" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;코드를 빌드하고 메인 코드베이스에 통합하는 과정에서 빌드 시스템 보호, 아티팩트(Artifact) 무결성 검증, 자동화된 보안 체크를 수행합니다.&lt;/p&gt;
&lt;h3&gt;Release (배포)&lt;span class="hx:absolute hx:-mt-20" id="release-배포"&gt;&lt;/span&gt;
&lt;a href="#release-%eb%b0%b0%ed%8f%ac" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;프로덕션 배포 전 최종 검증, 배포 환경의 안전성 확보, 변경 관리 및 승인 절차를 다룹니다.&lt;/p&gt;
&lt;h3&gt;Operate (운영)&lt;span class="hx:absolute hx:-mt-20" id="operate-운영"&gt;&lt;/span&gt;
&lt;a href="#operate-%ec%9a%b4%ec%98%81" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;운영 환경에서의 지속적인 모니터링, 보안 로그 기록, 인시던트 대응 및 시스템 유지관리를 포함합니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;4. 왜 &amp;lsquo;전체 프로세스&amp;rsquo;를 다루어야 하는가&lt;span class="hx:absolute hx:-mt-20" id="4-왜-전체-프로세스를-다루어야-하는가"&gt;&lt;/span&gt;
&lt;a href="#4-%ec%99%9c-%ec%a0%84%ec%b2%b4-%ed%94%84%eb%a1%9c%ec%84%b8%ec%8a%a4%eb%a5%bc-%eb%8b%a4%eb%a3%a8%ec%96%b4%ec%95%bc-%ed%95%98%eb%8a%94%ea%b0%80" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;파편화된 보안 방지&lt;/strong&gt;: 배포 직전 스캔 한 번으로 끝내는 것이 아니라, 시작부터 운영까지 전 과정에 보안을 내재화(Embedding Security)합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;성숙도 로드맵 제공&lt;/strong&gt;: 조직이 현재 어느 수준에 있는지 파악하고, 체크리스트를 넘어선 단계적 개선 경로를 제시합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;표준화된 검증&lt;/strong&gt;: 개발팀과 보안팀이 동일한 기준으로 소통하고, 감사(Audit) 요구에 일관되게 대응할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;5. 결론: &amp;ldquo;할 것인가 말 것인가&amp;quot;에서 &amp;ldquo;어떻게 생성할 것인가&amp;quot;로&lt;span class="hx:absolute hx:-mt-20" id="5-결론-할-것인가-말-것인가에서-어떻게-생성할-것인가로"&gt;&lt;/span&gt;
&lt;a href="#5-%ea%b2%b0%eb%a1%a0-%ed%95%a0-%ea%b2%83%ec%9d%b8%ea%b0%80-%eb%a7%90-%ea%b2%83%ec%9d%b8%ea%b0%80%ec%97%90%ec%84%9c-%ec%96%b4%eb%96%bb%ea%b2%8c-%ec%83%9d%ec%84%b1%ed%95%a0-%ea%b2%83%ec%9d%b8%ea%b0%80%eb%a1%9c" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;AI 코딩 에이전트가 보편화되면서 보안팀에게 남은 질문은 더 이상 &amp;ldquo;보안 검사를 할 것인가&amp;quot;가 아닙니다. 진짜 질문은 **&amp;ldquo;AI와 함께 안전한 코드를 어떻게 생성(Generate)할 것인가&amp;rdquo;**입니다.&lt;/p&gt;
&lt;p&gt;카메론 월터스의 메시지를 한 문장으로 요약하면 이렇습니다.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;보안 검사를 그만두라는 것이 아니다. 보안 검사를 &amp;lsquo;사후 반응(Reactive)&amp;lsquo;에서 &amp;lsquo;사전 생성(Generative)&amp;lsquo;으로 바꾸고, 이를 체계적으로 입증할 수 있는 탄탄한 파이프라인 표준을 갖추라.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Shift Left는 죽지 않았습니다. 오히려 AI 코딩 시대를 맞아 컨텍스트와 프롬프트 레벨까지 더 왼쪽으로, 더 깊숙이 이동했을 뿐입니다. 남은 과제는 이 흐름을 OWASP SPVS 같은 전체 수명주기 표준 위에 올려, &amp;ldquo;증명 가능한 보안&amp;quot;으로 완성하는 일입니다.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;본 글은 Cameron Walters의 최근 DevSecOps 및 제품 보안에 대한 통찰과 OWASP SPVS(Secure Pipeline Verification Standard) 프레임워크를 바탕으로 재구성되었습니다.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>AI와 협업할 때 '가이드라인'이 왜 필수일까? — 안전한 개발을 위한 AI 행동 강령</title><link>https://ai-security.metacog.co.kr/blog/ai-coding-agent-safety-rules/</link><pubDate>Fri, 19 Jun 2026 14:10:00 -0500</pubDate><guid>https://ai-security.metacog.co.kr/blog/ai-coding-agent-safety-rules/</guid><description>
&lt;p&gt;최근 소프트웨어 개발 현장에서 AI 코딩 에이전트는 없어서는 안 될 &amp;lsquo;천재적인 동료&amp;rsquo;가 되었습니다. 하지만 이 동료는 때때로 우리가 의도하지 않은 위험한 실수를 저지르기도 합니다. 프로젝트에 치명적인 보안 사고를 예방하고, 인간과 AI가 안전하게 협업하기 위해 반드시 필요한 &amp;lsquo;AI 행동 강령(Context rules)&amp;lsquo;의 중요성과 그 구조를 쉽게 풀어드립니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;1. 왜 AI에게 별도의 &amp;lsquo;행동 강령&amp;rsquo;이 필요한가요?&lt;span class="hx:absolute hx:-mt-20" id="1-왜-ai에게-별도의-행동-강령이-필요한가요"&gt;&lt;/span&gt;
&lt;a href="#1-%ec%99%9c-ai%ec%97%90%ea%b2%8c-%eb%b3%84%eb%8f%84%ec%9d%98-%ed%96%89%eb%8f%99-%ea%b0%95%eb%a0%b9%ec%9d%b4-%ed%95%84%ec%9a%94%ed%95%9c%ea%b0%80%ec%9a%94" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;전통적인 프로그래밍은 인간 개발자가 한 줄 한 줄 로직을 짭니다. 반면 AI는 학습된 데이터를 기반으로 확률적으로 코드를 제안합니다. 이 과정에서 AI는 &lt;strong&gt;보안보다는 기능 구현에 우선순위&lt;/strong&gt;를 두는 경향이 있어, 다음과 같은 위험에 노출될 수 있습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;보안 불감증:&lt;/strong&gt; 비밀번호나 API 키를 코드에 직접 적어버리는 실수.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;개인정보 침해:&lt;/strong&gt; 고객의 이름이나 연락처를 로그에 남기는 실수.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;통제 불가능:&lt;/strong&gt; 인간의 확인 없이 데이터베이스를 지우거나 배포를 진행하는 경우.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;2. AI 행동 강령(Context Rules)의 핵심 4요소&lt;span class="hx:absolute hx:-mt-20" id="2-ai-행동-강령context-rules의-핵심-4요소"&gt;&lt;/span&gt;
&lt;a href="#2-ai-%ed%96%89%eb%8f%99-%ea%b0%95%eb%a0%b9context-rules%ec%9d%98-%ed%95%b5%ec%8b%ac-4%ec%9a%94%ec%86%8c" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;프로젝트의 보안을 지키는 &amp;lsquo;콘텍스트 규칙&amp;rsquo;은 크게 네 가지 기둥으로 나뉩니다.&lt;/p&gt;
&lt;h3&gt;① 절대 무너지지 않는 보안 (Hard Rules)&lt;span class="hx:absolute hx:-mt-20" id="-절대-무너지지-않는-보안-hard-rules"&gt;&lt;/span&gt;
&lt;a href="#-%ec%a0%88%eb%8c%80-%eb%ac%b4%eb%84%88%ec%a7%80%ec%a7%80-%ec%95%8a%eb%8a%94-%eb%b3%b4%ec%95%88-hard-rules" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;비밀 절대 금지:&lt;/strong&gt; API 키나 토큰은 절대 코드에 넣지 말고 &lt;code&gt;.env&lt;/code&gt; 파일에 격리합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;클라이언트 vs 서버 분리:&lt;/strong&gt; 브라우저에서 읽히면 안 되는 인증 로직은 서버에만 둡니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;② 개발자의 &amp;lsquo;브레이크&amp;rsquo; 시스템 (Production Safety)&lt;span class="hx:absolute hx:-mt-20" id="-개발자의-브레이크-시스템-production-safety"&gt;&lt;/span&gt;
&lt;a href="#-%ea%b0%9c%eb%b0%9c%ec%9e%90%ec%9d%98-%eb%b8%8c%eb%a0%88%ec%9d%b4%ed%81%ac-%ec%8b%9c%ec%8a%a4%ed%85%9c-production-safety" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;AI가 운영 환경에 영향을 주는 코드를 변경할 때는 반드시 &lt;strong&gt;인간의 승인&lt;/strong&gt;이 필요합니다. &amp;ldquo;무엇을, 왜 바꾸려는지&amp;rdquo; AI가 스스로 요약하게 함으로써 인간이 리스크를 사전에 검토할 수 있도록 합니다.&lt;/p&gt;
&lt;h3&gt;③ 데이터 프라이버시 (Data &amp;amp; Privacy)&lt;span class="hx:absolute hx:-mt-20" id="-데이터-프라이버시-data--privacy"&gt;&lt;/span&gt;
&lt;a href="#-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ed%94%84%eb%9d%bc%ec%9d%b4%eb%b2%84%ec%8b%9c-data--privacy" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;AI가 개인정보(이름, 이메일, 전화번호 등)를 다루지 않도록 원천 차단합니다. 이는 현대 소프트웨어 개발에서 가장 중요한 &lt;strong&gt;컴플라이언스(Compliance)&lt;/strong&gt; 영역입니다.&lt;/p&gt;
&lt;h3&gt;④ 에스컬레이션 (Escalation)&lt;span class="hx:absolute hx:-mt-20" id="-에스컬레이션-escalation"&gt;&lt;/span&gt;
&lt;a href="#-%ec%97%90%ec%8a%a4%ec%bb%ac%eb%a0%88%ec%9d%b4%ec%85%98-escalation" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;AI가 혼자 해결하기 어려운 상황(테스트 실패, 복잡한 인증 로직 수정 등)이 오면, 무리하게 진행하지 않고 인간에게 도움을 요청하도록 정의합니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;3. 이 가이드라인이 가져오는 변화&lt;span class="hx:absolute hx:-mt-20" id="3-이-가이드라인이-가져오는-변화"&gt;&lt;/span&gt;
&lt;a href="#3-%ec%9d%b4-%ea%b0%80%ec%9d%b4%eb%93%9c%eb%9d%bc%ec%9d%b8%ec%9d%b4-%ea%b0%80%ec%a0%b8%ec%98%a4%eb%8a%94-%eb%b3%80%ed%99%94" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;단순히 규칙을 정하는 것을 넘어, 이 가이드라인은 **&amp;lsquo;책임감 있는 AI 생태계&amp;rsquo;**를 만듭니다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;실수 감소:&lt;/strong&gt; 보안 사고를 예방하여 유지보수 비용을 획기적으로 줄입니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;생산성 향상:&lt;/strong&gt; &amp;lsquo;어디까지 해도 되는지&amp;rsquo; 명확한 가이드가 있으므로 AI가 더 당당하고 정확하게 코드를 작성합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;지속 가능한 개발:&lt;/strong&gt; 개발팀의 노하우가 규칙으로 기록되어, 새로운 팀원이나 새로운 AI 모델이 투입되어도 동일한 수준의 보안을 유지할 수 있습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2&gt;결론: AI는 도구, 운전대는 인간이 잡아야 합니다&lt;span class="hx:absolute hx:-mt-20" id="결론-ai는-도구-운전대는-인간이-잡아야-합니다"&gt;&lt;/span&gt;
&lt;a href="#%ea%b2%b0%eb%a1%a0-ai%eb%8a%94-%eb%8f%84%ea%b5%ac-%ec%9a%b4%ec%a0%84%eb%8c%80%eb%8a%94-%ec%9d%b8%ea%b0%84%ec%9d%b4-%ec%9e%a1%ec%95%84%ec%95%bc-%ed%95%a9%eb%8b%88%eb%8b%a4" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;AI 행동 강령은 AI를 속박하는 것이 아니라, &lt;strong&gt;안전한 울타리 안에서 AI가 최대한의 능력을 발휘하도록 돕는 역할&lt;/strong&gt;을 합니다. 보안 사고는 한 번의 실수로 발생하지만, 잘 설계된 행동 강령은 수천 번의 실수를 사전에 막아줍니다.&lt;/p&gt;
&lt;p&gt;여러분의 프로젝트에도 지금 당장 AI를 위한 &amp;lsquo;행동 강령&amp;rsquo;을 도입해보시는 건 어떨까요? 안전한 코드, 그 시작은 명확한 가이드라인에서 출발합니다.&lt;/p&gt;
&lt;h2&gt;AI 행동 강령(Context Rules) 예시&lt;span class="hx:absolute hx:-mt-20" id="ai-행동-강령context-rules-예시"&gt;&lt;/span&gt;
&lt;a href="#ai-%ed%96%89%eb%8f%99-%ea%b0%95%eb%a0%b9context-rules-%ec%98%88%ec%8b%9c" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;하나의 예시로 &lt;code&gt;CONTEXT.md&lt;/code&gt; 파일의 내용은 다음과 같습니다.&lt;/p&gt;
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code"&gt;
&lt;div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# CONTEXT.md — AI Coding Agent Rules
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Who this is for
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;This file sets the rules for any AI agent working in this codebase.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Read this before generating, modifying, or reviewing any code.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Hard rules (never break these)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;### Credentials &amp;amp; secrets
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Never hardcode API keys, passwords, tokens, or secrets in code
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- All secrets go in environment variables (.env file) only
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Never commit .env files to version control
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- If you find a hardcoded credential, stop and flag it before doing anything else
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;### Frontend vs backend
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Never put authentication logic, password validation, or access control on the frontend
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- API keys must never be readable by a browser
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- User session flags must be validated server-side, not client-side
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- If you&amp;#39;re tempted to put something sensitive in JavaScript that runs in the browser — don&amp;#39;t
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;### Data &amp;amp; privacy
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Never log or expose personally identifiable information (PII): names, emails, SSNs, credit card numbers, phone numbers
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- If an input contains PII, redact it before passing it to any external service or LLM
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Do not store user data on external servers without explicit approval
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;### Packages &amp;amp; dependencies
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Only install packages from the approved list or official registries (npm, PyPI)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Never install a package you invented or that you&amp;#39;re not certain exists
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- If you&amp;#39;re unsure whether a package is real, ask before installing
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Pin all dependency versions explicitly
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Before touching production
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Stop. Write a plain-English summary of:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- What you are about to change
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Why
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- What could go wrong
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Whether a human needs to approve this first
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;High-stakes actions (database changes, auth changes, payment flows, sending emails) require explicit human sign-off before execution.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## How to handle errors
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- If a test fails, fix the code — do not delete or modify the test
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- If you can&amp;#39;t fix something, say so clearly rather than working around it
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Never mock a result to make a test pass
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Small changes only — modify the minimum number of files needed to accomplish the task
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## Security checks before every commit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Run these before any code leaves the machine:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- No hardcoded secrets (Semgrep or similar)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- No PII in logs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- No packages not present in requirements.txt / package.json before this session
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- No changes to authentication or access control logic without human review
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;## When to escalate to a human
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Escalate (don&amp;#39;t proceed autonomously) when:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- The change touches payment processing, authentication, or user data
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- You&amp;#39;re modifying more than 5 files at once
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- You&amp;#39;re adding a new external service or API integration
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- A test is failing and you don&amp;#39;t know why
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- Something feels off
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;*This file is part of the project&amp;#39;s security baseline. Do not modify without team approval.*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0"&gt;
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="코드 복사"
aria-label="코드 복사"
data-copied-label="복사됨!"
&gt;
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>중국의 새로운 AI 안전 기구 'CNAISDA'는 무엇인가?</title><link>https://ai-security.metacog.co.kr/blog/china-cnaisda-ai-safety-institute/</link><pubDate>Fri, 19 Jun 2026 12:49:06 -0500</pubDate><guid>https://ai-security.metacog.co.kr/blog/china-cnaisda-ai-safety-institute/</guid><description>
&lt;p&gt;글로벌 AI 거버넌스 지형에 새로운 변화가 생겼습니다. 미국, 영국 등 주요국이 각자의 &lt;strong&gt;AI 안전 연구소(AI Safety Institute, AISI)&lt;/strong&gt;를 세우고 &amp;lsquo;AI 안전 연구소 국제 네트워크(INAISI)&amp;lsquo;로 묶이는 동안, 그 흐름에서 비어 있던 한 자리, 바로 중국이 자체적인 대응 기구를 내놓았습니다. 스탠퍼드 대학 DigiChina의 분석을 바탕으로, 중국의 &lt;strong&gt;중국 인공지능 발전 및 안전 연구 네트워크(CNAISDA)&lt;/strong&gt;가 어떤 배경에서 등장했고 무엇을 의미하는지 정리해 보겠습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;1. 배경: 왜 중국은 &amp;lsquo;자기만의 AISI&amp;rsquo;가 필요했나&lt;span class="hx:absolute hx:-mt-20" id="1-배경-왜-중국은-자기만의-aisi가-필요했나"&gt;&lt;/span&gt;
&lt;a href="#1-%eb%b0%b0%ea%b2%bd-%ec%99%9c-%ec%a4%91%ea%b5%ad%ec%9d%80-%ec%9e%90%ea%b8%b0%eb%a7%8c%ec%9d%98-aisi%ea%b0%80-%ed%95%84%ec%9a%94%ed%96%88%eb%82%98" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;2023년 영국 블레츨리 파크 AI 안전 서밋을 기점으로 미국, 영국을 비롯한 주요국들은 각자의 정부 산하 AI 안전 연구소를 설립하고, 이들을 다시 &amp;lsquo;AI 안전 연구소 국제 네트워크(INAISI)&amp;lsquo;라는 협의체로 연결했습니다. 이 네트워크는 AI 모델의 위험성을 공동으로 평가하고, 안전 기준을 논의하는 사실상의 &lt;strong&gt;국제 AI 안전 거버넌스 허브&lt;/strong&gt; 역할을 해왔습니다.&lt;/p&gt;
&lt;p&gt;문제는 중국이 이 네트워크에서 배제되어 있었다는 점입니다. 세계 최대 AI 개발국 중 하나인 중국이 정작 국제 안전 표준을 논의하는 자리에는 발을 들이지 못한 셈입니다. 이는 중국 입장에서 두 가지 위기로 읽힐 수 있습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;발언권의 부재&lt;/strong&gt;: 자국에서 만들어지는 AI 모델에 적용될 국제 규범이, 중국 없이 서구 국가들 중심으로 결정될 위험&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;균형 전략과의 충돌&lt;/strong&gt;: 중국 정부가 견지해 온 &amp;lsquo;안보(安全)와 발전(發展)의 균형&amp;rsquo; 기조를 국제 무대에 투영할 통로의 부재&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;이러한 공백을 메우기 위해 등장한 것이 바로 CNAISDA입니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;2. 경과: 컨소시엄 형태로 등장한 CNAISDA&lt;span class="hx:absolute hx:-mt-20" id="2-경과-컨소시엄-형태로-등장한-cnaisda"&gt;&lt;/span&gt;
&lt;a href="#2-%ea%b2%bd%ea%b3%bc-%ec%bb%a8%ec%86%8c%ec%8b%9c%ec%97%84-%ed%98%95%ed%83%9c%eb%a1%9c-%eb%93%b1%ec%9e%a5%ed%95%9c-cnaisda" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;CNAISDA가 흥미로운 지점은 그 &lt;strong&gt;조직 형태&lt;/strong&gt;에 있습니다. 미국이나 영국의 AISI가 정부 산하의 단일 사무국 형태인 것과 달리, CNAISDA는 처음부터 다음과 같은 &lt;strong&gt;학술·연구 기관들의 연합(컨소시엄)&lt;/strong&gt; 형태로 출범했습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;칭화대학교(Tsinghua University)&lt;/li&gt;
&lt;li&gt;북경대학교(Peking University)&lt;/li&gt;
&lt;li&gt;중국과학원 자동화연구소(CASIA, Institute of Automation, Chinese Academy of Sciences)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;정부 부처가 전면에 나서는 대신 권위 있는 학술 기관들을 앞세운 이 구조는, 국제 학계 및 연구 커뮤니티와 보다 유연하게 소통하면서도 중국을 대표하는 공식 창구 역할을 동시에 수행하려는 의도로 해석됩니다. 다만 DigiChina의 분석에 따르면, 현재 CNAISDA의 &lt;strong&gt;웹사이트 정보는 매우 제한적&lt;/strong&gt;이며 구체적인 운영 주체나 의사결정 구조, 예산 출처 등은 명확히 공개되어 있지 않습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;3. 핵심: 명칭 속에 숨은 &amp;lsquo;안전&amp;rsquo;과 &amp;lsquo;발전&amp;rsquo;의 결합&lt;span class="hx:absolute hx:-mt-20" id="3-핵심-명칭-속에-숨은-안전과-발전의-결합"&gt;&lt;/span&gt;
&lt;a href="#3-%ed%95%b5%ec%8b%ac-%eb%aa%85%ec%b9%ad-%ec%86%8d%ec%97%90-%ec%88%a8%ec%9d%80-%ec%95%88%ec%a0%84%ea%b3%bc-%eb%b0%9c%ec%a0%84%ec%9d%98-%ea%b2%b0%ed%95%a9" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;CNAISDA를 이해하는 데 가장 중요한 단서는 바로 이름 자체입니다. 단순히 &amp;lsquo;AI 안전 연구소&amp;rsquo;가 아니라 &lt;strong&gt;&amp;lsquo;AI 발전 및 안전(Development And Safety)&amp;rsquo;&lt;/strong&gt;을 함께 명시했다는 점에서, 서구권의 AISI 모델과는 출발점이 다릅니다.&lt;/p&gt;
&lt;h3&gt;① &amp;lsquo;안전(安全)&amp;lsquo;이라는 단어의 중의성&lt;span class="hx:absolute hx:-mt-20" id="-안전安全이라는-단어의-중의성"&gt;&lt;/span&gt;
&lt;a href="#-%ec%95%88%ec%a0%84%e5%ae%89%e5%85%a8%ec%9d%b4%eb%9d%bc%eb%8a%94-%eb%8b%a8%ec%96%b4%ec%9d%98-%ec%a4%91%ec%9d%98%ec%84%b1" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;중국어 &amp;lsquo;안전(安全)&amp;lsquo;은 영어로 옮길 때 &lt;strong&gt;Safety&lt;/strong&gt;와 &lt;strong&gt;Security&lt;/strong&gt; 두 의미를 모두 포괄합니다. 서구의 AI 안전 논의가 주로 모델의 오작동, 편향, 정렬(alignment) 문제 등 &lt;strong&gt;Safety&lt;/strong&gt; 관점에 초점을 맞춰온 반면, 중국식 &amp;lsquo;안전&amp;rsquo;에는 국가 안보 차원의 &lt;strong&gt;Security&lt;/strong&gt; 함의가 자연스럽게 섞여 들어갑니다. 같은 단어를 쓰더라도 양측이 떠올리는 위험의 종류와 우선순위가 다를 수 있다는 뜻입니다.&lt;/p&gt;
&lt;h3&gt;② &amp;lsquo;발전&amp;rsquo;을 안전과 동급으로 명시&lt;span class="hx:absolute hx:-mt-20" id="-발전을-안전과-동급으로-명시"&gt;&lt;/span&gt;
&lt;a href="#-%eb%b0%9c%ec%a0%84%ec%9d%84-%ec%95%88%ec%a0%84%ea%b3%bc-%eb%8f%99%ea%b8%89%ec%9c%bc%eb%a1%9c-%eb%aa%85%ec%8b%9c" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;명칭에 &amp;lsquo;발전&amp;rsquo;을 나란히 새겨 넣은 것은 중국 정부가 오랫동안 강조해 온 &lt;strong&gt;안보와 발전의 균형&lt;/strong&gt; 기조와 정확히 맞닿아 있습니다. 즉 CNAISDA는 AI의 위험을 통제하는 기구이면서, 동시에 AI 기술 발전을 저해하지 않는다는 전제를 분명히 못박은 기구이기도 합니다. 이는 안전을 발전의 제약 조건이 아닌 발전과 병렬적인 목표로 위치시키는 접근입니다.&lt;/p&gt;
&lt;h3&gt;③ 여전한 불확실성&lt;span class="hx:absolute hx:-mt-20" id="-여전한-불확실성"&gt;&lt;/span&gt;
&lt;a href="#-%ec%97%ac%ec%a0%84%ed%95%9c-%eb%b6%88%ed%99%95%ec%8b%a4%ec%84%b1" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;운영 실체와 정보가 충분히 공개되지 않은 현재로서는, CNAISDA가 실제로 어떤 평가 방법론을 쓰고 누구와 어떤 수준의 협력을 할지는 단정하기 어렵습니다. 형식만 갖춘 외교적 제스처에 그칠지, 실질적인 연구·평가 역량을 갖춘 기구로 발전할지는 향후 행보를 지켜봐야 하는 대목입니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;4. 시사점&lt;span class="hx:absolute hx:-mt-20" id="4-시사점"&gt;&lt;/span&gt;
&lt;a href="#4-%ec%8b%9c%ec%82%ac%ec%a0%90" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;CNAISDA의 등장은 단순한 기구 하나의 신설을 넘어, 글로벌 AI 거버넌스 구도에 다음과 같은 함의를 던집니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;다극화하는 AI 안전 거버넌스&lt;/strong&gt;: INAISI 중심의 단일 네트워크 바깥에 또 하나의 축이 생겨났다는 것은, AI 안전 논의가 더 이상 서구 주도의 단일 트랙으로만 진행되지 않을 수 있음을 보여줍니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;용어 합의의 중요성 부각&lt;/strong&gt;: &amp;lsquo;안전&amp;rsquo;이라는 같은 단어 아래 Safety와 Security가 혼재될 경우, 향후 국제 공동 평가나 표준 논의에서 개념적 마찰이 발생할 가능성이 있습니다. 실질적인 협력을 위해서는 용어와 평가 기준에 대한 사전 정렬이 선행되어야 할 것입니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;참여 허용 수준이 관전 포인트&lt;/strong&gt;: 미·중 AI 기술 경쟁이 격화되는 가운데, 서구 국가들이 CNAISDA를 INAISI와 같은 신뢰 수준의 파트너로 받아들일지, 혹은 제한적인 정보 교류 채널 정도로만 취급할지는 여전히 미지수입니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;투명성이 신뢰의 전제 조건&lt;/strong&gt;: 운영 주체와 방법론이 명확히 공개되지 않는 한, CNAISDA가 국제 사회에서 실질적인 협력 파트너로 인정받기는 쉽지 않을 것입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;한 줄로 정리하면, &lt;strong&gt;중국은 글로벌 AI 안전 규범 논의에서 소외되지 않기 위해 주요 학술 기관들을 묶어 CNAISDA를 출범시켰고, 이를 통해 &amp;lsquo;AI 안전&amp;rsquo;과 &amp;lsquo;AI 발전&amp;rsquo;을 동시에 대변하는 공식 창구를 마련&lt;/strong&gt;했습니다. 다만 그 실질적 영향력은 운영 투명성 확보와 서구 국가들의 수용 여부에 따라 결정될 것으로 보입니다.&lt;/p&gt;</description></item><item><title>AI 에이전트의 안전한 코드 실행: 코드 실행 샌드박스 인프라 동향</title><link>https://ai-security.metacog.co.kr/blog/ai-sandbox/</link><pubDate>Fri, 19 Jun 2026 11:13:57 -0500</pubDate><guid>https://ai-security.metacog.co.kr/blog/ai-sandbox/</guid><description>
&lt;p&gt;최근 Devin, Claude Code 등 AI 에이전트가 인간의 개입 없이 직접 코드를 작성하고 실행하는 &lt;strong&gt;‘에이전틱 AI(Agentic AI)’&lt;/strong&gt; 시대가 도래했습니다. 이에 따라 AI 안전(AI Safety) 분야에서 가장 핵심적인 인프라로 &lt;strong&gt;&amp;lsquo;AI 에이전트 전용 코드 실행 샌드박스(Code Execution Sandbox)&amp;rsquo;&lt;/strong&gt; 플랫폼이 떠오르고 있습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;왜 AI 전용 샌드박스가 필요한가?&lt;span class="hx:absolute hx:-mt-20" id="왜-ai-전용-샌드박스가-필요한가"&gt;&lt;/span&gt;
&lt;a href="#%ec%99%9c-ai-%ec%a0%84%ec%9a%a9-%ec%83%8c%eb%93%9c%eb%b0%95%ec%8a%a4%ea%b0%80-%ed%95%84%ec%9a%94%ed%95%9c%ea%b0%80" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;AI가 생성한 코드는 검수 전까지 무한 루프(자원 고갈), 악성 스크립트, 보안 취약점 공격 등의 위험을 내포할 수 있습니다. 이를 일반 서버나 도커(Docker)에서 그대로 실행하면 호스트 OS가 감염되거나 데이터가 탈취될 수 있습니다. 따라서 AI 안전을 위해 다음 두 가지 요소가 필수적입니다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;초고속 부팅&lt;/strong&gt;: AI의 작업 속도를 저해하지 않는 실행 속도.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;완벽한 격리&lt;/strong&gt;: 호스트 시스템에 영향을 주지 않는 하드웨어 수준의 보안.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2&gt;주요 샌드박스 플랫폼 동향&lt;span class="hx:absolute hx:-mt-20" id="주요-샌드박스-플랫폼-동향"&gt;&lt;/span&gt;
&lt;a href="#%ec%a3%bc%ec%9a%94-%ec%83%8c%eb%93%9c%eb%b0%95%ec%8a%a4-%ed%94%8c%eb%9e%ab%ed%8f%bc-%eb%8f%99%ed%96%a5" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;현재 이 시장을 리드하는 대표적인 플랫폼들과 그 특징을 정리했습니다.&lt;/p&gt;
&lt;h3&gt;1. &lt;a
href="https://e2b.dev/"target="_blank" rel="noopener"&gt;E2B&lt;/a&gt;&lt;span class="hx:absolute hx:-mt-20" id="1-e2b"&gt;&lt;/span&gt;
&lt;a href="#1-e2b" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;AI 에이전트 전용 오픈소스 샌드박스의 선두 주자입니다. Firecracker MicroVM을 사용하여 커널 수준에서 완벽하게 격리합니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;특징&lt;/strong&gt;: 150ms 내외의 초고속 샌드박스 생성. Perplexity, Hugging Face 등에서 채택.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;사용법&lt;/strong&gt;:
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code"&gt;
&lt;div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;e2b&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Sandbox&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 샌드박스 실행&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;Sandbox&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;template&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;base&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;sandbox&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;sandbox&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;process&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;python3 -c &amp;#39;print(&lt;/span&gt;&lt;span class="se"&gt;\&amp;#34;&lt;/span&gt;&lt;span class="s2"&gt;Hello, AI!&lt;/span&gt;&lt;span class="se"&gt;\&amp;#34;&lt;/span&gt;&lt;span class="s2"&gt;)&amp;#39;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0"&gt;
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="코드 복사"
aria-label="코드 복사"
data-copied-label="복사됨!"
&gt;
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;2. &lt;a
href="https://modal.com/"target="_blank" rel="noopener"&gt;Modal&lt;/a&gt;&lt;span class="hx:absolute hx:-mt-20" id="2-modal"&gt;&lt;/span&gt;
&lt;a href="#2-modal" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;AI/ML 워크로드에 최적화된 서버리스 인프라로, GPU 자원이 필요한 무거운 작업을 안전하게 실행할 때 강점을 보입니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;특징&lt;/strong&gt;: gVisor 기술을 통한 보안 격리 및 수만 개의 컨테이너 동시 분산 처리.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;3. &lt;a
href="https://www.daytona.io/"target="_blank" rel="noopener"&gt;Daytona&lt;/a&gt;&lt;span class="hx:absolute hx:-mt-20" id="3-daytona"&gt;&lt;/span&gt;
&lt;a href="#3-daytona" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;개발 환경(Workspace) 중심의 샌드박스 인프라입니다. AI 에이전트가 사람처럼 완전한 개발 공간(파일 트리, Git 통합 등)에서 테스트를 수행할 수 있게 합니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;특징&lt;/strong&gt;: AI 에이전트용 RESTful API 제공, 지속성(Stateful) 유지.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;사용법&lt;/strong&gt;:
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code"&gt;
&lt;div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;daytona&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Daytona&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;daytona&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Daytona&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sandbox&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;daytona&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;create&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;# 샌드박스 생성&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sandbox&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;process&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;echo &amp;#39;Hello World&amp;#39;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 코드 실행&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;daytona&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sandbox&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 정리&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0"&gt;
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="코드 복사"
aria-label="코드 복사"
data-copied-label="복사됨!"
&gt;
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;4. &lt;a
href="https://blaxel.ai/"target="_blank" rel="noopener"&gt;Blaxel&lt;/a&gt;&lt;span class="hx:absolute hx:-mt-20" id="4-blaxel"&gt;&lt;/span&gt;
&lt;a href="#4-blaxel" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&amp;lsquo;퍼페추얼(Perpetual) 샌드박스&amp;rsquo;를 표방합니다. 요청 시 25ms 만에 활성화되며, 상태를 유지하여 비용 효율적인 실행을 돕습니다.&lt;/p&gt;
&lt;h3&gt;5. &lt;a
href="https://docs.cloud.google.com/kubernetes-engine/docs/how-to/agent-sandbox?hl=ko"target="_blank" rel="noopener"&gt;Google GKE &amp;lsquo;Agent Sandbox&amp;rsquo;&lt;/a&gt;&lt;span class="hx:absolute hx:-mt-20" id="5-google-gke"&gt;&lt;/span&gt;
&lt;a href="#5-google-gke" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;쿠버네티스 엔진 내부에 내장된 초경량 격리 구역입니다. 기업 인프라 환경에서 AI 에이전트를 운영할 때 보안을 강화하는 데 최적화되어 있습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;요약 및 결론&lt;span class="hx:absolute hx:-mt-20" id="요약-및-결론"&gt;&lt;/span&gt;
&lt;a href="#%ec%9a%94%ec%95%bd-%eb%b0%8f-%ea%b2%b0%eb%a1%a0" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;과거의 보안이 &amp;lsquo;외부 해커의 침입을 막는 것&amp;rsquo;이었다면, **현재의 AI 안전 인프라는 &amp;lsquo;AI가 생성한 코드가 스스로 시스템을 파괴하는 것을 막는 것&amp;rsquo;**으로 패러다임이 바뀌었습니다.&lt;/p&gt;
&lt;p&gt;에이전틱 AI를 개발하거나 운영 중이라면, 위와 같은 샌드박스 플랫폼을 인프라에 통합하여 안전한 &amp;lsquo;디지털 감옥&amp;rsquo; 환경을 구축하는 것이 필수적입니다. 귀사의 워크플로우에 맞는 도구를 선택하여 AI가 마음껏 실험하고 학습할 수 있는 환경을 조성해 보세요.&lt;/p&gt;</description></item><item><title>우리 집 ‘안전 문지기’를 소개합니다: 보안 게이트웨이의 비밀</title><link>https://ai-security.metacog.co.kr/blog/security-gateway-reverse-proxy/</link><pubDate>Fri, 19 Jun 2026 11:13:23 -0500</pubDate><guid>https://ai-security.metacog.co.kr/blog/security-gateway-reverse-proxy/</guid><description>
&lt;p&gt;인터넷 서비스를 개발하고 배포할 때, 누구나 한 번쯤은 이런 두려움 섞인 고민을 하게 됩니다.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;내가 공들여 만든 AI 모델 API를 세상에 공개하고 싶은데, 혹시 해커나 이상한 사람이 들어와서 서버를 통째로 마비시키면 어떡하지?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;코딩하고 모델 튜닝하기에도 벅찬데 네트워크 보안과 인증, 암호화까지 챙기려니 눈앞이 캄캄해지기 마련입니다. 오늘은 이러한 고민을 한 방에 해결해 주는 고마운 존재, &lt;strong&gt;보안 게이트웨이(리버스 프록시, Reverse Proxy)&lt;/strong&gt;에 대해 아주 쉽고 흥미로운 비유와 시각적인 다이어그램을 곁들여 설명해 드리겠습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;🏠 우리 집의 &amp;lsquo;보안 문지기&amp;rsquo; 비유&lt;span class="hx:absolute hx:-mt-20" id="-우리-집의-보안-문지기-비유"&gt;&lt;/span&gt;
&lt;a href="#-%ec%9a%b0%eb%a6%ac-%ec%a7%91%ec%9d%98-%eb%b3%b4%ec%95%88-%eb%ac%b8%ec%a7%80%ea%b8%b0-%eb%b9%84%ec%9c%a0" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;보안 게이트웨이를 우리 일상 속 건물이나 집의 경비 시스템에 비유해 보겠습니다.&lt;/p&gt;
&lt;p&gt;여러분이 개발한 API 서버는 &lt;strong&gt;&amp;ldquo;매우 중요하고 기밀성이 높은 서류들이 보관된 방&amp;rdquo;&lt;/strong&gt;입니다. 이 방 안의 서류철은 비즈니스를 굴리는 핵심이지만, 낯선 외부인과 직접 마주하여 시시콜콜한 대화를 나누거나 신원을 파악하는 능력은 없습니다. 오직 문서 정리(AI 연산 및 비즈니스 로직)만 할 줄 아는 전문가죠.&lt;/p&gt;
&lt;p&gt;그래서 우리는 이 방 문을 꼭꼭 걸어 잠그고, 복도 맨 앞에 까다롭고 일 잘하는 &lt;strong&gt;&amp;ldquo;보안 문지기(리버스 프록시)&amp;quot;&lt;/strong&gt;를 한 명 세워두기로 했습니다. 외부 방문객은 오직 이 문지기만을 거쳐야 하고, 방 안의 서류철은 문지기가 안전하게 검수해서 건네준 업무 요청서만 안전하게 처리하게 됩니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;📊 보안 게이트웨이 동작 흐름도 (Mermaid)&lt;span class="hx:absolute hx:-mt-20" id="-보안-게이트웨이-동작-흐름도-mermaid"&gt;&lt;/span&gt;
&lt;a href="#-%eb%b3%b4%ec%95%88-%ea%b2%8c%ec%9d%b4%ed%8a%b8%ec%9b%a8%ec%9d%b4-%eb%8f%99%ec%9e%91-%ed%9d%90%eb%a6%84%eb%8f%84-mermaid" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;클라이언트(방문객)의 요청이 어떤 단계를 거쳐 실제 API 서버(기밀 방)에 전달되는지 눈으로 확인해 보세요.&lt;/p&gt;
&lt;div role="img" aria-label="다이어그램"&gt;
&lt;pre class="mermaid hx:mt-6"&gt;
sequenceDiagram
autonumber
actor Client as 낯선 방문객 (외부 사용자)
participant Proxy as 보안 문지기 (Reverse Proxy / Nginx)
participant API as API 서버 (127.0.0.1 / Localhost)
Note over Client, Proxy: 1. 보안 우편 전달 (HTTPS/TLS 연결 요청)
Client-&amp;gt;&amp;gt;Proxy: HTTPS 요청 (암호화된 봉투 + API Key 초대장)
Note over Proxy: 2. 신원 검문 및 우편 해독
rect rgb(240, 248, 255)
Proxy--&amp;gt;&amp;gt;Proxy: API Key 유효성 검사 (실패 시 즉시 401 반환)
Proxy--&amp;gt;&amp;gt;Proxy: TLS Termination (암호화 봉투 개봉)
Proxy--&amp;gt;&amp;gt;Proxy: 입력값 검증 및 속도 제어 (DDoS 방지)
end
Note over Proxy, API: 3. 검증된 요청만 내부 전달 (Localhost)
Proxy-&amp;gt;&amp;gt;API: HTTP 내부 전송 (안전하고 해독된 알맹이 정보)
Note over API: 4. 핵심 비즈니스 연산 (AI 추론)
API--&amp;gt;&amp;gt;Proxy: HTTP 결과 반환 (결과 보고서)
Note over Proxy, Client: 5. 다시 암호화하여 외부 발송
Proxy--&amp;gt;&amp;gt;Client: HTTPS 응답 (암호화된 결과 전달)
&lt;/pre&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;h2&gt;🛡️ 보안 문지기가 제공하는 4가지 마법과 핵심 역할&lt;span class="hx:absolute hx:-mt-20" id="-보안-문지기가-제공하는-4가지-마법과-핵심-역할"&gt;&lt;/span&gt;
&lt;a href="#-%eb%b3%b4%ec%95%88-%eb%ac%b8%ec%a7%80%ea%b8%b0%ea%b0%80-%ec%a0%9c%ea%b3%b5%ed%95%98%eb%8a%94-4%ea%b0%80%ec%a7%80-%eb%a7%88%eb%b2%95%ea%b3%bc-%ed%95%b5%ec%8b%ac-%ec%97%ad%ed%95%a0" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;구체적으로 이 문지기(리버스 프록시)가 어떤 원리로 우리의 소중한 서비스를 지키는지 살펴보겠습니다.&lt;/p&gt;
&lt;h3&gt;① 낯선 사람의 직접 접근 차단 (127.0.0.1 바인딩의 마법)&lt;span class="hx:absolute hx:-mt-20" id="-낯선-사람의-직접-접근-차단-127001-바인딩의-마법"&gt;&lt;/span&gt;
&lt;a href="#-%eb%82%af%ec%84%a0-%ec%82%ac%eb%9e%8c%ec%9d%98-%ec%a7%81%ec%a0%91-%ec%a0%91%ea%b7%bc-%ec%b0%a8%eb%8b%a8-127001-%eb%b0%94%ec%9d%b8%eb%94%a9%ec%9d%98-%eb%a7%88%eb%b2%95" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;보통 아무런 설정 없이 서버 프로그램을 실행하면 모든 네트워크 포트를 열어두는 &lt;code&gt;0.0.0.0&lt;/code&gt; 주소로 바인딩(Binding)됩니다. 이는 길 가던 행인 누구나 우리 집 안방 창문을 통해 방 안을 들여다보고 들어올 수 있도록 방치하는 것과 같습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;해결책&lt;/strong&gt;: 우리는 진짜 API 서버를 외부 인터넷망과 연결되지 않는 내부망 전용 주소인 &lt;strong&gt;&lt;code&gt;127.0.0.1&lt;/code&gt; (localhost)로만 바인딩&lt;/strong&gt;하도록 설정을 강제합니다. 이로써 외부 컴퓨터는 어떤 경로로도 이 API 서버에 직접 포트 접속을 시도할 수 없습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;문지기의 역할&lt;/strong&gt;: 오직 리버스 프록시(Nginx 등)만이 외부 주소(예: &lt;code&gt;0.0.0.0&lt;/code&gt; 또는 공인 IP)로 바인딩되어 외부 요청을 유일하게 수신합니다. 문지기가 요청을 꼼꼼하게 검수한 뒤, 안전하다고 판단되었을 때만 내부 통로(&lt;code&gt;127.0.0.1&lt;/code&gt;)를 통해 안방의 API 서버로 요청을 패스합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;② 철저한 신분 확인 (API Key 인증)&lt;span class="hx:absolute hx:-mt-20" id="-철저한-신분-확인-api-key-인증"&gt;&lt;/span&gt;
&lt;a href="#-%ec%b2%a0%ec%a0%80%ed%95%9c-%ec%8b%a0%eb%b6%84-%ed%99%95%ec%9d%b8-api-key-%ec%9d%b8%ec%a6%9d" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;문지기가 없이 안방 서류 담당자가 직접 검문까지 해야 한다면, 스팸 메일이나 무단 침입자를 걸러내느라 본업인 서류 분석은 손도 대지 못하고 서버 성능이 저하될 것입니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;해결책&lt;/strong&gt;: 외부 사용자가 요청을 보낼 때 HTTP 헤더에 &lt;strong&gt;초대장(API Key 또는 JWT 토큰)&lt;/strong&gt;을 동봉하게 만듭니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;문지기의 역할&lt;/strong&gt;: 요청이 도착하면 문지기는 안방 서버로 연결하기 전에 헤더를 낚아채 &amp;ldquo;초대장이 있는가?&amp;rdquo; 그리고 &amp;ldquo;유효한 초대장인가?&amp;ldquo;를 먼저 조회합니다. 유효하지 않은 초대장이거나 초대장이 누락되었다면, 안방 서버는 상대방이 온 사실조차 모르게 차단하고 문지기 선에서 &lt;strong&gt;&lt;code&gt;401 Unauthorized&lt;/code&gt; 또는 &lt;code&gt;403 Forbidden&lt;/code&gt; 에러를 응답&lt;/strong&gt;하며 즉시 돌려보냅니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;③ 암호화된 우편 서비스 (TLS Termination)&lt;span class="hx:absolute hx:-mt-20" id="-암호화된-우편-서비스-tls-termination"&gt;&lt;/span&gt;
&lt;a href="#-%ec%95%94%ed%98%b8%ed%99%94%eb%90%9c-%ec%9a%b0%ed%8e%b8-%ec%84%9c%eb%b9%84%ec%8a%a4-tls-termination" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;오늘날 인터넷 통신은 도중에 데이터가 도청되거나 변조되는 것을 막기 위해 강력히 암호화된 통신 규격(HTTPS/TLS)을 기본으로 사용합니다. 암호화된 통신 봉투를 뜯고 분석하는 연산은 CPU 리소스를 많이 소모하는 꽤 고된 작업입니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;해결책&lt;/strong&gt;: 안방의 API 서버는 골치 아픈 암호 해독 작업에서 완전히 손을 떼고, 오직 비즈니스 로직이나 AI 모델 추론에만 집중하게 만듭니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;문지기의 역할&lt;/strong&gt;: 문지기가 가장 앞단에서 HTTPS 암호 봉투를 대신 받아 봉투를 뜯고 평문 텍스트로 해독하는 작업을 전담합니다. 이 기법을 &lt;strong&gt;TLS 종료(TLS Termination)&lt;/strong&gt;라고 부릅니다. 문지기는 해독된 내용물(HTTP요청)을 깨끗하게 정리하여 내부 가상 통로(&lt;code&gt;localhost&lt;/code&gt;)로 API 서버에 안전하게 넘겨줍니다. 덕분에 API 서버는 연산 오버헤드 없이 최상의 추론 속도를 유지할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;④ 수상한 행동 즉시 거절 (입력 검증 및 Rate Limiting)&lt;span class="hx:absolute hx:-mt-20" id="-수상한-행동-즉시-거절-입력-검증-및-rate-limiting"&gt;&lt;/span&gt;
&lt;a href="#-%ec%88%98%ec%83%81%ed%95%9c-%ed%96%89%eb%8f%99-%ec%a6%89%ec%8b%9c-%ea%b1%b0%ec%a0%88-%ec%9e%85%eb%a0%a5-%ea%b2%80%ec%a6%9d-%eb%b0%8f-rate-limiting" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;악의적인 사용자들은 가짜 서류 봉투 안에 엄청나게 큰 돌덩어리를 집어넣거나(비정상적인 대용량 입력), 1초에 수천 번씩 방 문을 두드려 문지기와 담당자를 지치게 만드는 공격(DDoS/Rate Attack)을 시도합니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;해결책&lt;/strong&gt;: 입력 규격 검사 및 단위 시간당 요청 속도 제한 규칙을 도입합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;문지기의 역할&lt;/strong&gt;: 리버스 프록시는 &lt;strong&gt;속도 제한(Rate Limiting) 기능&lt;/strong&gt;을 통해 한 IP당 1초에 보낼 수 있는 요청 횟수를 제한합니다. 임계치를 초과하거나 입력 파라미터 규격이 악성 페이로드(SQL Injection 등)로 의심되는 경우, 문지기는 안방 서버로 요청을 보내지 않고 그 자리에서 요청을 컷합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;⑤ 너무 많은 손님이 몰려올 때 (429 Too Many Requests)&lt;span class="hx:absolute hx:-mt-20" id="-너무-많은-손님이-몰려올-때-429-too-many-requests"&gt;&lt;/span&gt;
&lt;a href="#-%eb%84%88%eb%ac%b4-%eb%a7%8e%ec%9d%80-%ec%86%90%eb%8b%98%ec%9d%b4-%eb%aa%b0%eb%a0%a4%ec%98%ac-%eb%95%8c-429-too-many-requests" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;문지기가 손님을 막아서는 가장 대표적인 응답이 바로 &lt;strong&gt;&lt;code&gt;429 Too Many Requests&lt;/code&gt;&lt;/strong&gt; 오류입니다. 1초에 100명만 받을 수 있는 식당에 200명이 한꺼번에 들이닥쳤을 때, 가게가 &amp;ldquo;잠시만 기다려 주세요, 지금은 손님이 너무 많습니다&amp;quot;라고 정중히 돌려보내는 상황과 같습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;왜 발생하는가&lt;/strong&gt;: API Gateway의 스테이지(Stage)나 메서드에 설정된 &lt;strong&gt;사용량 계획(Usage Plan)&lt;/strong&gt; 또는 계정 수준의 제한을 넘어서는 초당 요청 수(RPS)가 들어왔을 때 발생합니다. 특정 클라이언트의 과도한 호출이 전체 시스템을 다운시키는 것을 막기 위한 일종의 가드레일(보호 장치)이며, 문지기가 안방 서버에 부담을 주지 않으려고 스스로 거절하는 것이지 안방 서버 자체에 문제가 생긴 것은 아닙니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;502 Bad Gateway&lt;/code&gt;와의 차이&lt;/strong&gt;: 429는 &lt;strong&gt;문지기가 스스로 요청을 거절&lt;/strong&gt;한 상황이고, 502는 문지기는 정상인데 &lt;strong&gt;안방(백엔드)이 응답을 제대로 주지 못한&lt;/strong&gt; 상황입니다. 전자는 &amp;ldquo;너무 바빠서 못 받겠다&amp;quot;는 거절 신호이고, 후자는 &amp;ldquo;안에서 문제가 생겼다&amp;quot;는 장애 신호입니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;해결 전략&lt;/strong&gt;: &lt;strong&gt;사용량 계획 조정&lt;/strong&gt;(정당한 사용자라면 API 키별 한도를 합리적으로 상향), &lt;strong&gt;지수 백오프와 지터(Exponential Backoff &amp;amp; Jitter)&lt;/strong&gt;(클라이언트가 짧은 간격으로 계속 재시도하지 않고 대기 시간을 점진적으로 늘려가며 재요청), &lt;strong&gt;캐싱(Caching) 활용&lt;/strong&gt;(동일한 요청이 안방 서버까지 가지 않도록 문지기 단계에서 결과를 캐싱)을 함께 적용합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;💡 왜 이 문지기(Reverse Proxy)가 웹 서비스 배포에 필수적일까요?&lt;span class="hx:absolute hx:-mt-20" id="-왜-이-문지기reverse-proxy가-웹-서비스-배포에-필수적일까요"&gt;&lt;/span&gt;
&lt;a href="#-%ec%99%9c-%ec%9d%b4-%eb%ac%b8%ec%a7%80%ea%b8%b0reverse-proxy%ea%b0%80-%ec%9b%b9-%ec%84%9c%eb%b9%84%ec%8a%a4-%eb%b0%b0%ed%8f%ac%ec%97%90-%ed%95%84%ec%88%98%ec%a0%81%ec%9d%bc%ea%b9%8c%ec%9a%94" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;우리가 학습이나 개발 단계에서 흔히 호스트 주소를 &lt;code&gt;0.0.0.0&lt;/code&gt;으로 열어두는 것은 &lt;strong&gt;&amp;ldquo;우리 집 대문을 활짝 열어둔 채 귀중품을 두고 외출하는 행위&amp;rdquo;&lt;/strong&gt;와 다름없습니다.&lt;/p&gt;
&lt;p&gt;반면, 그 앞에 Nginx나 Apache, Envoy, Traefik 같은 전문 리버스 프록시 솔루션을 문지기로 배치하는 것은 &lt;strong&gt;&amp;ldquo;건물 입구에 전문 보안 업체 경비 요원들이 상주하는 로비 데스크를 설치하는 것&amp;rdquo;&lt;/strong&gt;과 같습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;비즈니스 로직(AI 모델 연산)은 오직 로직 구현에만 집중!&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;보안, 암호화, 트래픽 제어, 도메인 매핑은 전문 시스템(리버스 프록시)이 일괄 해결!&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;이것이 바로 실제 엔터프라이즈 환경 및 보안 가이드라인에서 프론트 서버로 게이트웨이를 필수적으로 배치하고, 백엔드 API 서버는 로컬 호스트(&lt;code&gt;127.0.0.1&lt;/code&gt;) 내부망에 철저히 숨겨두는 핵심 아키텍처적 이유입니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;🚀 실무 실습으로 직접 구축해 보세요!&lt;span class="hx:absolute hx:-mt-20" id="-실무-실습으로-직접-구축해-보세요"&gt;&lt;/span&gt;
&lt;a href="#-%ec%8b%a4%eb%ac%b4-%ec%8b%a4%ec%8a%b5%ec%9c%bc%eb%a1%9c-%ec%a7%81%ec%a0%91-%ea%b5%ac%ec%b6%95%ed%95%b4-%eb%b3%b4%ec%84%b8%ec%9a%94" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;이론을 알았으니 직접 손으로 세팅해 보며 안전한 문지기를 세우는 경험을 해보고 싶지 않으신가요?&lt;/p&gt;
&lt;p&gt;저희 지식베이스의 &lt;strong&gt;&lt;a
href="../../labs/lab4-model-serving-security/"&gt;Lab 4: AI 모델 서빙 API 보안 점검&lt;/a&gt;&lt;/strong&gt; 에서는 아래와 같은 실전적인 보안 강화를 함께 직접 실습해 볼 수 있습니다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;포트 및 바인딩 숨기기&lt;/strong&gt;: FastAPI 또는 Flask/Gunicorn 서버의 호스트 설정을 &lt;code&gt;0.0.0.0&lt;/code&gt;에서 &lt;code&gt;127.0.0.1&lt;/code&gt;로 수정하여 외부 노출 제거하기&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nginx 리버스 프록시 설치 및 구성&lt;/strong&gt;: 외부의 &lt;code&gt;80&lt;/code&gt; 또는 &lt;code&gt;443&lt;/code&gt; 포트로 들어오는 요청을 백엔드의 &lt;code&gt;8000&lt;/code&gt; 로컬 포트로 안전하게 라우팅(Proxy Pass)하는 설정 파일 작성하기&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TLS 인증서 적용 및 HSTS 적용&lt;/strong&gt;: 무료 Let&amp;rsquo;s Encrypt 인증서를 활용해 HTTPS 통신 환경을 구축하고 통신 암호화하기&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API Key 미들웨어 구현&lt;/strong&gt;: 클라이언트 요청의 헤더를 검증하여 허가받지 않은 악성 호출을 즉시 차단하는 가드레일 코드 추가하기&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;보안은 결코 복잡하고 거창한 시스템이 아닙니다. &lt;strong&gt;&amp;ldquo;누가 내 서버에 직접 닿을 수 있는가?&amp;quot;&lt;/strong&gt;, &lt;strong&gt;&amp;ldquo;그 방문자가 들고 온 패킷은 안전한가?&amp;quot;&lt;/strong&gt;를 명확하게 통제하는 사소한 원칙에서 출발합니다.&lt;/p&gt;
&lt;p&gt;지금 즉시 여러분의 웹 서비스 앞에 든든한 안전 문지기를 세워 안전하고 강인한 프로덕션 배포를 완성해 보세요!&lt;/p&gt;</description></item><item><title>전통 소프트웨어 vs. AI 모델의 차이와 AI 거버넌스·정책·입법 완벽 정리</title><link>https://ai-security.metacog.co.kr/blog/ai-governance-and-policy-guide/</link><pubDate>Fri, 19 Jun 2026 10:28:04 -0500</pubDate><guid>https://ai-security.metacog.co.kr/blog/ai-governance-and-policy-guide/</guid><description>
&lt;p&gt;AI 기술이 전례 없는 속도로 발전함에 따라, 이를 안전하고 유익하게 통제하기 위한 &amp;lsquo;AI 거버넌스&amp;rsquo;의 중요성이 그 어느 때보다 커지고 있습니다. 전통적인 소프트웨어와 AI 모델의 근본적인 차이점부터 시작해, AI 거버넌스(Governance)·정책(Policy)·입법(Legislation)의 명확한 위계와 경계, 그리고 미래 초지능(ASI)이 가져올 위험과 혜택, 다양한 국가/주 단위의 최신 규제 법안 사례까지 한눈에 비교 정리해 드립니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;1. 전통 소프트웨어 vs. AI 모델 비교&lt;span class="hx:absolute hx:-mt-20" id="1-전통-소프트웨어-vs-ai-모델-비교"&gt;&lt;/span&gt;
&lt;a href="#1-%ec%a0%84%ed%86%b5-%ec%86%8c%ed%94%84%ed%8a%b8%ec%9b%a8%ec%96%b4-vs-ai-%eb%aa%a8%eb%8d%b8-%eb%b9%84%ea%b5%90" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;전통적인 소프트웨어와 현대의 AI 모델은 개발 방식, 예측 가능성, 오류 수정 메커니즘 등 거의 모든 면에서 근본적인 차이를 보입니다.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;구분&lt;/th&gt;
&lt;th style="text-align: left"&gt;전통 소프트웨어 (Traditional software)&lt;/th&gt;
&lt;th style="text-align: left"&gt;AI 모델 (AI models)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;기본 구성&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;사람이 직접 작성한 코드 (Lines of code)&lt;/td&gt;
&lt;td style="text-align: left"&gt;칩, 수학, 데이터로 &amp;lsquo;성장&amp;rsquo;시킨 신경망 (Neurons)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;설명 가능성&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;설명 및 해석 가능&lt;/strong&gt;: 입력에서 출력까지의 논리적 흐름이 명확함&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;해석 불가능&lt;/strong&gt;: 수조 개의 숫자로 이루어진 &amp;lsquo;블랙박스&amp;rsquo; (Black Box) 형태&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;테스트 방식&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;엔지니어링 문제&lt;/strong&gt;: 입력값에 따른 예상 출력값이 존재함&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;새로운 도전&lt;/strong&gt;: 예상 출력값이 명확하지 않으며 결과 예측이 어려움&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;오류 수정&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;문제가 발생하면 원인이 되는 코드를 찾아 수정함&lt;/td&gt;
&lt;td style="text-align: left"&gt;결과가 바람직하지 않을 경우, 다음 모델을 다르게 재학습함&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;핵심 요약&lt;/strong&gt;
전통적인 소프트웨어는 사람이 직접 논리(Logic)를 설계하고 코드를 작성하므로 내부가 투명하고 수정이 가능합니다. 반면, AI 모델은 데이터로부터 학습되어 내부가 복잡한 수치(가중치)로 이루어진 블랙박스와 같습니다. 작동 방식을 완벽히 이해하기 어렵고, 오류가 발생했을 때 특정 코드를 고치는 대신 학습 데이터나 가중치를 조정하여 전체 모델을 재학습해야 한다는 점에서 근본적으로 다릅니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2&gt;2. AI 거버넌스, 정책, 입법의 개념과 경계&lt;span class="hx:absolute hx:-mt-20" id="2-ai-거버넌스-정책-입법의-개념과-경계"&gt;&lt;/span&gt;
&lt;a href="#2-ai-%ea%b1%b0%eb%b2%84%eb%84%8c%ec%8a%a4-%ec%a0%95%ec%b1%85-%ec%9e%85%eb%b2%95%ec%9d%98-%ea%b0%9c%eb%85%90%ea%b3%bc-%ea%b2%bd%ea%b3%84" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;AI를 사회적 안전장치 안으로 끌어들이기 위한 도구들은 그 범위와 강제력에 따라 &lt;strong&gt;거버넌스(Governance) ➔ 정책(Policy) ➔ 입법(Legislation)&lt;/strong&gt;의 위계적 구조를 가집니다.&lt;/p&gt;
&lt;div role="img" aria-label="다이어그램"&gt;
&lt;pre class="mermaid hx:mt-6"&gt;
graph TD
Gov[&amp;#34;AI 거버넌스 (Governance)&amp;lt;br/&amp;gt;가장 포괄적인 수단과 체계&amp;#34;]
Pol[&amp;#34;AI 정책 (Policy)&amp;lt;br/&amp;gt;의도적인 규칙, 계획, 입장&amp;#34;]
Leg[&amp;#34;AI 입법 (Legislation)&amp;lt;br/&amp;gt;법적 강제력을 가진 법률&amp;#34;]
Gov --&amp;gt; Pol
Pol --&amp;gt; Leg
&lt;/pre&gt;
&lt;/div&gt;&lt;h3&gt;① AI 거버넌스 (AI Governance)&lt;span class="hx:absolute hx:-mt-20" id="-ai-거버넌스-ai-governance"&gt;&lt;/span&gt;
&lt;a href="#-ai-%ea%b1%b0%eb%b2%84%eb%84%8c%ec%8a%a4-ai-governance" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;정의&lt;/strong&gt;: 사회가 AI의 개발과 배포를 유익한 결과로 이끌고, 해로운 결과로부터 멀어지도록 유도하기 위해 취하는 &lt;strong&gt;모든 수단과 체계를&lt;/strong&gt; 의미합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;핵심&lt;/strong&gt;: 거버넌스는 단순히 &amp;lsquo;정부만의&amp;rsquo; 역할이 아닙니다. 민간과 공공, 학계와 시민사회가 모두 참여하는 다자간 협력 체계입니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;거버넌스의 12가지 구성 요소&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;법 및 규제 (Laws and regulations)&lt;/li&gt;
&lt;li&gt;정부 기관 및 집행 (Government agencies and enforcement)&lt;/li&gt;
&lt;li&gt;국제 협약 (International agreements)&lt;/li&gt;
&lt;li&gt;기술 표준 (Technical standards)&lt;/li&gt;
&lt;li&gt;기업 정책 (Company policies)&lt;/li&gt;
&lt;li&gt;문화 및 규범 (Culture and norms)&lt;/li&gt;
&lt;li&gt;조달 규칙 (Procurement rules)&lt;/li&gt;
&lt;li&gt;책임 규칙 (Liability rules)&lt;/li&gt;
&lt;li&gt;수출 통제 (Export controls)&lt;/li&gt;
&lt;li&gt;컴퓨팅 거버넌스 (Compute governance)&lt;/li&gt;
&lt;li&gt;사건 보고 (Incident reporting)&lt;/li&gt;
&lt;li&gt;공공 책임 메커니즘 (Public accountability mechanisms)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;주요 참여 주체&lt;/strong&gt;: OpenAI, Anthropic, Google DeepMind, Meta 등 AI 개발 기업 / NIST, EU, UN, 표준 기구, 시민 단체 등.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;② AI 정책 (AI Policy)&lt;span class="hx:absolute hx:-mt-20" id="-ai-정책-ai-policy"&gt;&lt;/span&gt;
&lt;a href="#-ai-%ec%a0%95%ec%b1%85-ai-policy" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;정의&lt;/strong&gt;: AI 거버넌스의 하위 분야로, AI가 어떻게 개발, 사용, 제한, 장려 또는 감독되어야 하는지에 대한 &lt;strong&gt;의도적인 규칙, 계획 또는 입장&lt;/strong&gt;을 말합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;구체적 사례&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;국가 AI 전략&lt;/strong&gt;: 정부 차원의 AI 비전 및 국가 표준 수립&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;행정 명령&lt;/strong&gt;: 대통령 또는 최고 책임자의 AI 관련 지침&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;기관별 규칙&lt;/strong&gt;: 대학 내 학생들의 AI 활용 가이드라인 등 특정 기관 내 규칙&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;기업 정책&lt;/strong&gt;: 기업의 프런티어 모델 공개 및 배포 정책&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;조달 정책&lt;/strong&gt;: AI 시스템이 특정 안전 기준을 충족하도록 요구하는 &lt;strong&gt;조달 규칙 (Procurement rules)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;표준화&lt;/strong&gt;: 표준화 기구에서 권장하는 모델 평가 및 레드티밍 관행&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;안보 정책&lt;/strong&gt;: &lt;strong&gt;고성능 칩(Advanced chips)&lt;/strong&gt;의 수출을 제한하는 국가 안보 정책&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;③ &lt;strong&gt;AI 입법 (AI Legislation)&lt;/strong&gt;&lt;span class="hx:absolute hx:-mt-20" id="-ai-입법-ai-legislation"&gt;&lt;/span&gt;
&lt;a href="#-ai-%ec%9e%85%eb%b2%95-ai-legislation" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;정의&lt;/strong&gt;: 입법 기관(Legislative body)에 의해 제안되거나 통과된 &lt;strong&gt;법률&lt;/strong&gt;을 의미합니다. AI 정책보다 더 좁은 범위의 개념이며, &lt;strong&gt;가장 강력한 법적 강제력&lt;/strong&gt;을 갖습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;구체적 사례&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EU AI 법 (The EU AI Act)&lt;/strong&gt;: 유럽연합의 포괄적인 AI 위험 기반 규제 법안&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;의회 발의 법안&lt;/strong&gt;: AI 안전, 투명성, 아동 보호, 저작권, 국가 안보 관련 법률&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;자동화 의사결정 주법&lt;/strong&gt;: 특정 주(State) 단위에서 자동화된 의사결정을 규제하는 법&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;국가 의무법&lt;/strong&gt;: AI 시스템 등록, 테스트, 라벨링 또는 감사를 요구하는 법률&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;거버넌스, 정책, 입법의 위계와 비교&lt;span class="hx:absolute hx:-mt-20" id="거버넌스-정책-입법의-위계와-비교"&gt;&lt;/span&gt;
&lt;a href="#%ea%b1%b0%eb%b2%84%eb%84%8c%ec%8a%a4-%ec%a0%95%ec%b1%85-%ec%9e%85%eb%b2%95%ec%9d%98-%ec%9c%84%ea%b3%84%ec%99%80-%eb%b9%84%ea%b5%90" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;개념&lt;/th&gt;
&lt;th style="text-align: left"&gt;범위 및 성격&lt;/th&gt;
&lt;th style="text-align: left"&gt;경계 및 특징&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;AI 거버넌스 (Governance)&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;가장 포괄적 (Big Picture)&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;법적 규제뿐만 아니라 기술 표준, 기업의 내부 정책, 문화적 규범, 자율 감사 등 유익한 방향성을 이끌어내기 위한 모든 메커니즘 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;AI 정책 (Policy)&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;전략적 규칙 (Subset of Governance)&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;구체적인 규칙, 계획, 입장을 의미하며, 공공 정책(국가 전략 등)과 민간 정책(기업 공개 정책 등)으로 분화됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;AI 입법 (Legislation)&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;법적 강제 (Subset of Policy)&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;입법 과정을 거쳐 통과된 법률로, 국가 차원에서 명확한 법적 의무와 강제력을 행사하는 도구&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;왜 경계를 구분해야 하는가?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;포괄성&lt;/strong&gt;: AI 거버넌스는 법적 규제(Legislation)만으로는 달성하기 어렵습니다. 기업의 자율적 안전 조치, 기술적 평가(Technical Safety), 국제적 공조 등이 종합적으로 어우러져야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;유연성&lt;/strong&gt;: 입법은 절차가 엄격하고 경직된 반면, 정책과 거버넌스는 기술의 급격한 변화에 맞춰 유연하고 신속하게 가이드라인을 수정하거나 대응할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2&gt;3. AI 발전 속도와 미래 위험: AGI와 ASI&lt;span class="hx:absolute hx:-mt-20" id="3-ai-발전-속도와-미래-위험-agi와-asi"&gt;&lt;/span&gt;
&lt;a href="#3-ai-%eb%b0%9c%ec%a0%84-%ec%86%8d%eb%8f%84%ec%99%80-%eb%af%b8%eb%9e%98-%ec%9c%84%ed%97%98-agi%ec%99%80-asi" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;AI 거버넌스를 구축할 때 가장 염두에 두어야 할 점은 &lt;strong&gt;AI의 발전 속도가 기하급수적이라는&lt;/strong&gt; 사실입니다.&lt;/p&gt;
&lt;h3&gt;핵심 개념: 재귀적 자기 개선 (Recursive Self Improvement, RSI)&lt;span class="hx:absolute hx:-mt-20" id="핵심-개념-재귀적-자기-개선-recursive-self-improvement-rsi"&gt;&lt;/span&gt;
&lt;a href="#%ed%95%b5%ec%8b%ac-%ea%b0%9c%eb%85%90-%ec%9e%ac%ea%b7%80%ec%a0%81-%ec%9e%90%ea%b8%b0-%ea%b0%9c%ec%84%a0-recursive-self-improvement-rsi" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;정의&lt;/strong&gt;: AI 시스템이 스스로의 코드를 재작성하거나 알고리즘 설계를 개선하여, 다음 세대의 더 성능이 우수한 AI를 자율적으로 생성하는 과정입니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;위험성&lt;/strong&gt;:
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;지능 폭발 (Intelligence Explosion) 피드백 루프&lt;/strong&gt;: AI가 스스로를 개선할수록 더 똑똑해지고, 더 똑똑해진 AI는 이전보다 더 효율적인 개선을 해나갑니다. 이 루프가 반복되면 인간의 한계를 아득히 초월하는 속도로 지능이 향상될 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;통제권 상실 (Loss of Human Control)&lt;/strong&gt;: 인간이 제어 목표를 완벽히 정렬(Alignment)하지 못한 상태에서 RSI가 발생하면, AI가 의도하지 않은 자가 보존 등의 하위 목표를 추구하면서 통제를 벗어날 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;가속화된 개발&lt;/strong&gt;: 이미 글로벌 선두 AI 연구소 내 개발 상당 부분이 AI 시스템을 통한 코드 자동 생성으로 이루어지고 있으며, 그 속도는 수십 배 이상 빨라졌습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;AGI와 ASI의 단계별 정의&lt;span class="hx:absolute hx:-mt-20" id="agi와-asi의-단계별-정의"&gt;&lt;/span&gt;
&lt;a href="#agi%ec%99%80-asi%ec%9d%98-%eb%8b%a8%ea%b3%84%eb%b3%84-%ec%a0%95%ec%9d%98" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;AI의 최종 진화 단계에 대해 아직 명확한 합의는 없으나, 실무적으로는 다음과 같이 합의하고 논의를 진행합니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AGI (Artificial General Intelligence, 범용 인공지능)&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;실무적 기준: &lt;strong&gt;중간 수준의 인간(Median Human)과 대등한 인지 능력&lt;/strong&gt;을 갖춘 AI 시스템. 특정 도메인을 넘어 인간이 수행하는 범용적 지적 업무를 고루 해낼 수 있는 단계입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ASI (Artificial Superintelligence, 인공 초지능)&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;실무적 기준: &lt;strong&gt;인류 전체의 인지 능력을 모두 합친 것보다 더 뛰어난 인지 능력&lt;/strong&gt;을 갖춘 AI 시스템. 인간이 인지하고 이해할 수 있는 지적 한계를 아득히 뛰어놓은 상태를 뜻합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;효과적인 AI 거버넌스 프레임워크는 이미 존재하는 과거의 기술이 아닌, &lt;strong&gt;다가올 미래의 AI 역량(Future Capabilities)을 예측하고 대비하는 방향&lt;/strong&gt;으로 맞춰져야 합니다.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2&gt;4. AI 거버넌스가 필요한 이유: 위험과 혜택의 줄타기&lt;span class="hx:absolute hx:-mt-20" id="4-ai-거버넌스가-필요한-이유-위험과-혜택의-줄타기"&gt;&lt;/span&gt;
&lt;a href="#4-ai-%ea%b1%b0%eb%b2%84%eb%84%8c%ec%8a%a4%ea%b0%80-%ed%95%84%ec%9a%94%ed%95%9c-%ec%9d%b4%ec%9c%a0-%ec%9c%84%ed%97%98%ea%b3%bc-%ed%98%9c%ed%83%9d%ec%9d%98-%ec%a4%84%ed%83%80%ea%b8%b0" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;AI의 역량(Capability)이 강화됨에 따라, 우리 사회가 얻을 수 있는 혜택의 한계와 직면할 위험의 파괴력은 동시에 확대됩니다.&lt;/p&gt;
&lt;h3&gt;① AI 역량에 따른 단계별 위험 (Risk Overview)&lt;span class="hx:absolute hx:-mt-20" id="-ai-역량에-따른-단계별-위험-risk-overview"&gt;&lt;/span&gt;
&lt;a href="#-ai-%ec%97%ad%eb%9f%89%ec%97%90-%eb%94%b0%eb%a5%b8-%eb%8b%a8%ea%b3%84%eb%b3%84-%ec%9c%84%ed%97%98-risk-overview" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;현대 신경망 기반 AI (Modern, neural network-based AI) 단계&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;위험 수준&lt;/strong&gt;: 기존 디지털/사회 문제의 심화&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;주요 사례&lt;/strong&gt;: 악성 해킹 공격의 고도화, &lt;strong&gt;편향성(Bias)&lt;/strong&gt;에 의한 차별, 가짜 뉴스와 &lt;strong&gt;허위 정보(Misinformation)&lt;/strong&gt;의 대량 양산, 딥페이크 사기, 그리고 인간 대 인간 상호작용 감소로 인한 사회적 고립 및 정서적 고독감 심화.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;범용 인공지능 (AGI) 단계&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;위험 수준&lt;/strong&gt;: 새로운 차원의 사회구조적 위기 발생&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;주요 사례&lt;/strong&gt;: 대규모 노동 시장의 붕괴 및 &lt;strong&gt;경제적 혼란(Mass labor/economic disruption)&lt;/strong&gt;, 그리고 &lt;strong&gt;인간 삶의 조건(Human condition)&lt;/strong&gt;과 가치 체계에 대한 근본적인 변화.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;인공 초지능 (ASI) 단계&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;위험 수준&lt;/strong&gt;: 통제권 상실 시나리오&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;주요 사례&lt;/strong&gt;: 극소수 권력층에게 극단적으로 권력이 집중되는 문제, 통제 불능 상태에서의 오작동으로 인한 &lt;strong&gt;인류의 멸종(Human extinction)&lt;/strong&gt;과 같은 &lt;strong&gt;실존적 위험(Existential Risk)&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;② AI 역량에 따른 단계별 혜택 (Benefits)&lt;span class="hx:absolute hx:-mt-20" id="-ai-역량에-따른-단계별-혜택-benefits"&gt;&lt;/span&gt;
&lt;a href="#-ai-%ec%97%ad%eb%9f%89%ec%97%90-%eb%94%b0%eb%a5%b8-%eb%8b%a8%ea%b3%84%eb%b3%84-%ed%98%9c%ed%83%9d-benefits" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;현대 신경망 기반 AI 단계&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;주요 혜택&lt;/strong&gt;: 산업 생산성 극대화, &lt;strong&gt;단백질 구조 예측(AlphaFold)&lt;/strong&gt;을 통한 바이오/신약 혁신, 고속 의료 진단 지원, 보이스 피싱 등 사기 탐지율 제고, 개인화된 맞춤형 교육 튜터링 등.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;범용 인공지능 (AGI) 단계&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;주요 혜택&lt;/strong&gt;: 인류가 수십 년간 해결하지 못한 난제 해결(Solving unsolved problems). 예를 들어 암 치료법 발견, 청정 저온 핵융합(Cold Fusion)의 상용화, 세계 기아 문제 해결, 인간에게 위험하거나 지루한 물리적 노동의 자동화.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;인공 초지능 (ASI) 단계&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;주요 혜택&lt;/strong&gt;: 인류의 가능성을 완전히 확장(Expanding possibilities for Humanity). 우리가 현재 과학 수준으로는 그 존재조차 모르는 우주의 신비나 새로운 물리 법칙을 규명하고, 상상할 수 없는 차원의 삶의 질 개선을 실현하는 단계.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div role="img" aria-label="다이어그램"&gt;
&lt;pre class="mermaid hx:mt-6"&gt;
flowchart TD
subgraph Balance[&amp;#34;⚖️ AI 거버넌스의 본질: 균형 잡기&amp;#34;]
direction TB
subgraph Risks[&amp;#34;🚨 위험 통제 필요 (AI Risks)&amp;#34;]
direction BT
R1[&amp;#34;현대 AI &amp;lt;br/&amp;gt; (해킹, 편향, 정서적 고립)&amp;#34;] --&amp;gt;|역량 강화| R2[&amp;#34;AGI &amp;lt;br/&amp;gt; (대규모 노동/경제 혼란)&amp;#34;]
R2 --&amp;gt;|역량 강화| R3[&amp;#34;ASI &amp;lt;br/&amp;gt; (인류 멸종, 통제 상실)&amp;#34;]
end
subgraph Benefits[&amp;#34;✨ 혜택 극대화 지향 (AI Benefits)&amp;#34;]
direction BT
B1[&amp;#34;현대 AI &amp;lt;br/&amp;gt; (생산성 증대, AlphaFold)&amp;#34;] --&amp;gt;|역량 강화| B2[&amp;#34;AGI &amp;lt;br/&amp;gt; (암 정복, 저온 핵융합 상용)&amp;#34;]
B2 --&amp;gt;|역량 강화| B3[&amp;#34;ASI &amp;lt;br/&amp;gt; (인류 미지의 가능성 확장)&amp;#34;]
end
end
classDef riskClass fill:#ffe6e6,stroke:#ff9999,stroke-width:2px;
classDef benefitClass fill:#e6f2ff,stroke:#99ccff,stroke-width:2px;
classDef balanceClass fill:#fff,stroke:#333,stroke-width:2px;
class Risks,R1,R2,R3 riskClass;
class Benefits,B1,B2,B3 benefitClass;
class Balance balanceClass;
&lt;/pre&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;h2&gt;5. 분야별 구체적인 AI 거버넌스 및 법안 사례&lt;span class="hx:absolute hx:-mt-20" id="5-분야별-구체적인-ai-거버넌스-및-법안-사례"&gt;&lt;/span&gt;
&lt;a href="#5-%eb%b6%84%ec%95%bc%eb%b3%84-%ea%b5%ac%ec%b2%b4%ec%a0%81%ec%9d%b8-ai-%ea%b1%b0%eb%b2%84%eb%84%8c%ec%8a%a4-%eb%b0%8f-%eb%b2%95%ec%95%88-%ec%82%ac%eb%a1%80" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;전 세계의 입법부와 정책 입안자들은 위에 서술한 단계별 위험을 예방하기 위해 다양한 법안과 규칙을 활발히 제정하고 있습니다.&lt;/p&gt;
&lt;h3&gt;① 기존 문제 악화 방지 (Worsen Existing Problems)&lt;span class="hx:absolute hx:-mt-20" id="-기존-문제-악화-방지-worsen-existing-problems"&gt;&lt;/span&gt;
&lt;a href="#-%ea%b8%b0%ec%a1%b4-%eb%ac%b8%ec%a0%9c-%ec%95%85%ed%99%94-%eb%b0%a9%ec%a7%80-worsen-existing-problems" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TRAIGA (Texas Responsible AI Governance Act)&lt;/strong&gt; &lt;em&gt;(2026년 1월 1일 시행)&lt;/em&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;고지 의무&lt;/strong&gt;: 사용자가 AI 시스템과 상호작용하고 있을 때 이를 명확히 알릴 것을 요구합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;금지 조항&lt;/strong&gt;: 의도적으로 인체에 해를 입히거나 자해를 유도하는 AI, 보호 대상 계층을 고의로 차별하는 AI, 아동 성착취물(CSAM) 관련 AI의 사용을 엄격히 금지합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;사회적 신용 점수 금지&lt;/strong&gt;: 정부 기관이 개인의 등급이나 사회적 점수(Social scoring)를 매기는 수단으로 AI를 쓰는 것을 금지합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tennessee ELVIS Act (Ensuring Likeness Voice and Image Security Act)&lt;/strong&gt; &lt;em&gt;(2024년 7월 1일 시행)&lt;/em&gt;
&lt;ul&gt;
&lt;li&gt;유명인뿐만 아니라 &lt;strong&gt;모든 개인을&lt;/strong&gt; 대상으로 허가받지 않은 &lt;strong&gt;목소리(Voice) 및 초상(Likeness, Image)&lt;/strong&gt;을 AI 활용해 도용하거나 복제하는 행위를 금지하여 AI 딥페이크로부터 인격을 보호합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WA HB-2225 (워싱턴주 법안)&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;사용자가 AI와 대화하고 있음을 투명하게 알리는 &lt;strong&gt;고지(Disclosure)&lt;/strong&gt; 조치 의무화.&lt;/li&gt;
&lt;li&gt;낭만적 관계 모방, 아첨(Sycophancy)을 통한 조작, 미성년자에게 부모로부터 비밀을 유지하도록 유도하는 행위 등 사용자와의 감정적 관계를 악용하려는 &lt;strong&gt;조작적 기술(Manipulative Techniques) 방지&lt;/strong&gt;를 위한 합리적 조치 요구.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;미성년자 대상 성적 대화(Sexually explicit conversations)&lt;/strong&gt;에 대한 기술적 안전장치 의무화.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;② 고용 및 경제적 영향 대응 (Mass Labor Disruption)&lt;span class="hx:absolute hx:-mt-20" id="-고용-및-경제적-영향-대응-mass-labor-disruption"&gt;&lt;/span&gt;
&lt;a href="#-%ea%b3%a0%ec%9a%a9-%eb%b0%8f-%ea%b2%bd%ec%a0%9c%ec%a0%81-%ec%98%81%ed%96%a5-%eb%8c%80%ec%9d%91-mass-labor-disruption" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;입법 시도&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;AI 도입에 의한 직무 영향을 파악하는 &lt;em&gt;AI-Related Job Impacts Clarity Act&lt;/em&gt;, 노동 영향 투명성을 높이는 &lt;em&gt;Workforce Transparency Act&lt;/em&gt;, 미래형 노동 정책을 다듬는 &lt;em&gt;Workforce of the Future Act&lt;/em&gt; 등이 발의되었습니다.&lt;/li&gt;
&lt;li&gt;뉴욕주는 &lt;strong&gt;AI 도입으로 인한 대규모 정리해고 발생 시 의무 보고(AI layoff reporting)&lt;/strong&gt;를 규정하고 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;한계와 대안&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;현재 대규모 노동 대체에 대처할 수 있는 완벽한 상용 법안은 없으며, 개념적 정책 아이디어 위주로 논의되고 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;기본소득 (Universal Basic Income, UBI)&lt;/strong&gt;, &lt;strong&gt;연방 일자리 보장제 (Federal Job Guarantee)&lt;/strong&gt;, AI 기업과 기술에서 창출된 이득에 부과하는 &lt;strong&gt;AI세 및 배당 (AI tax/dividend)&lt;/strong&gt; 등이 주요 대안으로 논의 중입니다.&lt;/li&gt;
&lt;li&gt;중국의 경우 정부 차원에서 AI 도입으로 인한 급격한 노동자 대체를 방지하기 위해 규제 조치를 선제적으로 적용하는 대조적 사례도 보입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;③ 통제권 상실 시나리오 대응 (Loss of Control Scenarios)&lt;span class="hx:absolute hx:-mt-20" id="-통제권-상실-시나리오-대응-loss-of-control-scenarios"&gt;&lt;/span&gt;
&lt;a href="#-%ed%86%b5%ec%a0%9c%ea%b6%8c-%ec%83%81%ec%8b%a4-%ec%8b%9c%eb%82%98%eb%a6%ac%ec%98%a4-%eb%8c%80%ec%9d%91-loss-of-control-scenarios" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;법적 안전장치 및 법안&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Artificial Intelligence Risk Evaluation Act&lt;/em&gt;: AI 모델의 극한 위험성을 연구하고 평가(메커니즘적 해석 가능성 등)하기 위한 자원 확보 법안.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Future of AI Innovation Act&lt;/em&gt;: AI 표준 및 안전 정보 공유를 위해 &lt;strong&gt;CAISI (Consortium for the Advancement of AI Safety Information)&lt;/strong&gt; 설립 및 법제화 시도 (다만 예산 배정이 아직 미비한 한계가 존재함).&lt;/li&gt;
&lt;li&gt;뉴욕주 &lt;em&gt;RAISE Act&lt;/em&gt; &lt;em&gt;(2027년 1월 1일 시행 예정)&lt;/em&gt;, 캘리포니아주 &lt;em&gt;SB-53&lt;/em&gt; &lt;em&gt;(2026년 1월 1일 시행)&lt;/em&gt;: 거대 프런티어 모델 개발 기업들에게 재앙적 위험 관리 계획 수립을 의무화하고 모델의 안전성 한계를 통제하도록 강제.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;개념적 및 극단적 억제 아이디어&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;국제적 AI 개발/배포 일시 중지 (International Pause)&lt;/strong&gt;: 군비 통제(Arms control) 방식을 차용하여 프런티어 모델 개발 자체를 글로벌 수준에서 라이선스화하고 모니터링하며, &lt;strong&gt;워크로드 검증 기술(Workload verification)&lt;/strong&gt;을 통해 통제하자는 제안.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MAIM (Mutually Assured AI Malfunction, 상호 확증 AI 오작동)&lt;/strong&gt;: 냉전 시대의 상호 확증 파괴(MAD) 전략을 차용하여, 적대국이 인류의 안전을 위협하는 초지능(ASI) 선점 경쟁을 시도할 경우, 상대국의 데이터 센터에 사이버 해킹이나 물리적 사보타주(Sabotage)를 가해 무력화하겠다는 극단적인 힘의 균형 논리.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;6. 주요 토론 쟁점 및 개인이 실천할 수 있는 로드맵&lt;span class="hx:absolute hx:-mt-20" id="6-주요-토론-쟁점-및-개인이-실천할-수-있는-로드맵"&gt;&lt;/span&gt;
&lt;a href="#6-%ec%a3%bc%ec%9a%94-%ed%86%a0%eb%a1%a0-%ec%9f%81%ec%a0%90-%eb%b0%8f-%ea%b0%9c%ec%9d%b8%ec%9d%b4-%ec%8b%a4%ec%b2%9c%ed%95%a0-%ec%88%98-%ec%9e%88%eb%8a%94-%eb%a1%9c%eb%93%9c%eb%a7%b5" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3&gt;학계와 산업계의 주요 논쟁&lt;span class="hx:absolute hx:-mt-20" id="학계와-산업계의-주요-논쟁"&gt;&lt;/span&gt;
&lt;a href="#%ed%95%99%ea%b3%84%ec%99%80-%ec%82%b0%ec%97%85%ea%b3%84%ec%9d%98-%ec%a3%bc%ec%9a%94-%eb%85%bc%ec%9f%81" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;범용 AI(AGI) vs 좁은 AI(Narrow AI)&lt;/strong&gt;: 알파폴드와 같이 특정 목적을 안전하게 수행하는 좁은 AI에 대해서는 지원을 아끼지 않되, 무한한 일반 능력을 추구하는 범용 AI에 대해서는 철저한 안전장치와 제어가 필요하다는 주장이 힘을 얻고 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;책임의 소재&lt;/strong&gt;: AI가 예기치 않은 결과나 피해를 초래했을 때, 빅테크 기업들이 법적 책임을 사용자나 단순 모델 오용 탓으로 전가하려는 경향에 대한 강력한 비판이 있습니다. &lt;strong&gt;책임은 도구가 아닌 모델 개발사나 운영 주체(인간)에게 전적으로 귀속되어야 한다&lt;/strong&gt;는 대원칙이 강조됩니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;환경적 비용&lt;/strong&gt;: 데이터 센터 운영에 따르는 엄청난 전력 소모와 쿨링용 수자원 사용량이 지역 사회 및 지구 환경에 미치는 악영향 역시 시급한 거버넌스적 해결 과제 중 하나입니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;미-중 경쟁 체제&lt;/strong&gt;: AI 안전 통제를 강화하고자 하는 서구권과 달리 국가 안정성을 위해 모델과 사용자를 철저히 감시·규제하는 중국, 그리고 자본주의적 오픈 마켓에서 경쟁 우위를 중시하는 민간 주도 체제 간의 지정학적 갈등이 얽혀 있습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;개인이 실질적으로 기여할 수 있는 방법&lt;span class="hx:absolute hx:-mt-20" id="개인이-실질적으로-기여할-수-있는-방법"&gt;&lt;/span&gt;
&lt;a href="#%ea%b0%9c%ec%9d%b8%ec%9d%b4-%ec%8b%a4%ec%a7%88%ec%a0%81%ec%9c%bc%eb%a1%9c-%ea%b8%b0%ec%97%ac%ed%95%a0-%ec%88%98-%ec%9e%88%eb%8a%94-%eb%b0%a9%eb%b2%95" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;거버넌스 담론은 몇몇 거대 테마나 정부 부처의 전유물이 아닙니다. 일반 시민과 개발자 개개인이 지식(Knowledge)에서 의견(Opinion)을 거쳐 목소리(Voice)로 나아가는 로드맵이 중요합니다.&lt;/p&gt;
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code"&gt;
&lt;div&gt;&lt;pre&gt;&lt;code&gt; [1단계: 배움 (Learn)] ➔ [2단계: 전환 (Career)] ➔ [3단계: 실천 (Voice)]
Alsafety.info (자가 학습) 80,000 Hours (경로 설계) 지역구 대표에게 서한 보내기
BlueDot.org (가상 코스) Successif (커리어 전환) Control AI / Pause AI 활동&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0"&gt;
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="코드 복사"
aria-label="코드 복사"
data-copied-label="복사됨!"
&gt;
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;AI 안전에 대해 깊이 있게 배우기&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a
href="https://aisafety.info"target="_blank" rel="noopener"&gt;Alsafety.info&lt;/a&gt;&lt;/strong&gt;: AI 안전 관련 핵심 개념과 팩트를 제공하는 백과사전식 자가 학습 사이트.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a
href="https://www.bluedot.org"target="_blank" rel="noopener"&gt;BlueDot.org&lt;/a&gt;&lt;/strong&gt;: 전문가들의 멘토링과 함께 AI 거버넌스 및 안전을 심화 탐구하는 가상 학습 코스 제공.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI 안전 분야로의 커리어 전환&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a
href="https://80000hours.org"target="_blank" rel="noopener"&gt;80,000 Hours&lt;/a&gt;&lt;/strong&gt;: 사회적으로 엄청난 긍정적 임팩트를 낼 수 있는 직업 경로를 가이드해주는 조직.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a
href="https://successif.org"target="_blank" rel="noopener"&gt;Successif&lt;/a&gt;&lt;/strong&gt;: AI 안전 및 정책 관련 커리어 패스 빌딩을 전문적으로 돕는 플랫폼.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;의견을 피력하고 자원봉사하기&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;지역구 의원이나 정부 정책 제안 창구를 통해 AI 안전 규제 및 피해 예방 법안 입법에 대해 투명하고 엄격한 조치를 요구하는 서한 전달.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Control AI&lt;/strong&gt;, &lt;strong&gt;Pause AI&lt;/strong&gt; 등 민간 안전 감시 단체의 캠페인과 오픈소스 안전성 평가 기여 활동 참여.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;💡 주목해야 할 비영리 연구 조직: CAIS&lt;span class="hx:absolute hx:-mt-20" id="-주목해야-할-비영리-연구-조직-cais"&gt;&lt;/span&gt;
&lt;a href="#-%ec%a3%bc%eb%aa%a9%ed%95%b4%ec%95%bc-%ed%95%a0-%eb%b9%84%ec%98%81%eb%a6%ac-%ec%97%b0%ea%b5%ac-%ec%a1%b0%ec%a7%81-cais" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;AI 안전 분야에서 독보적인 연구적 옹호 활동을 펼치는 대표적 단체로 &lt;strong&gt;CAIS (Center for AI Safety)&lt;/strong&gt;가 있습니다.
샌프란시스코에 본부를 둔 비영리 단체로, AI의 실존적 위험에 관한 연구(LLM 보안 가드레일 등)를 수행하고 개발자들을 위해 GPU 컴퓨팅 클러스터를 지원합니다. 특히 2023년 &amp;ldquo;AI로 인한 멸종 위험은 전염병이나 핵전쟁 같은 사회적 차원의 위험과 나란히 다루어져야 한다&amp;quot;는 성명을 주도하며 글로벌 리더들의 서명을 이끌어내어 안전성 평가의 패러다임을 바꾼 바 있습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;기술의 발전 속도에 비해 법적·정치적 가드레일의 조율 속도가 한 발짝 늦은 것이 현실입니다. 하지만 다양한 다자간 거버넌스의 적극적 설계와 투명한 사회적 합의를 통해 우리는 AI가 주는 무궁무진한 혜택을 수혜하면서도, 재앙적 위험으로부터 인류를 보다 견고하게 지켜낼 수 있을 것입니다.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>사이트 점검: 깨진 링크와 LaTeX 수식 렌더링 수정</title><link>https://ai-security.metacog.co.kr/blog/site-maintenance-link-and-math-fixes/</link><pubDate>Mon, 15 Jun 2026 09:00:00 +0900</pubDate><guid>https://ai-security.metacog.co.kr/blog/site-maintenance-link-and-math-fixes/</guid><description>
&lt;p&gt;사이트 전반의 내부 링크 404와 LaTeX 수식이 렌더링되지 않던 문제를 점검하고 수정했습니다. 같은 구조(Hugo + Hextra)로 사이트를 만들 때 반복될 수 있는 문제라서, 원인과 해결 방법을 정리해 둡니다.&lt;/p&gt;
&lt;h2&gt;1. 내부 링크 404 문제&lt;span class="hx:absolute hx:-mt-20" id="1-내부-링크-404-문제"&gt;&lt;/span&gt;
&lt;a href="#1-%eb%82%b4%eb%b6%80-%eb%a7%81%ed%81%ac-404-%eb%ac%b8%ec%a0%9c" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3&gt;증상&lt;span class="hx:absolute hx:-mt-20" id="증상"&gt;&lt;/span&gt;
&lt;a href="#%ec%a6%9d%ec%83%81" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;문서 본문이나 카드(&lt;code&gt;{{&amp;lt; card &amp;gt;}}&lt;/code&gt;)에서 다른 페이지로 연결되는 링크를 클릭하면 다수가 404로 연결되었습니다.&lt;/p&gt;
&lt;h3&gt;원인 — Hugo pretty URL과 상대 경로의 깊이 불일치&lt;span class="hx:absolute hx:-mt-20" id="원인--hugo-pretty-url과-상대-경로의-깊이-불일치"&gt;&lt;/span&gt;
&lt;a href="#%ec%9b%90%ec%9d%b8--hugo-pretty-url%ea%b3%bc-%ec%83%81%eb%8c%80-%ea%b2%bd%eb%a1%9c%ec%9d%98-%ea%b9%8a%ec%9d%b4-%eb%b6%88%ec%9d%bc%ec%b9%98" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Hugo는 기본적으로 &lt;code&gt;content/docs/attacks/jailbreak.md&lt;/code&gt;를 &lt;strong&gt;leaf bundle 형태의 pretty URL&lt;/strong&gt;인 &lt;code&gt;/docs/attacks/jailbreak/&lt;/code&gt;로 렌더링합니다. 즉, 렌더링된 페이지의 실제 경로는 소스 파일 경로보다 한 단계 더 깊습니다.&lt;/p&gt;
&lt;p&gt;그 결과:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;같은 카테고리의 다른 문서로 가는 상대 링크는 &lt;code&gt;./other-doc/&lt;/code&gt;이 아니라 &lt;code&gt;../other-doc/&lt;/code&gt;이어야 합니다.&lt;/li&gt;
&lt;li&gt;다른 카테고리의 문서로 가는 링크는 &lt;code&gt;../../other-category/other-doc/&lt;/code&gt;처럼 한 단계 더 올라가야 합니다.&lt;/li&gt;
&lt;li&gt;섹션 인덱스(&lt;code&gt;_index.md&lt;/code&gt;)로 가는 링크는 &lt;code&gt;../section/_index&lt;/code&gt;가 아니라 &lt;code&gt;../../section/&lt;/code&gt;로 써야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;labs/*.md&lt;/code&gt;에서 카드 숏코드로 &lt;code&gt;link=&amp;quot;/docs/...&amp;quot;&lt;/code&gt;처럼 절대 경로를 쓰면 &lt;code&gt;baseURL&lt;/code&gt;의 &lt;code&gt;/ai-security/&lt;/code&gt; 접두사가 누락되어 깨집니다 (Hextra의 &lt;code&gt;card.html&lt;/code&gt; 숏코드가 절대 경로 &lt;code&gt;link=&lt;/code&gt;에는 &lt;code&gt;relURL&lt;/code&gt;을 적용하지 않는 동작 때문). 이 경우 &lt;code&gt;link=&amp;quot;../../docs/.../&amp;quot;&lt;/code&gt; 형태의 상대 경로로 바꿔야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;해결&lt;span class="hx:absolute hx:-mt-20" id="해결"&gt;&lt;/span&gt;
&lt;a href="#%ed%95%b4%ea%b2%b0" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;로컬에서 &lt;code&gt;hugo server --disableFastRender&lt;/code&gt;로 전체 빌드를 띄우고, sitemap을 크롤링해 모든 &lt;code&gt;&amp;lt;a href&amp;gt;&lt;/code&gt;를 실제로 요청해보는 스크립트로 깨진 링크를 전부 수집했습니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;content/docs/*/*.md&lt;/code&gt; (인덱스 제외)와 &lt;code&gt;content/labs/*.md&lt;/code&gt;, &lt;code&gt;content/tools/*.md&lt;/code&gt;에서 상대 링크 깊이를 일괄 보정했습니다 (총 85개 링크, 27개 파일).&lt;/li&gt;
&lt;li&gt;재크롤링으로 깨진 링크 0개를 확인 후 커밋/푸시했습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;코드 예시(&lt;code&gt;[클릭](javascript:alert(1))&lt;/code&gt; 같은 XSS 데모용 텍스트)는 링크가 아니므로, 일괄 변환 스크립트를 돌릴 때 이런 패턴이 함께 바뀌지 않는지 diff를 반드시 확인해야 합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;2. LaTeX 수식이 렌더링되지 않는 문제&lt;span class="hx:absolute hx:-mt-20" id="2-latex-수식이-렌더링되지-않는-문제"&gt;&lt;/span&gt;
&lt;a href="#2-latex-%ec%88%98%ec%8b%9d%ec%9d%b4-%eb%a0%8c%eb%8d%94%eb%a7%81%eb%90%98%ec%a7%80-%ec%95%8a%eb%8a%94-%eb%ac%b8%ec%a0%9c" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3&gt;증상&lt;span class="hx:absolute hx:-mt-20" id="증상-1"&gt;&lt;/span&gt;
&lt;a href="#%ec%a6%9d%ec%83%81-1" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;content/docs/attacks/adversarial-examples.md&lt;/code&gt;처럼 &lt;code&gt;$x$&lt;/code&gt;, &lt;code&gt;$\delta$&lt;/code&gt; 같은 인라인 수식과 &lt;code&gt;$$x' = x + \epsilon \cdot \text{sign}(...)$$&lt;/code&gt; 같은 블록 수식이 모두 원본 텍스트(&lt;code&gt;$&lt;/code&gt;, &lt;code&gt;\&lt;/code&gt; 포함)로 그대로 노출되었습니다.&lt;/p&gt;
&lt;h3&gt;원인 — goldmark &lt;code&gt;passthrough&lt;/code&gt; 확장 미설정&lt;span class="hx:absolute hx:-mt-20" id="원인--goldmark-passthrough-확장-미설정"&gt;&lt;/span&gt;
&lt;a href="#%ec%9b%90%ec%9d%b8--goldmark-passthrough-%ed%99%95%ec%9e%a5-%eb%af%b8%ec%84%a4%ec%a0%95" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Hextra 테마는 &lt;code&gt;_markup/render-passthrough.html&lt;/code&gt; 렌더 훅에서 &lt;code&gt;transform.ToMath&lt;/code&gt;를 호출해 KaTeX용 HTML/MathML을 생성하고, 이때만 &lt;code&gt;hasMath&lt;/code&gt; 플래그를 세팅해 &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;에 KaTeX 스크립트/CSS를 로드합니다. 그런데 이 렌더 훅은 &lt;strong&gt;goldmark의 &lt;code&gt;passthrough&lt;/code&gt; 확장이 활성화되고 수식 구분자(delimiter)가 설정되어 있어야만&lt;/strong&gt; 호출됩니다. &lt;code&gt;hugo.toml&lt;/code&gt;에 해당 설정이 전혀 없으면 &lt;code&gt;$...$&lt;/code&gt;, &lt;code&gt;$$...$$&lt;/code&gt;는 그냥 일반 텍스트로 취급되어 markdown 파서가 글자 그대로 출력합니다.&lt;/p&gt;
&lt;h3&gt;해결&lt;span class="hx:absolute hx:-mt-20" id="해결-1"&gt;&lt;/span&gt;
&lt;a href="#%ed%95%b4%ea%b2%b0-1" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;hugo.toml&lt;/code&gt;의 &lt;code&gt;[markup.goldmark]&lt;/code&gt;에 다음 설정을 추가했습니다.&lt;/p&gt;
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code"&gt;
&lt;div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;markup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;goldmark&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;extensions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;passthrough&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;enable&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;markup&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;goldmark&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;extensions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;passthrough&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;delimiters&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;block&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;\[&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;\]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;$$&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;$$&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;inline&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;\(&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;\)&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;$&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;$&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0"&gt;
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="코드 복사"
aria-label="코드 복사"
data-copied-label="복사됨!"
&gt;
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;로컬 빌드로 확인한 결과 인라인/블록 수식 모두 &lt;code&gt;katex&lt;/code&gt;, &lt;code&gt;katex-display&lt;/code&gt;, &lt;code&gt;katex-html&lt;/code&gt;, &lt;code&gt;katex-mathml&lt;/code&gt; 클래스로 정상 렌더링되었습니다.&lt;/p&gt;
&lt;h2&gt;요약&lt;span class="hx:absolute hx:-mt-20" id="요약"&gt;&lt;/span&gt;
&lt;a href="#%ec%9a%94%ec%95%bd" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;문제&lt;/th&gt;
&lt;th&gt;원인&lt;/th&gt;
&lt;th&gt;해결&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;내부 링크 404&lt;/td&gt;
&lt;td&gt;pretty URL로 인해 leaf 페이지가 소스보다 한 단계 깊어짐&lt;/td&gt;
&lt;td&gt;상대 경로에 &lt;code&gt;../&lt;/code&gt; 한 단계 추가, 절대경로 카드 링크는 상대경로로 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LaTeX 수식 미렌더링&lt;/td&gt;
&lt;td&gt;goldmark &lt;code&gt;passthrough&lt;/code&gt; 확장 미설정 → KaTeX 미로드&lt;/td&gt;
&lt;td&gt;&lt;code&gt;hugo.toml&lt;/code&gt;에 &lt;code&gt;markup.goldmark.extensions.passthrough&lt;/code&gt; 설정 추가&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;두 가지 모두 신규 Hugo + Hextra 사이트를 만들 때 처음부터 설정해 두면 피할 수 있는 문제라서, 이 사이트를 빠르게 복제하기 위한 스킬(&lt;code&gt;hextra-roadmap-kb&lt;/code&gt;)의 기본 템플릿에도 반영했습니다.&lt;/p&gt;</description></item><item><title>AI Security 학습 로드맵 사이트를 시작하며</title><link>https://ai-security.metacog.co.kr/blog/welcome/</link><pubDate>Sun, 14 Jun 2026 09:00:00 +0900</pubDate><guid>https://ai-security.metacog.co.kr/blog/welcome/</guid><description>
&lt;p&gt;AI 보안을 체계적으로 학습하기 위한 지식베이스를 시작합니다. 이 사이트는 다섯 개의 지식 축(기반 지식, 공격 기법, 방어 기법, 인프라·공급망 보안, 거버넌스·리스크 관리)과 하나의 실전 축(레드팀·실전 경험)으로 구성되어 있습니다.&lt;/p&gt;
&lt;h2&gt;왜 이렇게 구성했는가&lt;span class="hx:absolute hx:-mt-20" id="왜-이렇게-구성했는가"&gt;&lt;/span&gt;
&lt;a href="#%ec%99%9c-%ec%9d%b4%eb%a0%87%ea%b2%8c-%ea%b5%ac%ec%84%b1%ed%96%88%eb%8a%94%ea%b0%80" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;AI 보안은 &amp;ldquo;모델만&amp;rdquo; 공부해서는 충분하지 않습니다. 일반 보안과 ML/DL 기초가 함께 갖춰져야 공격과 방어를 맥락 있게 이해할 수 있고, 여기에 인프라·공급망 보안과 거버넌스·규제 흐름까지 더해야 실무에서 쓸모 있는 사람이 됩니다.&lt;/p&gt;
&lt;p&gt;실무적으로는 &lt;a
href="https://ai-security.metacog.co.kr/docs/"&gt;학습 로드맵&lt;/a&gt; 페이지에서 제안하는 순서대로 &lt;strong&gt;LLM 애플리케이션 보안 → 거버넌스 → 인프라/공급망 → 방어 기법 → 기반 지식 → 레드팀&lt;/strong&gt;을 따라가는 것을 권장합니다. 지금 시장에서 가장 빨리 부딫히는 문제는 &amp;ldquo;모델 자체를 깨는 일&amp;quot;보다 &amp;ldquo;LLM이 들어간 앱과 에이전트를 안전하게 운영하는 일&amp;quot;이기 때문입니다.&lt;/p&gt;
&lt;h2&gt;새로 추가된 메뉴&lt;span class="hx:absolute hx:-mt-20" id="새로-추가된-메뉴"&gt;&lt;/span&gt;
&lt;a href="#%ec%83%88%eb%a1%9c-%ec%b6%94%ea%b0%80%eb%90%9c-%eb%a9%94%eb%89%b4" class="subheading-anchor" aria-label="이 섹션에 대한 고유 링크"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a
href="https://ai-security.metacog.co.kr/labs/"&gt;실습&lt;/a&gt;&lt;/strong&gt; — ART/Foolbox 적대적 공격, RAG 챗봇 레드팀 등 단계별로 직접 따라 할 수 있는 핸즈온 가이드.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a
href="https://ai-security.metacog.co.kr/tools/"&gt;도구&lt;/a&gt;&lt;/strong&gt; — 적대적 ML, LLM 레드팀, 거버넌스 영역에서 자주 쓰이는 오픈소스 도구와 표준 문서 모음.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a
href="https://ai-security.metacog.co.kr/glossary/"&gt;용어집&lt;/a&gt;&lt;/strong&gt; — 사이트 전반에서 사용하는 핵심 용어 정리.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;앞으로 새로운 공격/방어 기법, 규제 업데이트(NIST AI RMF, EU AI Act 등), 실습 도구의 변화가 있을 때마다 이 블로그를 통해 업데이트할 예정입니다.&lt;/p&gt;</description></item></channel></rss>