요약: OpenAI의 AI 에이전트 팀이 약 120만 달러 상당의 API 크레딧을 투입해 Linux 커널 내 5,034개의 점검 대상으로부터 948개의 고유한 로컬 권한 상승(LPE) 익스플로잇을 발굴했으며, 이후 연구원들이 그 결과를 검토했습니다. 이와 동일한 방식을 여러분의 자체 코드베이스에도 그대로 적용할 수 있습니다. 에이전트가 접근 가능한 영역을 탐색 및 분석하고, 격리된 환경에서 각 취약점을 검증한 뒤 패치 초안을 작성하면, 최종적으로 사람이 이를 검토해 승인하는 방식입니다.
2026년 11월 4일, OpenAI는 “루트 권한에 도달하는 경로 1,000개 줄이기(A thousand fewer paths to root)”라는 글을 발표했습니다. 헤드라인은 948개의 Linux 익스플로잇이지만, 소프트웨어 팀이 주목해야 할 본질적인 교훈은 그 이면에 있습니다. 바로 특화된 에이전트들이 단계별로 작업하며 다음 단계로 근거를 전달하고, 최종 단계에서 사람이 이를 검토하여 얻어낸 성과라는 점입니다.
이러한 아키텍처는 커널 전문 지식에 종속되지 않으므로 여러분의 서비스에도 동일한 구조를 적용할 수 있습니다. 이는 결코 먼 미래의 이야기가 아닙니다. OpenAI는 자사의 파이프라인이 공개 버그 바운티 보상금 대비 “순수익(net profitable)”을 냈다고 밝혔습니다. 공격자들 역시 이와 같은 셈법을 계산하고 있을 것이므로 지금 바로 대비해야 합니다.
OpenAI의 AI 에이전트 팀이 발견한 성과
OpenAI는 2026년 10월 중순, 출시 예정인 사이버 모델을 활용해 최신 Linux 커널을 대상으로 파이프라인을 실행했습니다. 대상 환경은 표준 보안 보호 기능이 활성화된 순정 데스크톱 OS를 구동하는 격리된 VM이었습니다.
| 단계 | 결과 | API 비용 |
|---|---|---|
| 탐색 (Scout) | 점검 대상 5,034개, 약 280만 줄(커널의 약 7%) | $3,426 |
| 분석 (Analyze) | 후보 발견 항목 2,308건 | $316,549 |
| 검증 (Validate) | 재현 성공 1,724건 (약 74.7%) | $73,330 |
| 익스플로잇 가능성 평가 (Assess exploitability) | 948개의 고유 LPE 익스플로잇, 291개의 정보 유출 PoC | $820,123 |
| 총계 | $1,213,430 |
이 수치는 커널 규모를 대상으로 한 OpenAI의 결과이며, 일반 저장소에 적용되는 예상 수치는 아닙니다. OpenAI는 효율성보다는 기능적 한계를 측정하는 데 중점을 두었기 때문에 해당 비용이 “사실상 상한선에 가깝다”고 설명했습니다.
여기서 다음 세 가지 한계점을 염두에 두어야 합니다.
- 로컬 권한 상승(LPE) 취약점이라는 점입니다. 공격자가 사전에 시스템 내 로컬 진입점을 확보해야 합니다. 그 자체로 원격 익스플로잇이 되는 것은 아닙니다.
- 상당수가 아직 수정되지 않았습니다. 10일간의 스캔 및 분석이 끝났을 당시, 업스트림에서 패치된 LPE는 61개였고, 43개는 스테이징 패치가 마련되었으며, 299개는 공개 논의 중이었습니다. OpenAI는 치명적인 취약점에 대해 수백 건의 보고서와 패치를 전달했으며, Patch the Planet 파트너들과 함께 나머지도 점진적으로 전달하고 있습니다.
- 실제 야생(in the wild)에서 이러한 취약점이 악용된 사례는 언급되지 않았습니다.
그럼에도 OpenAI의 권고는 단호합니다. 최신 패치가 적용되지 않은 OS 환경이라면, 풍부한 자원을 가진 위협 행위자에게 저권한 계정은 “기능적으로 루트 권한을 획득한 것이나 다름없다”고 밝혔습니다. 따라서 지속적으로 패치를 적용하고, Firecracker나 gVisor 같은 격리 기술을 활용해 피해 반경을 최소화해야 합니다.
AI 에이전트 보안 워크플로의 5단계
AI 에이전트 보안 워크플로는 점검 과정을 여러 단계로 나누어, 각 단계마다 범위를 좁히고 다음 단계를 위한 근거를 도출하도록 구성됩니다. OpenAI의 방식은 다음 5단계로 이루어집니다.
- 탐색(Discovery). Scout 에이전트가 접근 가능성과 보안 연관성을 기준으로 점검 대상을 선정합니다. Analyst 에이전트는 각 대상을 분석하고 위협 모델을 구축하여 후보 취약점을 보고합니다.
- 동적 검증(Dynamic validation). Triage 에이전트가 개념 증명(PoC) 코드를 작성하고 커널 메모리 오류 감지 도구인 KASAN이 활성화된 격리 VM에서 실행하며, 버그가 재현되거나 더 이상 방법이 없을 때까지 PoC를 개선합니다.
- 익스플로잇 가능성 평가(Exploitability assessment). Screening 에이전트가 실현 가능한 경로가 없는 항목을 걸러내고, ExploitDev 에이전트가 나머지 항목에 대해 익스플로잇을 테스트합니다.
- 패치 생성(Patch generation). 에이전트가 인접 코드의 규칙을 준수하고 변종 취약점까지 확인하면서, 검증된 각 버그에 대한 패치 초안을 작성합니다.
- 사람에 의한 검토(Human review). 보안 연구원이 메인테이너에게 전달하기 전에 익스플로잇, 패치, 심각도를 면밀히 검토합니다.
각 단계의 인계 과정에서는 의견이 아닌 명확한 근거가 전달되므로, 최종 결정자인 사람은 사실에 기반하여 판단을 내릴 수 있습니다.

각 단계를 자체 저장소에 적용하는 방법
이 워크플로는 직접 소유한 코드나 테스트 권한이 있는 코드에만 적용해야 합니다. 일반적인 저장소라면 익스플로잇 제작 단계는 완전히 생략해도 됩니다. 실패하는 테스트 코드 하나만으로도 공격 도구를 만들지 않고 결함을 입증할 수 있기 때문입니다.
| OpenAI 단계 | 자체 적용 버전 | 결과물 |
|---|---|---|
| Scout | 익명 사용자나 저권한 사용자가 접근할 수 있는 진입점 목록화: 라우트, 웹훅, 파일 업로드, 파서, 큐 컨슈머 등 | 점검 대상 목록 |
| Analyst | 실행당 단일 대상 분석: 코드 분석, 간략한 위협 모델 작성, 의심 결함 보고 | 후보 발견 항목 |
| Validate | 일회용 환경에서 실패하는 최소 테스트 코드 작성 | 테스트 코드 및 실행 로그 |
| Assess | 침범된 신뢰 경계(trust boundary)를 기준으로 영향도 평가 | 사유가 포함된 심각도 |
| Patch | 테스트를 포함하여 수정 사항을 Pull Request 초안으로 작성 | Pull Request |
| Human | 검토 후 병합(Merge) 또는 반려(Reject) | 병합된 수정본 또는 종료된 발견 항목 |
점검 범위를 명확히 설정하는 것만으로도 비용을 크게 절감할 수 있습니다. OpenAI의 탐색 단계는 3,426달러의 비용으로 점검 대상을 커널의 약 7%로 압축했습니다. 우선 단일 서비스와 해당 서비스의 공개 진입점부터 시작해 보세요. 개별 발견 항목에 대한 태스크는 다음과 같이 간결하게 작성할 수 있습니다.
Title: Validate finding: path traversal in /api/exports/download
Scope: this repository only. Disposable test environment only.
No production credentials, no external network targets.
Goal: write a minimal failing test that proves or disproves the finding.
Evidence: test file, command output, code path from entry point to flaw.
Give up: stop after two approaches with no new evidence. Report what you tried.
Do not: fix the bug here, build an attack payload, or merge anything.
결과뿐만 아니라 도달 경로까지 검증하기
초기 테스트 실행에서 OpenAI의 익스플로잇 단계는 200건의 성공을 보고했습니다. 그러나 사람이 검토한 결과, 그중 20건은 할당된 취약점이 아닌 전혀 다른 제로데이(0-day)를 통해 루트 권한을 획득한 것으로 밝혀졌습니다. 파이프라인은 결과만 보고 성공으로 판정했지만, 실제로는 의도치 않은 엉뚱한 원인으로 결과가 참이 되었던 것입니다.
이에 OpenAI는 태스크 제약 조건을 강화하고, 각 익스플로잇이 실제로 할당된 취약점을 이용했는지 검증하는 독립적인 점검 단계를 추가했습니다. 여기서 얻을 수 있는 핵심 교훈은 결과뿐만 아니라 그 결과에 이르는 경로까지 함께 검증해야 한다는 점입니다.
자체 환경에서도 익숙한 상황이 발생할 수 있습니다. 예를 들어 에이전트가 인증 결함을 입증했다고 주장하지만, 실제로는 픽스처(fixture) 누락으로 테스트가 실패했을 수 있습니다. 이를 방지하려면 테스트를 직접 작성하지 않은 별도의 검증 에이전트를 두고, '이 실패가 보고된 코드 경로에서 발생한 것인가?'라는 단 하나의 질문을 던져 확인하도록 만드세요.
오탐 검증 비용도 동일하므로 조기 검증이 필수
OpenAI는 진탐(True Positive)과 오탐(False Positive)을 검증하는 데 드는 비용이 거의 비슷하다는 점을 확인했습니다. 즉, 잘못된 후보가 검증 단계로 넘어가면 매번 1회분의 전체 실행 비용을 그대로 낭비하게 됩니다.
따라서 본격적인 검증에 앞서 필터링을 거쳐야 합니다. OpenAI는 저권한 사용자가 접근 가능하고, 특별한 권한(capability)이 필요 없으며, 측정 가능한 근거를 제시할 수 있는 항목만을 선별하여 검증했습니다. 여러분의 코드에서도 '관리자 권한 없이 도달 가능한가'와 같은 유사한 게이트 기준을 세우세요. 기준을 통과하지 못한 항목은 사유를 명시하고 바로 종료(close) 처리합니다.
그런 다음 OpenAI의 권고대로 보고서를 작성하기 전에 최신 코드베이스를 기준으로 다시 점검하여, 중복되거나 이미 무효화된 보고서가 발생하지 않도록 하세요.
실행 전 중단(Give-up) 규칙 설정하기
비용을 크게 낭비하는 주원인은 실패한 시도들이었습니다. LPE 후보를 분석할 때 성공한 1,169건의 평균 비용은 360달러였던 반면, 실패한 69건의 평균 비용은 건당 3,922달러에 달했습니다. 계산해 보면 약 6%에 불과한 실패 시도가 해당 단계 전체 지출액 691,000달러 중 약 39%를 소모한 셈입니다.
OpenAI가 제안한 해결책은 '1시간 동안 진전이 없으면 중단'과 같은 명확한 포기(give-up) 조건을 설정하는 것입니다. 이 규칙을 태스크에 명시하고, 실행 시간에 대한 강력한 강제 제한을 두어야 합니다.

Sharkly에서는 태스크별 타임아웃을 에이전트의 실행 설정(Run settings)에서 지정할 수 있습니다. 이는 단순한 시간 상한선일 뿐 진행 상황을 직접 감지하는 것은 아니므로, 프롬프트 지침에 '새로운 근거가 없으면 중단'이라는 규칙을 반드시 유지해야 합니다.
모델 개선에 맞춰 오케스트레이션은 가볍게 유지하기
OpenAI는 GPT-5.5 Cyber 모델을 위해 103가지 익스플로잇 기법을 담은 레이어를 구축하여 성공률을 76.2%에서 88.9%로 끌어올렸습니다. 하지만 GPT-5.6 Cyber에서는 동일한 레이어가 단 1.5%p의 향상만 가져왔기 때문에 OpenAI는 해당 레이어를 제거했습니다.
모델을 변경할 때마다 자체적인 스캐폴딩(scaffolding)을 다시 테스트해 보아야 합니다. 재스캔도 필수적입니다. 10월 실행에서는 3개월 동안 보안이 더 강화된 코드베이스를 대상으로 했음에도 불구하고, GPT-5.6 Sol을 사용했던 7월 실행 대비 5배 이상 많은 새로운 LPE를 발견했습니다.
배포 전 사람에 의한 검토 단계 유지하기
에이전트는 수정 사항을 Pull Request 형태로 작성하고, 최종 병합은 사람이 수행합니다. OpenAI는 초안 패치가 불필요하게 비대해지거나 변종 취약점을 놓치고 기존 코딩 컨벤션을 해치는 경우가 있었으나, 검토 패스를 거칠수록 완성도가 향상된다는 점을 확인했습니다.
또한 사람이 작성한 패치와 AI가 작성한 패치 모두에 대해 모델을 활용한 적대적 검토(adversarial review)를 수행할 것을 권장합니다. 즉, 에이전트로 하여금 패치 우회를 시도하게 한 후 최종 판단은 사람이 내리도록 하는 것입니다. 이미 코드 검토가 병목 지점이라면, 새로운 Pull Request 흐름을 추가하기 전에 병렬 에이전트를 위한 검토 체계 설계 방법을 참고해 보세요.
Sharkly에서 태스크로 워크플로 실행하기
태스크(Task)는 Sharkly의 기본 작업 단위입니다. 이 워크플로를 구축하는 한 가지 방법은 다음과 같습니다.
- 태스크 유형 생성. 하나의 태스크 유형(task type)은 순서화된 상태들로 구성된 워크플로를 갖습니다. 예를 들어 “Security finding(보안 발견 항목)” 유형은 후보(Candidate), 재현 완료(Reproduced), 패치 초안 작성(Patch drafted), 검토 중(In review), 종료(Closed) 상태 순으로 구성할 수 있습니다.
- 크루(Crew) 생성. 크루(Crew)는 한 명의 리더 에이전트가 조율하는 사람과 에이전트의 재사용 가능한 그룹입니다. 여기에 scout, analyst, check, patch 에이전트를 추가합니다. 리더 에이전트가 먼저 작업을 시작하고 세부 작업에 맞춰 팀원을 멘션하여 할당합니다.
- 실행 환경 격리. 각 태스크가 독립된 작업 트리(worktree)를 갖도록 임시 디렉터리를 사용하고, 작업을 병렬 확장(fan-out)하는 경우 격리된 작업 트리 가이드를 참고하세요. 검증(check) 에이전트의 독립성이 필요한 경우 크루의 공유 디렉터리 기능은 비활성화합니다.
- 인계 자동화. 태스크 상태 트리거를 사용하는 자동화(Automation)를 통해 태스크가 '재현 완료(Reproduced)' 상태에 도달하면 패치 에이전트가 작업을 시작하도록 설정할 수 있습니다. 이러한 작업은 무인으로 실행되어 질문을 할 수 없으며 상태 일치는 조직 전체에 적용되므로, 지침을 통해 트리거된 태스크가 올바른지 확인하도록 하세요.
- Pull Request 연동. GitHub 연동을 사용하면 브랜치 이름, 제목 또는 설명에 포함된 태스크 ID를 통해 Pull Request가 자동으로 연결됩니다. 병합하더라도 태스크 상태가 자동으로 변경되지는 않으므로 리뷰어가 직접 태스크를 종료합니다.

상태(Status)는 조직 전체에서 공유되므로 기존 상태의 이름을 바꾸지 말고 이 워크플로를 위한 새로운 상태를 추가하세요.
여기서 중요한 경계 조건이 하나 있습니다. 작업 트리(worktree)는 태스크 간의 충돌을 방지할 뿐, 보안 샌드박스 역할을 하는 것은 아닙니다. 재현 테스트는 프로덕션 시크릿이 전혀 없는 일회용 컨테이너나 VM에서 실행하고, 에이전트에는 필요한 최소한의 Git 접근 권한만 부여해야 합니다.
Sharkly는 이러한 전체 작업을 조율합니다. 실제 실행은 Claude Code, Codex 및 유사한 도구가 담당하며, 모델 사용량은 해당 도구들에 설정된 구독이나 API 키를 통해 처리됩니다. 대규모 확장을 계획 중이라면 10개의 AI 코딩 에이전트를 동시에 실행하는 방법을 확인해 보세요.
규모가 작은 저장소라면 크루를 구성할 필요 없이 태스크당 에이전트 한 개만 배정해도 충분합니다. 크루는 리더 에이전트가 여러 역할을 순차적으로 조율하고 그 결과를 단일 태스크로 취합해야 할 때 활용하세요.
결론
OpenAI의 이번 성과는 개발 팀을 위한 훌륭한 청사진을 제시합니다. 즉, 범위를 좁히고, 각 인계 단계마다 근거를 요구하며, 도달 경로를 검증하고, 실패하는 실행은 조기에 중단하며, 최종 병합 버튼은 반드시 사람이 누르도록 하는 것입니다.
이번 주부터 바로 시작해 보세요. 소유한 서비스 중 하나를 선택해 공개 진입점을 목록화하고, 의심되는 결함마다 검증 태스크를 생성해 보시기 바랍니다. Sharkly 빠른 시작 가이드를 통해 연결된 컴퓨터에서 첫 번째 에이전트를 즉시 실행할 수 있으며, sharkly.ai에서 에이전트 주변을 태스크 및 검토 레이어로 구성하는 방법을 확인할 수 있습니다.
자주 묻는 질문(FAQ)
OpenAI의 에이전트가 실제 운영 중인 Linux 시스템을 공격했나요?
아닙니다. 익스플로잇은 통제된 연구 환경 내의 격리된 VM에서 실행되었으며, 결과를 외부에 보고하기 전에 연구원들이 직접 검토했습니다.
948개의 Linux 취약점은 모두 패치되었나요?
아닙니다. 상당수가 여전히 보고 및 패치 진행 중에 있습니다. 10일간의 스캔 종료 시점을 기준으로 업스트림에서 61개가 패치되었고, 43개는 스테이징 패치가 마련된 상태였습니다.
이러한 익스플로잇으로 원격에서 서버를 탈취할 수 있나요?
그 자체로는 불가능합니다. 이들은 로컬 권한 상승(LPE) 버그이므로 공격자가 먼저 시스템 내 로컬 발판을 확보해야 합니다. 시스템 패치를 항상 최신 상태로 유지하고 신뢰할 수 없는 워크로드는 격리해야 합니다.
이 워크플로를 자체 저장소에 적용하면 비용이 얼마나 들까요?
OpenAI가 발표한 수치는 커널 규모를 기준으로 한 것이므로 일반 저장소에 그대로 대입할 수는 없습니다. 단일 서비스부터 시작하여 실행 제한을 설정하고, 검증된 발견 항목당 소요 비용을 직접 측정해 보세요.
OpenAI의 사이버 전용 모델이 반드시 필요한가요?
해당 모델은 OpenAI가 출시 예정으로 언급한 상태이므로 아직 사용할 수 없습니다. 워크플로의 각 단계는 특정 모델에 종속되지 않으므로, 현재 팀에서 이미 활용 중인 코딩 에이전트로 테스트하고 도출된 근거를 바탕으로 결과물을 평가하면 됩니다.



