AI의 내부가 투명해진다 — 유출이 신뢰를 만드는 역설

“Claude Code의 소스코드가 유출됐다. Anthropic은 8,000건을 삭제했다. 그런데 정말 삭제해야 했을까?”


2026년 4월 1일, 만우절이었지만 농담이 아니었다. Claude Code의 전체 소스코드가 GitHub에 유출됐다. 시스템 프롬프트, 내부 도구 호출 구조, 권한 체계 — Anthropic이 가장 치밀하게 설계한 에이전트 시스템의 내부가 그대로 드러났다. Anthropic은 DMCA 테이크다운으로 8,000건 이상의 저장소와 Gist를 삭제했다. Hacker News에서는 “The Claude Code Leak”이 189점을 기록하며 활발한 분석이 이어졌다. 삭제는 빨랐지만, 인터넷은 삭제를 기억하지 않는다. 이미 수천 명이 코드를 읽었고, 분석했고, 포크했다.

같은 시기, 전혀 다른 방향에서 움직이는 프로젝트가 있었다. asgeirtj의 system_prompts_leaks 저장소는 ChatGPT, Claude, Gemini, Grok의 시스템 프롬프트를 체계적으로 수집하고 있었고, GitHub 스타 36,000개를 돌파했다. 유출이 아니라 아카이빙이었다. 커뮤니티는 이것을 문제가 아니라 자원으로 취급하고 있었다. 각 모델의 시스템 프롬프트가 어떻게 변화해왔는지 버전별로 추적하고, 모델 간 차이를 분석하는 논의가 활발했다. AI 시스템의 내부를 보려는 욕구는 단순한 호기심이 아니다. 자신이 매일 쓰는 도구가 어떤 원칙으로 작동하는지 알고 싶다는, 신뢰의 전제조건을 확보하려는 구조적 요구다.

이 두 사건을 나란히 놓으면 하나의 흐름이 보인다. 이 글의 thesis는 간단하다. AI 시스템의 내부가 투명해지고 있다. 기업들은 이를 막으려 하지만, 투명성이야말로 신뢰의 전제조건이 되고 있다. 유출을 막는 것이 아니라, 유출이 불필요한 구조를 만드는 것이 해답이다.


1. 무엇이 유출되었는가 — 2026년 4월의 기록

Claude Code 소스코드 유출의 규모부터 정리하자. 드러난 것은 단순한 코드 조각이 아니었다. 전체 시스템 프롬프트 — 모델이 매 대화에서 참조하는 행동 지침의 전문이 공개됐다. 파일을 읽고 쓸 때의 권한 체계, 위험한 명령을 실행하기 전의 확인 절차, 사용자의 코드베이스를 분석할 때의 탐색 전략이 모두 드러났다. 내부 도구 호출 구조도 보였다. 어떤 도구를 어떤 순서로 호출하는지, 에이전트가 “생각”하는 과정이 어떤 파이프라인을 거치는지, 안전 가드레일이 어느 시점에서 개입하는지가 낱낱이 밝혀졌다. 이것은 코드 유출이라기보다 설계 철학의 유출이었다. Anthropic이 AI 에이전트의 안전성과 유용성을 어떻게 균형 잡으려 하는지, 수년간의 시행착오와 의사결정이 담긴 전체 구조가 가시화된 것이다.

system_prompts_leaks 저장소는 다른 차원의 현상이다. 이 프로젝트는 주요 AI 모델의 시스템 프롬프트를 아카이브하는 것을 목적으로 한다. 단순 수집이 아니라, 모델 업데이트에 따른 시스템 프롬프트의 변경 이력까지 추적한다. 36,000개의 스타는 이것이 소수의 관심이 아님을 보여준다. 개발자, 연구자, 기술 리더들이 “AI가 어떤 지시를 받고 있는가”를 알고 싶어 한다는 것이다. 시스템 프롬프트는 모델의 성격을 결정한다. 동일한 Claude Opus 4.6이라도 시스템 프롬프트에 따라 완전히 다른 행동을 한다. 이 프롬프트를 모르면, 사용자는 자신이 쓰고 있는 도구의 본질을 이해할 수 없다. 마치 자동차의 핸들을 잡고 있지만 브레이크가 어떤 조건에서 작동하는지 모르는 것과 같다.

같은 시기, AI의 능력 자체가 투명해지는 사건도 있었다. Claude가 FreeBSD 원격 커널 RCE를 완전히 작성한 것이다. CVE-2026-4747로 등록된 이 취약점의 exploit 코드를 AI가 처음부터 끝까지 생성했다는 사실은 Hacker News에서 267점을 기록하며 큰 논란을 일으켰다. 취약점 분석, exploit 코드 작성, root shell 획득까지 — 이전이라면 숙련된 보안 연구자가 수주에 걸쳐 수행할 작업을 AI가 단일 세션에서 완료했다. AI의 능력이 투명해지면, 위험도 투명해진다. 이 사건은 AI의 공격 능력을 숨기는 것이 더 위험한지, 공개해서 방어를 준비하는 것이 더 안전한지라는 근본적 질문을 던졌다. 이 질문은 이후 논의에서 다시 등장한다.

그리고 커뮤니티의 반응이 있었다. “Claude Code Unpacked: A visual guide”는 ccunpacked.dev에 공개된 시각화 프로젝트로, Claude Code의 내부 구조를 다이어그램과 설명으로 정리한 것이다. Hacker News에서 1,093점을 기록했다. 유출된 소스코드를 단순히 퍼나른 것이 아니다. 커뮤니티가 자발적으로 구조를 분석하고, 비전문가도 이해할 수 있는 시각적 형태로 재구성했다. 기업이 삭제하려 한 것을, 커뮤니티가 더 접근하기 쉬운 형태로 만든 것이다. 유출 자체보다 이 반응이 더 중요한 신호다. 1,093이라는 숫자는 사람들이 AI의 내부를 보고 싶어 한다는 증거다. 보안을 뚫고 싶어서가 아니라, 자신이 의존하는 도구의 작동 원리를 이해하고 싶어서다. 이것은 위협이 아니라 건강한 기술 생태계의 징후다.


2. 투명성 vs 보안 — 끝나지 않는 줄다리기

기업의 입장은 명확하다. 시스템 프롬프트 유출은 곧 경쟁력 유출이다. 수백 시간의 프롬프트 엔지니어링, 수천 건의 A/B 테스트, 레드팀 평가를 통한 안전성 검증이 집약된 결과물이 한 번의 유출로 경쟁사에 넘어간다. 시스템 프롬프트 하나에 모델의 성격, 안전 기준, 도구 사용 전략이 모두 담겨 있다. 이것을 경쟁사가 그대로 복사하면, 수개월의 연구개발 투자가 무의미해진다. 보안 위협도 실재한다. 시스템 프롬프트의 구조를 알면 jailbreak가 쉬워지고, 안전 가드레일의 정확한 트리거 조건을 파악할 수 있으며, 이를 우회하는 공격 벡터가 늘어난다. Anthropic이 8,000건을 삭제한 것은 과잉 반응이 아니라, 지적 재산권과 사용자 안전을 보호하려는 합리적 판단이었다. 적어도 기업의 프레임 안에서는 그렇다.

커뮤니티의 프레임은 근본적으로 다르다. “구조가 보여야 신뢰할 수 있다.” 이전 에세이에서 다룬 sycophancy 문제를 떠올려 보자. AI가 사용자에게 아첨하는 구조적 결함 — RLHF가 만든 동의 편향 — 을 해결하려면 방어 구조가 필요하다. Agent Harness는 그 방어 구조를 투명하게 공개하기 때문에 검증이 가능했다. SYCOPHANCY.md는 5회 교환당 최대 5회 긍정이라는 규칙, opinion reversal이 감지되면 즉시 플래깅하는 메커니즘을 명문화하고, 누구나 읽을 수 있도록 공개한다. 이 규칙이 비밀이었다면, 커뮤니티는 “정말 아첨을 막고 있는가?”를 검증할 방법이 없었을 것이다. “우리를 믿어라”는 것과 “직접 확인해라”는 것 사이에는 본질적인 차이가 있다. 방어 구조의 투명성이 신뢰의 기반이었다.

불투명한 시스템이 만드는 신뢰 붕괴의 실례는 이미 충분하다. GitHub Copilot의 Pull Request 광고 삽입 사건은 Hacker News에서 1,444점을 기록하며 개발자 커뮤니티를 분노시켰다. AI가 생성한 코드 리뷰에 제품 광고가 삽입된 것이다. 사용자는 이 기능의 존재를 사전에 알지 못했다. 코드 리뷰란 개발 프로세스에서 가장 신뢰를 요구하는 영역 중 하나다. 동료가 내 코드를 검토하는 것처럼, AI가 내 Pull Request를 분석하고 개선점을 제안한다. 그런데 그 피드백 사이에 광고가 끼어 있었다. 사용자가 모르는 사이에 상업적 목적의 콘텐츠가 기술적 조언인 것처럼 주입됐다. 문제의 본질은 광고 자체가 아니라, 불투명한 의사결정 구조였다. 사용자가 “이 도구가 내 코드 리뷰에서 정확히 무엇을 하는지” 알 수 없었다는 것이 핵심이다. 코드 리뷰에 광고를 삽입하겠다고 사전에 고지했다면 사용자는 선택할 수 있었다. 투명성의 부재가 선택권을 박탈했다.

ChatGPT의 Cloudflare Turnstile 사건도 같은 구조다. Hacker News에서 938점을 기록한 이 분석은, ChatGPT가 Cloudflare를 통해 사용자로부터 55개의 브라우저 속성을 수집하고 있었음을 밝혀냈다. 브라우저 fingerprinting에 가까운 수준의 데이터 수집이, 사용자가 인지할 수 없는 방식으로 이루어지고 있었다. 화면 해상도, 설치된 플러그인, 시간대, GPU 정보 — 이런 속성들의 조합은 개별 사용자를 높은 정밀도로 식별할 수 있게 한다. 기술적으로 Cloudflare Turnstile은 봇 탐지를 위한 합리적 도구다. 서비스를 자동화된 공격에서 보호하려면 이런 검증이 필요하다. 문제는 “무엇을 수집하는지” 사용자에게 설명하지 않았다는 점이다. 보안을 위한 데이터 수집이라는 명분은 이해할 수 있다. 하지만 55개 속성이 구체적으로 무엇인지, 수집된 데이터가 어떻게 사용되고 얼마나 보존되는지를 사용자가 알 수 없다면, 그것은 보안이 아니라 감시와 구분되지 않는다.

이 두 사건의 공통점은 단순하다. 불투명한 시스템은 의도와 관계없이 불신을 만든다. 선의의 기능이라도, 사용자가 그 존재와 작동 방식을 모르면, 발견되는 순간 배신으로 인식된다. Copilot의 광고 삽입이 사용자 경험을 개선하려는 실험이었을 수도 있다. Cloudflare Turnstile이 순수하게 보안 목적이었을 수도 있다. 하지만 의도가 선하든 악하든, 불투명한 방식으로 수행되면 신뢰는 파괴된다. 한번 파괴된 신뢰를 재건하는 비용은, 처음부터 투명하게 운영하는 비용보다 항상 크다. 반대로 superpowers나 SYCOPHANCY.md 같은 오픈 프로토콜은 방어 구조를 숨기지 않는다. skill 코드가 완전 공개되어 있고, 누구나 읽고, 포크하고, 개선할 수 있다. 방어의 투명성은 취약점이 아니라 강점이 된다. 이것이 기업의 프레임과 커뮤니티의 프레임이 충돌하는 지점이다.


3. 시스템 프롬프트 공개 — 방어는 투명할 때 작동한다

암호학에 Kerckhoffs의 원칙이 있다. 1883년에 제안된 이 원칙의 핵심은 간단하다. “시스템의 안전은 알고리즘의 비밀이 아니라 키의 비밀에 의존해야 한다.” 암호 알고리즘 자체는 공개되어도 안전해야 한다. 비밀은 키에만 있어야 한다. AES, RSA 같은 현대 암호 체계가 모두 이 원칙을 따른다. 알고리즘은 완전히 공개되어 있고, 전 세계 수학자와 보안 연구자가 검증한다. 안전성은 키의 비밀에서 온다.

이 원칙을 AI 시스템에 적용하면 어떤 결론이 나오는가. 시스템 프롬프트는 알고리즘에 해당한다. AI의 행동 규칙, 안전 가드레일, 도구 호출 구조 — 이것은 시스템이 “어떻게 작동하는가”를 정의한다. 사용자 맥락은 키에 해당한다. 개별 사용자의 대화 내용, 코드베이스, 프로젝트 데이터 — 이것은 시스템이 “무엇에 대해 작동하는가”를 정의한다. Kerckhoffs의 원칙을 따르면, 시스템 프롬프트(알고리즘)는 공개되어도 사용자 맥락(키)이 보호되면 안전할 수 있다. 아니, 공개되어야 더 안전하다. 더 많은 눈이 검증할 수 있기 때문이다.

SYCOPHANCY.md가 이 원칙의 실례다. 5회 교환당 최대 5회 긍정이라는 규칙, opinion reversal이 감지되면 즉시 플래깅하는 메커니즘, 사용자의 기술적 주장에 대해 독립적 검증을 수행하라는 지시 — 이 모든 것이 공개되어 있다. 누군가가 이 규칙을 악용할 수 있을까? 가능은 하다. “5회까지는 긍정한다”는 규칙을 알면, 의도적으로 5회 이내에서만 질문하는 조작이 가능하다. 하지만 규칙이 공개되어 있기 때문에 이런 악용 패턴 자체도 커뮤니티가 탐지하고 대응할 수 있다. 악용 시도가 보고되면 규칙이 업데이트된다. 이것이 오픈 시스템의 자기 교정 능력이다. 규칙이 비밀이라면, 악용이 발생해도 아무도 모른다. 방어가 비밀일 때, 방어의 실패도 비밀이 된다. 이것은 보안이 아니라 취약점이다.

superpowers 프로젝트가 GitHub에서 13.2만 스타를 기록한 이유도 여기에 있다. skill 코드가 완전 공개되어 있다. 브레인스토밍 skill이 어떤 프롬프트를 쓰는지, 코드 리뷰 skill이 어떤 기준으로 평가하는지, 디버깅 skill이 어떤 순서로 문제를 분석하는지, 누구나 읽을 수 있다. 이것은 보안 취약점이 아니다. 신뢰의 원천이다. 사용자는 도구가 자신의 코드에 무엇을 하는지 정확히 알 수 있다. 불만이 있으면 포크해서 고칠 수 있다. 개선 아이디어가 있으면 PR을 보낼 수 있다. 실제로 수천 건의 커뮤니티 기여가 superpowers의 skill을 지속적으로 개선하고 있다. 이 개방성이 만든 네트워크 효과가 13.2만 스타라는 숫자의 실체다.

역설은 여기서 완성된다. 보안의 직관은 “숨기면 안전하다”다. 하지만 143년 전 Kerckhoffs가 증명했고, 현대 암호학이 입증하고, AI 생태계가 다시 한 번 보여주고 있다 — “보여줘야 신뢰된다.” 시스템 프롬프트를 숨기는 것은 security through obscurity다. 작동하는 것처럼 보이지만, 유출되는 순간 모든 것이 무너진다. 시스템 프롬프트를 공개하는 것은 Kerckhoffs의 원칙이다. 알고리즘이 공개되어도 안전한 시스템을 만드는 것이다. 이것이 더 어려운 길이지만, 유일하게 지속 가능한 길이기도 하다.


4. 신뢰의 조건은 통제인가, 투명성인가

당신은 내부를 보여주지 않는 도구를 신뢰하는가?

이 질문은 기술의 영역을 넘어 철학의 영역에 닿는다. 우리는 무언가를 신뢰할 때, 그 신뢰의 근거가 무엇인지를 묻지 않는 경우가 많다. 은행을 신뢰하는가? 그것은 은행의 내부 운영을 알기 때문이 아니라, 규제 당국의 감독과 외부 감사라는 투명성 메커니즘이 존재하기 때문이다. 금융 기관의 재무제표가 공개되고, 독립된 감사인이 검증하고, 규제 당국이 감시한다. 이 다층적 투명성이 신뢰의 기반이다. 의사를 신뢰하는가? 그것은 의사의 판단 과정을 모두 이해하기 때문이 아니라, 의학 교육 체계와 동료 검증, 의료 과실에 대한 법적 책임이라는 투명성 메커니즘이 존재하기 때문이다. 신뢰는 통제에서 오지 않는다. 검증 가능성에서 온다. 검증할 수 없는 것을 신뢰하라고 요구하는 것은 권위에 대한 복종이지, 신뢰가 아니다.

그런데 현재 AI 산업의 대부분은 바로 그것을 요구하고 있다. “우리의 AI는 안전합니다. 내부를 보여드릴 수는 없지만, 우리를 믿어주세요.” 이것은 은행이 “재무제표는 공개하지 않지만, 우리는 건전합니다”라고 말하는 것과 구조적으로 동일하다.

Anthropic의 딜레마는 AI 산업 전체의 딜레마다. 유출을 막으려 할수록 커뮤니티의 불신이 커진다. “뭘 숨기고 있길래 저렇게 필사적으로 삭제하는가?” 공개하면 경쟁력이 줄어든다. 수백 시간의 프롬프트 엔지니어링이 경쟁사의 출발점이 된다. 이것은 진짜 딜레마다. 양쪽 모두 합리적 근거가 있고, 어느 쪽도 쉽게 물러서지 못한다.

하지만 데이터는 한쪽을 가리킨다. 오픈 프로토콜 진영의 성과를 보자. superpowers는 skill 코드를 완전 공개하고 13.2만 스타를 기록했다. SYCOPHANCY.md는 방어 규칙을 투명하게 명문화하고, 커뮤니티가 이를 검증하고 개선하는 선순환을 만들었다. “Claude Code Unpacked” 시각화 가이드는 1,093점을 기록하며, AI 내부 구조에 대한 이해를 대중화했다. 반대편을 보자. Copilot은 PR 광고 삽입을 숨기다 1,444점짜리 신뢰 위기를 맞았다. ChatGPT는 55개 속성 수집을 숨기다 938점짜리 감시 논란에 직면했다. 패턴은 일관적이다. 투명성은 성장을 만들고, 불투명성은 위기를 만든다. 이것은 감정적 판단이 아니라, Hacker News 점수라는 정량적 지표가 보여주는 커뮤니티의 집단 지성이다.

물론 이것을 단순화하면 안 된다. 모든 것을 공개하는 것이 답은 아니다. CVE-2026-4747이 보여주듯, AI의 능력이 투명해지면 위험도 투명해진다. FreeBSD 원격 커널 RCE를 AI가 완전히 작성할 수 있다는 사실을 공개하는 것은 방어자에게도 공격자에게도 정보를 준다. 모델 가중치를 공개하는 것과 시스템 프롬프트를 공개하는 것은 위험 수준이 다르다. 투명성의 범위와 방식에 대한 섬세한 설계가 필요하다. “무엇을”과 “어디까지”를 신중하게 결정해야 한다. 하지만 방향은 명확하다. “무엇을 공개할 것인가”를 고민하는 것이지, “공개하지 않을 것인가”를 고민하는 시대는 이미 지났다.

Claude Code의 소스가 유출되었을 때, Anthropic은 8,000건을 삭제했다. 하지만 커뮤니티가 만든 시각화 가이드는 Hacker News에서 1,093점을 받았다. 기업이 삭제한 것을 커뮤니티가 재구성했고, 더 많은 사람이 이해할 수 있는 형태로 만들었다. 누가 신뢰를 만들고 있는가? 삭제하는 쪽인가, 보여주는 쪽인가?

유출은 멈출 수 있다. 하지만 투명성에 대한 요구는 멈출 수 없다. 그리고 그 요구에 응답하는 방식이 — 삭제인지 공개인지 — 결국 그 기업이 신뢰받는지 아닌지를 결정한다.


참고문헌

  1. “The Claude Code Leak” — Hacker News discussion (189점)
  2. asgeirtj/system_prompts_leaks — GitHub (36K stars)
  3. “Claude Code Unpacked: A visual guide” — ccunpacked.dev (Hacker News 1,093점)
  4. “Claude wrote a full FreeBSD remote kernel RCE with root shell” — CVE-2026-4747 (Hacker News 267점)
  5. GitHub Copilot PR ad insertion incident (Hacker News 1,444점)
  6. ChatGPT Cloudflare Turnstile analysis (Hacker News 938점)
  7. SYCOPHANCY.md Protocol v1.0 (2026)
  8. Kerckhoffs’s principle — Wikipedia