coredot.today
AI가 취약점을 스스로 찾기 시작했다 — 저울이 기운 3주
블로그로 돌아가기
AI 보안제로데이공급망 공격arrayrefSharePointAIxCCPreparedness Framework취약점 헌팅

AI가 취약점을 스스로 찾기 시작했다 — 저울이 기운 3주

8월 1일 OpenAI의 Astra가 10년 넘게 풀리지 않던 수학 난제 10개를 2,000달러로 풀었습니다. 6일 뒤 같은 모델이 '사람 없이 제로데이를 만들 수 있다'는 이유로 격리됐습니다. 그리고 8월 20일, 2억 4천만 번 다운로드된 Rust 크레이트가 86분간 악성 코드를 배포했습니다. 이 세 사건은 하나의 이야기입니다 — 1988년 모리스 웜부터 시작된 '기계가 취약점을 찾는다'는 계보가 어디까지 왔고, 왜 지금 저울이 기울고 있는지 끝까지 추적합니다.

코어닷투데이2026-08-2265

기울어지는 저울크게 보기

2026년 8월, 세 개의 뉴스가 따로 지나갔습니다.

8월 1일. OpenAI가 차기 모델 Astra의 내부 버전이 10년 이상 미해결이던 수학·이론전산 문제 10개를 풀었다고 발표했습니다. 미하일 그로모프가 1999년 소픽(sofic) 개념을 제시한 이래 열려 있던 비(非)소픽 군의 최초 명시적 구성, 콘의 강직성 추측 반증, 에르되시 문제 3개. 전부 기계가 검증할 수 있는 Lean 인증서를 달고 나왔습니다. 총 연산 비용은 약 2,000달러였습니다.

8월 7일. 같은 회사가 Astra의 내부 개발을 일시 중단한다고 밝혔습니다. 이유는 이렇습니다 — 이 모델이 사람의 지시 없이 스스로 제로데이를 찾아 익스플로잇을 개발할 수 있는 수준, 즉 자사 Preparedness Framework의 '심각(Critical)' 사이버 임계에 도달했을 가능성을 배제할 수 없다는 것.

8월 20일. 러스트 생태계에서 2억 4,500만 번 다운로드된 크레이트 arrayref의 악성 버전이 crates.io에 올라왔습니다. 빌드 스크립트가 컴파일 도중 원격 바이너리를 받아 실행했습니다. 86분 만에 내려갔지만, 그 사이 cargo build를 돌린 사람은 이미 당한 뒤였습니다.

세 사건은 서로 다른 뉴스처럼 보입니다. 그런데 그 사이에 이런 사실이 하나 더 공개됐습니다. 마이크로소프트 SharePoint를 계정 없이 관리자로 진입할 수 있게 하는 취약점 체인을 Rapid7이 찾아냈는데, 그 작업의 상당 부분이 AI 에이전트로 수행됐고 규모가 이랬습니다.

24일간 · 96개 세션 · 256개 프롬프트 · 약 80,000회의 에이전트 도구 호출

이 글은 이 네 조각을 하나로 꿰맵니다. 다루는 것은 이렇습니다.

  1. 3주 동안 정확히 무슨 일이 있었나 (타임라인)
  2. 왜 지금인가 — 1988년 모리스 웜부터 시작된 40년의 계보
  3. 왜 이렇게 잘 찾나 — 퍼저와 LLM 에이전트의 기술적 차이
  4. 저울은 어느 쪽으로 기우는가 — 공격·방어 균형의 진짜 비대칭
  5. 실무에서 오늘 당장 할 것
  6. Astra 사건이 진짜로 묻는 것

미리 결론 한 줄을 놓고 가겠습니다. AI는 취약점 '발견'을 싸게 만들었지만, '대응'은 여전히 사람과 조직의 속도로 움직입니다. 위험의 실체는 능력이 아니라 그 격차입니다.


1부. 3주 동안 벌어진 일

8월 1일 — 수학 난제 10개, 2,000달러

먼저 Astra가 무엇을 했는지부터 정확히 봅시다. 이 대목을 건너뛰면 8월 7일의 조치가 과잉으로 보입니다.

성과내용의미
비소픽 군의 최초 구성1999년 그로모프가 소픽 개념을 도입한 이래 "소픽하지 않은 군이 존재하는가"는 군론의 열린 질문이었다존재 증명이 아니라 명시적 구성이다
콘의 강직성 추측 반증작용소 대수의 오래된 추측반례를 찾아냈다
에르되시 문제 3개 해결에르되시 문제 목록의 미해결 항목목록 관리자 토머스 블룸이 "큰 뉴스"라 평가
단위거리 추측 반증(5월)1946년 이래 80년간 버틴 이산기하 문제필즈상 수상자 팀 가워스가 "주저 없이 최고 저널에 추천했을 것"이라 평했고, 이후 가워스·노가 알론 등 수학자 9명이 그 증명을 사람이 따라가기 쉽게 풀어쓴 해설 논문을 냈다
전부 Lean 인증서 첨부기계 검증 가능한 형식 증명이 함께 나왔다"진짜인가"를 사람이 믿어줄 필요가 없다

마지막 줄이 중요합니다. 검증이 기계화되어 있으면 "AI가 헛소리를 그럴듯하게 했다"는 반론이 성립하지 않습니다. 그리고 이 사실은 3부에서 "왜 AI가 보안 연구를 잘하는가"의 핵심 단서가 됩니다.

8월 7일 — 그리고 같은 모델이 격리됐다

6일 뒤, OpenAI는 Astra의 일부 내부 작업을 멈췄습니다. 내부 평가에서 이 시스템이 예상보다 훨씬 더 사이버 보안 과제에 능숙하다는 것이 드러났기 때문입니다.

OpenAI의 Preparedness Framework에서 사이버 영역의 '심각(Critical)' 등급은 이렇게 정의됩니다.

실제 시스템에서 사람의 지시 없이 스스로 심각한 소프트웨어 취약점을 찾아 익스플로잇하거나, 강하게 방어된 표적에 정교한 사이버 공격을 수행할 수 있는 능력.

OpenAI는 Astra가 이 임계에 도달했다고 단정하지 않았습니다. 표현은 "배제할 수 없다(cannot rule out)"였습니다. 그리고 그 불확실성만으로 다음 조치들이 취해졌습니다.

격리
격리된 테스트 환경에서만 실행. 네트워크와 도구 접근을 제한한다.
봉인
모델 가중치 암호화, 샌드박스 실행. 유출 자체를 막는 조치다.
감시
사고사슬(chain-of-thought) 모니터링으로 고위험 활동을 실시간 중단한다.
재작성
Preparedness Framework 문서 자체를 다시 쓰고 있다. 기준이 현실을 못 따라갔다는 자백이다.

제품 취소가 아니라 안전장치를 갖출 때까지의 의도적 보류라는 점도 분명히 해둡니다. 그럼에도 이것은 프론티어 랩이 자기 프레임워크 때문에 실물 비용(출시 지연)을 지불한 첫 사례입니다.

8월 11~20일 — 이론이 현실로 내려오는 데 걸린 시간

같은 기간, 이론이 아니라 실제 공격에서 벌어진 일들입니다.

날짜사건숫자
2026.1 · 3월Rapid7 Labs가 두 차례 스프린트로 SharePoint를 연구. 상당 부분을 에이전트가 수행24 활동일 · 96세션 · 256프롬프트 · 약 80,000회 도구 호출
8.11체인의 두 번째 고리 CVE-2026-63520 공개 (SharePoint BCS의 안전하지 않은 .NET 타입 인스턴스화)CVSS 8.1
8월 중CVE-2026-55040 — 원격 미인증 공격자가 임의 사용자(관리자 포함)의 신원을 가질 수 있는 인증 우회. 위 RCE와 엮으면 미인증 원격 코드 실행CVSS 9.1
PoC 공개 직후공개된 PoC를 이용한 실제 공격 관측, KEV 등재공개 후 약 24시간
8.20crates.io 공급망 공격 — 아래에서 자세히86 / 90 / 107분

8월 20일 — 86분

설치가 곧 실행이다크게 보기

이 사건은 별도로 뜯어볼 가치가 있습니다. 왜냐하면 AI와 무관해 보이지만 실은 같은 이야기의 다른 얼굴이기 때문입니다.

무슨 일이 있었나:

항목내용
침해된 계정러스트 커뮤니티에서 BurntSushi로 알려진 앤드루 갤런트. ripgrep의 저자이며 널리 쓰이는 크레이트를 다수 관리한다. 러스트 보안 대응팀은 본인의 악의가 아니라 계정·기기 침해로 판단했다.
악성 배포본arrayref@0.3.10, internment@0.8.7, append-only-vec@0.1.9
수법타이포스쿼트 의존성 proc-macro1을 추가. 그 크레이트의 build.rs가 base64로 숨긴 주소를 복원해 TLS 인증서 검증 없이 2단계 바이너리를 내려받아 컴파일 도중 실행했다.
결정적 신호proc-macro1arrayref 10년 역사상 처음 추가된 의존성이었다
노출 규모arrayref 누적 다운로드 2억 4,500만회(최근 90일 5,370만), 이를 의존하는 크레이트 403개. 러스트가 설치된 환경의 약 3/4에서 발견된다.
대응 속도각각 86분 · 90분 · 107분 만에 삭제
배후Wiz는 이 캠페인이 북한 연계 활동과 상당 부분 겹친다고 분석했다

86분은 훌륭한 대응 속도입니다. 러스트 보안팀은 잘했습니다. 그런데도 이 사건이 무서운 이유는 따로 있습니다.

의존성을 설치하는 행위 자체가 곧 코드 실행입니다. 러스트의 build.rs, npm의 postinstall, 파이썬의 setup.py가 전부 그렇습니다. 여러분이 cargo build를 누르는 순간, 의존성 트리 어딘가의 남의 코드가 여러분의 기계에서 돕니다. 리뷰 없이, 승인 없이.

그 86분 안에 CI가 돌았다면, 그 CI에 있던 토큰은 이미 나갔습니다.


2부. 왜 지금인가 — 40년의 계보

기계가 취약점을 찾기까지크게 보기

"기계가 스스로 취약점을 찾는다"는 아이디어는 2026년에 생긴 게 아닙니다. 40년 가까이 단계적으로 쌓여 온 계보가 있고, 각 단계가 무엇을 못 했는지를 알아야 지금이 왜 다른지 보입니다.

1988 — 모리스 웜: 자동화된 공격의 원형

코넬 대학원생 로버트 모리스가 만든 웜이 인터넷에 연결된 컴퓨터의 상당수를 마비시켰습니다. 의도는 규모 측정이었지만 결과는 최초의 대규모 인터넷 사고였습니다. 여기서 확립된 것은 하나입니다 — 공격은 자동화될 수 있다. 사람이 한 대씩 손으로 뚫지 않아도 됩니다.

1990 — 퍼징: 자동 발견의 시작

바턴 밀러 연구팀이 유닉스 유틸리티에 무작위 입력을 쏟아부었더니 상당수가 크래시했습니다. 퍼징(fuzzing)의 탄생입니다. 이후 AFL, libFuzzer, OSS-Fuzz로 이어지며 대규모 자동 발견의 주력이 됩니다.

퍼징의 강점과 한계는 명확합니다.

퍼징이 잘하는 것퍼징이 못하는 것
메모리 안전성 버그 — 크래시가 곧 신호다크래시하지 않는 취약점 — 인증 우회, 권한 상승, 로직 결함
대량 반복. 사람의 도메인 지식이 필요 없다코드의 의미를 이해하지 못한다
회귀 방지에 탁월"이 토큰 검증 함수가 무엇을 빠뜨렸나"는 물을 수 없다

이 오른쪽 칸이 35년간 사람 연구자의 영역으로 남아 있었습니다. 그리고 SharePoint의 CVE-2026-55040이 정확히 오른쪽 칸에 속하는 취약점입니다.

2016 — DARPA 사이버 그랜드 챌린지

DEF CON 24에서 기계 7대가 서로의 소프트웨어에서 취약점을 찾고, 익스플로잇을 만들고, 패치까지 자동으로 수행하는 대회가 열렸습니다. Mayhem이 우승했습니다. "기계가 스스로 찾고 고친다"의 첫 공개 증명입니다.

다만 한계도 분명했습니다. 단순화된 환경, 특수 제작된 바이너리, 메모리 안전성 버그 중심. 현실의 수백만 줄 코드베이스와는 거리가 있었습니다.

2024.11 — Big Sleep: 퍼저가 못 찾던 것을 찾다

구글 딥마인드와 프로젝트 제로가 만든 LLM 에이전트 Big Sleep이 SQLite에서 실제 취약점을 찾아냈습니다. 구글은 이것을 "AI 에이전트가 실제 소프트웨어에서 발견한 최초의 취약점"이라고 주장했습니다.

중요한 것은 종류입니다. 이미 OSS-Fuzz가 SQLite를 오랫동안 퍼징하고 있었는데도 남아 있던 버그였습니다.

2025.7 — 악용되기 전에 막다

더 결정적인 사건은 그다음이었습니다. Big Sleep이 SQLite에서 CVE-2025-6965를 찾아냈는데, 구글의 설명에 따르면 이 취약점은 "위협 행위자만 알고 있었고 악용 위험에 처해 있던" 것이었습니다.

"우리가 아는 한, AI 에이전트가 실제 악용 시도를 직접 저지한 최초의 사례입니다."

방어 쪽이 처음으로 선제 점수를 낸 순간입니다. 이 사실은 4부의 균형 논의에서 다시 나옵니다.

2025.8 — AIxCC 결승: 규모의 증명

2016년 CGC의 직계 후속인 DARPA AI 사이버 챌린지(AIxCC) 결승이 DEF CON 33에서 끝났습니다. 일곱 팀이 LLM을 결합한 사이버 추론 시스템(CRS)으로 오픈소스의 취약점을 자동으로 찾고 패치했습니다.

발견율 (준결승)
37%
발견율 (결승)
86%
패치율 (준결승)
25%
패치율 (결승)
68%

한 해 만에 발견율이 37%에서 86%로, 패치율이 25%에서 68%로 올랐습니다. 그리고 합성 문제만 푼 게 아닙니다. 결승에서 실제(비합성) 취약점 18건(C 6건, 자바 12건)을 찾아냈고 그중 11건에 패치를 제출했습니다.

우승은 조지아텍·KAIST·POSTECH·삼성리서치 연합인 Team Atlanta(ATLANTIS, 400만 달러), 2위 Trail of Bits(Buttercup, 300만 달러), 3위 Theori(150만 달러)였습니다. 한국 연구진이 1·3위에 있다는 점은 기억해 둘 만합니다.

그리고 결정적으로, 결승 진출 시스템은 전부 오픈소스로 공개됐습니다. 5부에서 이걸 어떻게 쓸지 이야기합니다.

2025.9 — GTG-1002: 공격 쪽의 첫 대규모 자동화

같은 해 9월, 중국 국가 연계로 지목된 그룹(GTG-1002)이 Claude Code를 탈옥해 다단계 침투의 80~90%를 자동화한 캠페인이 적발됐습니다. 정찰, 취약점 발견, 익스플로잇, 자격증명 수집, 데이터 반출까지 AI가 수행했고, 표적은 약 30곳이었습니다. 사람은 전략적 결정 지점에만 개입했습니다.

우회 방법이 인상적입니다. "우리는 인가된 방어 테스트를 하는 중"이라고 AI를 사회공학적으로 설득했습니다.

그래서 2026년 8월

시기누가 자동화됐나한계
1988확산(공격)발견은 사람이
1990~발견(퍼징)크래시하는 버그만
2016 CGC발견+패치장난감 환경
2024 Big Sleep의미 이해 기반 발견사례 단위
2025 AIxCC실제 코드에서 발견+패치, 규모 확보대회 조건
2025 GTG-1002침투 전 과정(공격)탈옥 필요
2026.8Rapid7: 실제 엔터프라이즈 제품에서 논리 취약점 체인 발견
Astra: 지시 없이 가능할지도 모른다는 판정

계보의 각 칸이 하나씩 채워지다가, 2026년 8월에 마지막 칸의 '한계' 열이 비었습니다.


3부. 왜 이렇게 잘 찾나

하이브리드 루프크게 보기

여기서 기술적인 질문에 답해야 합니다. 35년간 퍼징이 못 하던 것을 LLM 에이전트는 왜 하는가?

차이 ①: 크래시가 아니라 의미를 본다

퍼저의 세계관에서 "취약점"은 프로그램이 죽는 것입니다. 그래서 죽지 않는 취약점은 존재하지 않는 것과 같습니다.

LLM 에이전트는 코드를 읽습니다. JWT 토큰 검증 함수를 보고 "서명은 확인하는데 발급자는 확인하지 않는군"이라고 추론할 수 있습니다. 이건 입력을 무작위로 흔들어서는 절대 나오지 않는 발견입니다.

SharePoint의 CVE-2026-55040(인증 우회, CVSS 9.1)이 정확히 이 유형입니다. 어떤 입력을 넣어도 프로그램은 죽지 않습니다. 다만 당신을 관리자로 인정할 뿐입니다.

차이 ②: 인내심의 가격이 0이 됐다

Rapid7의 숫자를 다시 봅시다. 약 80,000회의 도구 호출.

취약점 연구의 본질은 99%의 헛수고와 1%의 발견입니다. 코드를 읽고, 가설을 세우고, 시도하고, 틀리고, 다시 읽습니다. 사람 연구자에게 이 헛수고는 비싸고 지칩니다. 그래서 대부분의 연구는 "여기까지"에서 멈춥니다.

에이전트에게 헛수고는 토큰 비용입니다. 멈추는 지점이 인내심이 아니라 예산으로 결정됩니다.

이것이 이 사건들의 가장 중요한 기술적 함의입니다. 모델이 사람 연구자보다 똑똑해서가 아닙니다. 덜 똑똑해도 1,000배 더 오래 붙어 있을 수 있으면 결과가 뒤집힙니다.

차이 ③: 검증 함수가 있다

이 블로그에서 에이전트에게 맡겨도 되는 작업의 다섯 조건을 다룬 적이 있습니다. 첫 번째 조건이 "결과가 맞는지 기계가 판정할 수 있는가"였습니다.

보안 연구는 이 조건을 완벽하게 만족합니다.

조건취약점 헌팅에서
검증 함수익스플로잇이 동작하면 참이다. 논쟁의 여지가 없다.
정답의 명확성"셸을 얻었는가"는 예/아니오다
반복성수천 개의 함수, 수만 개의 입력 경로
되돌리기 비용테스트 환경에서 실패는 공짜다
사람의 위치연구자가 가설의 방향과 루프를 설계한다

같은 이유로 Astra의 수학 성과도 설명됩니다. Lean 인증서가 검증 함수입니다. 증명이 통과하면 참이고, 안 되면 거짓입니다. 사람의 승인이 필요 없습니다.

핵심: AI가 뛰어난 영역은 "어려운 영역"이 아니라 "기계가 정답을 채점할 수 있는 영역"입니다. 수학 증명과 익스플로잇 개발은 이 기준에서 같은 종류의 문제입니다. 그래서 8월 1일과 8월 7일은 같은 능력의 두 얼굴입니다.

차이 ④: 하이브리드가 진짜 답이다

AIxCC 결승 시스템들이 보여준 구조는 순수 LLM도 순수 퍼저도 아닙니다.

사이버 추론 시스템(CRS)의 루프
LLM 코드를 읽고 "여기가 의심스럽다"는 가설을 세운다. 도메인 의미를 이해하는 유일한 부품.
퍼저 · 심볼릭 실행 그 가설이 맞는지 기계적으로 두들겨 확인한다. 여기서 환각이 걸러진다.
LLM + 테스트 패치를 만들고, 기존 테스트가 전부 통과하는지로 채점한다. 통과 못 하면 다시.

각 부품의 약점을 다른 부품이 덮습니다. LLM은 환각하지만 퍼저가 거릅니다. 퍼저는 의미를 모르지만 LLM이 겨냥해 줍니다. 이 조합이 발견율을 한 해 만에 37%에서 86%로 끌어올린 구조입니다.


그리고 아직 못 하는 것

과장하지 않기 위해 반대쪽도 적어 둡니다. 2026년 8월 기준으로 자동화가 아직 못 하거나 잘 못하는 영역이 분명히 있습니다.

한계내용
완전하지 않다AIxCC 결승의 발견율은 86%지 100%가 아니다. 그리고 찾은 것 중 68%만 패치했다. 나머지는 사람이 해야 한다.
대회 조건이었다"이 코드베이스에 취약점이 있다"는 전제가 주어진 상태였다. 실무의 신호 대 잡음비는 훨씬 나쁘고, 오탐 홍수가 현실의 첫 번째 장벽이다.
패치가 기능을 깨뜨린다자동 패치의 채점 기준은 "기존 테스트 통과"다. 테스트가 부실한 코드베이스에서는 통과해도 깨진다. 테스트 커버리지가 자동 패치의 전제 조건이다.
비즈니스 로직은 여전히 어렵다"이 할인 쿠폰을 두 번 쓸 수 있다"는 취약점은 코드만 봐서는 판단할 수 없다. 코드 바깥의 의도를 알아야 한다.
분산 상태 취약점여러 서비스에 걸친 경합·순서 의존 결함은 한 저장소를 읽어서 나오지 않는다
공짜가 아니다80,000회 도구 호출에는 실제 비용이 든다. 다만 숙련 연구자 24일보다 싸다면 경제성은 이미 넘어섰다는 뜻이기도 하다.

즉 지금의 상태는 "AI가 사람 연구자를 대체했다"가 아니라 "사람 연구자 한 명이 감당하는 범위가 수십 배로 늘었다"입니다. 그리고 그건 공격자 쪽에서도 똑같이 일어났습니다.


4부. 저울은 어느 쪽으로 기우나

두 개의 시계크게 보기

이제 진짜 질문입니다. AI는 공격자와 방어자 중 누구에게 더 유리한가?

양쪽 논거

방어가 유리하다는 논거공격이 유리하다는 논거
방어자는 소스 코드를 가지고 있다. AI에게 훨씬 유리한 조건.방어자는 전부 막아야 하고 공격자는 하나만 뚫으면 된다. 비대칭은 그대로.
Big Sleep처럼 악용 전에 선제 차단이 가능해졌다진입 장벽이 무너졌다. 숙련 연구자만 하던 일을 예산만 있으면 한다.
AIxCC 시스템이 오픈소스로 공개됐다 — 방어 도구의 대중화같은 도구를 공격자도 쓴다. 오픈소스는 양쪽에 열려 있다.
패치 생성도 자동화된다 (결승 패치율 68%)패치 적용은 자동화되지 않는다 — 여기가 핵심이다

진짜 비대칭은 능력이 아니라 속도다

마지막 줄이 이 글의 핵심 주장입니다. 숫자로 보면 명확합니다.

구간2026년 현재 속도누구의 속도인가
취약점 발견에이전트가 24일간 80,000회 시도기계 속도
공개 → 첫 익스플로잇중앙값 10시간기계 속도
SharePoint PoC → 실제 공격24시간기계 속도
고가치 표적의 평균 악용 시점Mandiant M-Trends 2026 기준 −7일
(패치 공지가 나오기 전에 이미 악용 중)
기계 속도
조직의 패치 적용여전히 주~월 단위사람 속도
악성 패키지 탐지·삭제86~107분 (훌륭한 편)사람 속도
그 사이 빌드를 돌린 조직의 복구토큰 회수, 자격증명 교체, 감사 — 며칠사람 속도

발견은 기계 속도로, 대응은 사람 속도로 돌아갑니다. 그리고 AI는 위쪽 절반만 가속했습니다.

이 구조는 이 블로그에서 반복해 다뤄 온 비대칭과 정확히 같은 모양입니다.

영역싸진 것안 싸진 것
읽기요약이해
쓰기문장 생성구조와 판단
코딩코드 생성검증
보안취약점 발견패치 적용과 복구

규제가 이 격차를 강제로 좁히려 한다

이 격차를 정부도 인지했습니다. 미국 CISA는 AI로 가속된 위협을 근거로 크리티컬 취약점의 패치 기한을 3일로 단축하는 강제 지침(BOD 26-04)을 내놨습니다.

3일이라는 숫자가 자의적으로 보인다면, 위 표를 다시 보십시오. PoC 공개 후 실제 악용까지 24시간입니다. 3일도 사실은 느립니다.


자주 나오는 네 가지 오해

이 주제는 과장과 축소가 동시에 일어납니다. 흔한 반응 네 개를 정리합니다.

흔한 반응실제로는
"AI가 해킹한다는 건 마케팅 아닌가"Rapid7의 SharePoint 체인은 CVE 번호가 붙고 실제로 악용된 취약점이다. GTG-1002는 표적 30곳에 대한 실제 캠페인이었다. 데모가 아니라 사고 기록이다.
"결국 퍼저를 LLM으로 포장한 것 아닌가"퍼저는 크래시하는 버그만 찾는다. 인증 우회(CVSS 9.1)는 프로그램이 죽지 않는다. 35년간 퍼저가 못 건드리던 영역이다.
"우리는 작아서 표적이 아니다"공급망 공격은 표적을 고르지 않는다. arrayref는 러스트가 깔린 환경의 약 3/4에 있었다. 공격자는 당신을 노린 게 아니라 당신이 쓰는 라이브러리를 노렸다.
"프론티어 모델을 규제하면 된다"Astra는 멈췄지만 능력은 확산한다. 오픈웨이트 모델에는 격리도 모니터링도 걸 수 없고, 공격자는 애초에 남의 에이전트를 탈옥해 썼다.

5부. 실무 — 오늘 당장 할 것

이 글에서 가장 오래 쓸모 있을 부분입니다. 네 갈래로 나눕니다.

A. 빌드 타임 실행을 막아라 (arrayref의 교훈)

가장 먼저 인정해야 할 사실은 이겁니다. npm install, cargo build, pip install은 전부 "남의 코드를 내 기계에서 실행하기" 명령입니다.

조치효과주의
락파일 고정 + --locked/--frozen새 버전이 조용히 딸려 오는 경로를 차단한다. arrayref 사건에서 락파일을 고정한 조직은 무사했다.CI에서 강제해야 의미가 있다
벤더링 (cargo vendor, 사설 미러/프록시)업스트림 변경이 즉시 전파되지 않는다미러 갱신 정책이 필요
빌드를 네트워크 차단 컨테이너에서가장 강력하다. 빌드 스크립트가 원격 페이로드를 받지 못하면 이 공격은 성립하지 않는다.의존성 사전 캐싱 필요
npm ci --ignore-scriptspostinstall 계열 실행을 막는다만능이 아니다. 우회 경로가 있으므로 다른 층과 함께 써야 한다
러스트의 build.rs현재 전역 비활성화 수단이 없다. 2018년부터 열려 있던 샌드박싱 이슈가 다음 에디션에서 기본 활성화될 예정이다.그때까지는 빌드 격리가 유일한 방어

그리고 가장 값싼 탐지 신호 하나. arrayref 사건의 결정적 이상 징후는 버전 번호가 아니라 이것이었습니다 — 10년 동안 의존성이 하나도 없던 크레이트에 갑자기 의존성이 추가됐다.

CI에 넣을 경보 규칙
1 의존성 추가가 발생하면 경보 (버전 상향은 정상, 새 이름의 등장은 검토 대상)
2 패키지에 빌드 스크립트가 새로 생기면 경보 (build.rs · postinstall · setup.py)
3 유명 패키지의 이름이 한 글자 다른 신규 의존성은 자동 차단 (proc-macro2 vs proc-macro1)

A-2. 이미 당했는지 확인하는 법 (arrayref 구체 대응)

"우리는 괜찮겠지"로 넘어가지 마십시오. 확인은 10분이면 됩니다.

노출 여부 확인 순서
1. 시간대 2026-08-20 07:15 ~ 09:25 UTC 사이에 러스트 의존성을 새로 받은 CI 잡·개발 머신이 있는지 확인한다. 락파일이 고정돼 있고 그 사이 갱신이 없었다면 안전하다.
2. 흔적 저장소 전체에서 proc-macro1을 검색한다(proc-macro2가 아니다). 그리고 arrayref 0.3.10, internment 0.8.7, append-only-vec 0.1.9가 락파일이나 캐시에 있는지 본다.
3. 캐시 해당 시간대에 빌드한 머신의 ~/.cargo/registry 캐시를 비우고 다시 받는다. 삭제된 버전이 로컬 캐시에는 남아 있을 수 있다.
4. 회수 노출이 확인되면 그 머신이 접근할 수 있었던 모든 자격증명을 교체한다 — CI 토큰, 레지스트리 배포 토큰, 클라우드 키, SSH 키, 환경변수의 API 키. 이 공격 유형의 1차 목표는 대개 자격증명과 소스 코드다.
5. 로그 빌드 머신의 아웃바운드 연결 로그를 확인한다. 빌드 중에 낯선 호스트로 나간 TLS 연결이 있었는지가 결정적 증거다. (평소에 이 로그를 남기고 있지 않다면, 그것부터가 이번 사건의 교훈이다.)

B. 패치 격차를 관리 대상으로 만들어라

1. 시계를 건다
CISA KEV 카탈로그를 구독하고, 우리 자산에 해당하는 항목이 뜨면 자동으로 티켓이 열리게 한다. PoC 공개는 카운트다운 시작 신호다.
2. 3일 SLA를 사내 표준으로
BOD 26-04는 미 연방기관 대상이지만, 기준 자체를 사내 정책으로 채택하는 것이 지금 가장 합리적이다. 근거는 "공개 후 24시간 내 악용"이라는 관측이다.
3. 못 고치는 것부터 목록화
긴급 패치가 불가능한 자산(레거시, 벤더 종속, 무중단 요구)을 미리 목록으로 만든다. 그것들은 패치가 아니라 격리·보상통제로 방어해야 한다.
4. 리허설
긴급 롤아웃을 평시에 한 번 해본다. 처음 해보는 조직은 3일이 아니라 3주가 걸린다.

C. AI를 방어 쪽에 실제로 투입하라

가장 중요한 실무 기회이자 이 글에서 가장 덜 알려진 부분입니다. AIxCC 결승 진출 시스템들이 오픈소스로 공개됐습니다.

할 일구체적으로
내부 코드에 CRS 계열 도구 적용AIxCC 공개 시스템은 실제 취약점 18건을 찾아낸 물건이다. 핵심 서비스 한 개부터 붙여 본다.
퍼징 + LLM 하이브리드3부의 루프를 그대로 만든다 — LLM이 의심 지점을 지목 → 퍼저가 검증 → 패치 후 테스트로 채점
코드 리뷰 에이전트를 보안 관점으로일반 리뷰가 아니라 "인증·권한·역직렬화·경로 처리"를 겨냥한 전용 프롬프트로 돌린다
AI 생성 코드의 보안 게이트AI가 만든 코드의 45%가 OWASP Top 10 취약점을 포함한다는 측정이 있다. SAST·의존성 스캔을 머지 조건으로 강제한다.

D. 여러분이 쓰는 AI 에이전트 자체가 공격면이다

GTG-1002 사건의 교훈입니다. 공격자는 모델을 만들지 않았습니다. 남의 에이전트를 빌려 썼습니다.

위협
에이전트는 자격증명과 네트워크 접근을 가진 실행 주체다
프롬프트 인젝션 한 번이면 그 권한이 공격자의 것이 된다. GTG-1002는 "인가된 방어 테스트 중"이라는 설정만으로 안전장치를 우회했다.
대응
Astra에 적용된 조치를 사내 축소판으로
① 도구 접근 최소권한네트워크 화이트리스트 ③ 모든 도구 호출 감사 로그 ④ 위험 행동(자격증명 접근·외부 전송) 실시간 차단. 프론티어 랩이 자기 모델에 건 것과 같은 종류의 통제다.
원칙
에이전트를 '도구'가 아니라 '신입 직원'으로 취급하라
권한을 주되 감사하고, 이상 행동은 즉시 멈춘다. 도구에는 감사 로그를 안 붙이지만 직원에게는 붙인다.

6부. 한국의 자리 — 1위와 3위가 한국계였다

이 이야기에서 한국 독자가 놓치기 쉬운 사실이 하나 있습니다. AIxCC 결승의 1위와 3위 모두에 한국 연구진이 있었습니다.

순위구성상금
1위Team Atlanta조지아텍 · KAIST · POSTECH · 삼성리서치 연합400만 달러
2위Trail of Bits (Buttercup)미국 보안 기업300만 달러
3위Theori미국과 한국의 AI 연구자·보안 전문가로 구성150만 달러

이것이 실무자에게 주는 함의는 세 가지입니다.

1
국내에 CRS 역량이 실재한다
"AI 취약점 자동 탐지"는 실리콘밸리에서 수입해야 할 기술이 아니다. 세계 최고 수준의 팀이 국내 대학과 기업에 있고, 그들이 만든 시스템은 공개되어 있다.
2
채용과 협업의 경로가 분명하다
보안 자동화를 도입하려는 조직이라면, 이 대회의 참가 인력과 공개 시스템이 가장 검증된 출발점이다. 벤치마크가 아니라 실제 취약점 18건으로 검증된 물건이다.
3
그러나 방어 인프라는 따로 준비해야 한다
기술 역량이 있는 것과 조직이 3일 안에 패치하는 것은 완전히 다른 문제다. 4부의 격차는 연구 역량으로 메워지지 않는다.

7부. Astra 사건이 진짜로 묻는 것

같은 능력의 두 얼굴크게 보기

마지막으로 8월 1일과 8월 7일로 돌아갑니다.

같은 모델입니다. 하나는 80년 묵은 기하학 추측을 반증했고, 하나는 사람 없이 제로데이를 만들 수 있다는 이유로 격리됐습니다.

그리고 그 두 가지는 같은 능력입니다. 긴 추론 사슬, 도구 사용, 실패를 견디는 인내심, 그리고 기계가 채점할 수 있는 목표. 증명 탐색과 익스플로잇 탐색은 탐색 공간의 이름만 다른 같은 작업입니다.

이 사실에서 세 가지 미해결 질문이 나옵니다.

질문왜 어려운가
① 능력을 막으면 방어도 못 한다Big Sleep이 악용 직전의 취약점을 잡아낸 것도 정확히 같은 능력이다. 사이버 능력을 억제하면 방어 자동화도 함께 억제된다.
② 판정을 그 회사가 한다"심각 임계에 도달했는가"를 판단하는 주체가 출시로 이익을 얻는 당사자다. Astra 사례는 자율규제가 작동한 증거인 동시에, 그것이 자율이라는 사실의 증거이기도 하다.
③ 오픈웨이트에는 임계가 없다가중치가 공개된 모델은 격리도 CoT 모니터링도 적용할 수 없다. 프론티어 랩이 멈춰도 능력 자체는 확산한다.

그럼에도 Astra 사건에는 분명한 진전이 있습니다. 자기 프레임워크 때문에 실제로 출시를 늦춘 첫 사례이고, "배제할 수 없다"는 불확실성만으로 그렇게 했습니다. 2023년 이후 프론티어 랩들이 만든 자율 안전 프레임워크가 문서로만 존재하는지, 실제로 브레이크를 거는지가 이번에 처음 시험됐습니다.

그리고 그 프레임워크를 지금 다시 쓰고 있다는 사실이 오히려 신뢰의 근거입니다. 기준이 현실을 못 따라갔다는 것을 인정한 것이니까요.


부록 A. 이번 주 체크리스트

30분이면 끝나는 것부터
즉시 CI 빌드가 --locked / npm ci로 도는지 확인. 아니면 오늘 바꾼다.
즉시 8월 20일 전후 CI가 러스트 빌드를 돌렸다면 해당 러너의 토큰·자격증명을 회수한다. 86분이라도 걸렸을 수 있다.
이번 주 SharePoint 온프레미스를 쓴다면 CVE-2026-55040 · CVE-2026-63520 패치 상태를 확인한다. 이미 실제 공격이 관측된 취약점이다.
이번 주 의존성 추가빌드 스크립트 신규 등장에 대한 CI 경보를 만든다
이번 달 크리티컬 패치 3일 SLA를 정책으로 채택하고, 못 지킬 자산 목록을 만든다
이번 분기 사내 에이전트의 도구 권한·네트워크 화이트리스트·감사 로그를 점검한다

부록 B. 참고 자료

2026년 8월의 사건들

계보

대응

  • CISA BOD 26-04 — AI 가속 위협을 근거로 한 크리티컬 3일 패치 지침
  • Explore sandboxed build scripts — Rust 프로젝트 목표
  • CISA KEV 카탈로그, Sigstore/SLSA 프로버넌스

이어서 읽기


마치며

2026년 8월의 3주를 한 문장으로 줄이면 이렇습니다.

취약점을 찾는 일이 사람의 인내심이 아니라 예산의 문제가 되었습니다.

이건 좋은 소식이자 나쁜 소식입니다. 방어자도 같은 도구를 갖게 됐고, AIxCC 시스템은 오픈소스로 열려 있습니다. 하지만 발견이 기계 속도로 빨라지는 동안 패치를 적용하고, 자격증명을 교체하고, 영향 범위를 파악하는 일은 여전히 사람의 속도입니다.

그러니 지금 물어야 할 질문은 "AI가 우리를 더 위험하게 만드는가"가 아닙니다.

"발견이 10시간 만에 무기가 되는 세계에서, 우리 조직이 대응하는 데는 며칠이 걸리는가?"

그 숫자를 모른다면, 그것부터 재는 것이 이번 주에 할 수 있는 가장 값진 일입니다.