openapi

2 개의 포스트

능동적 방어: API를 (새 탭에서 열림)

Cloudflare는 기존 WAF의 수동적 방어를 넘어, API의 복잡한 로직 결함을 사전에 탐지하는 '상태 기반(Stateful) 웹 및 API 취약점 스캐너'를 출시했습니다. 이 서비스는 OWASP API Top 10 중 가장 치명적인 BOLA(객체 수준 권한 위반)를 우선적으로 겨냥하며, 유효한 요청으로 위장한 논리적 공격을 찾아내는 데 집중합니다. Cloudflare의 엣지 네트워크 지능과 기존 API Shield 기능을 결합하여, 트래픽이 부족한 개발 환경에서도 자동화된 보안 테스트가 가능해진 것이 핵심입니다. ### API 보안에서 논리적 결함과 BOLA의 위험성 * 기존 웹 취약점(SQL Injection, XSS 등)은 구문 오류의 형태를 띠어 탐지가 용이하지만, API 취약점은 정상적인 HTTP 요청 형식을 유지하면서 비즈니스 로직을 악용하는 경우가 많습니다. * BOLA(Broken Object Level Authorization)는 공격자가 유효한 본인의 인증 토큰을 사용하되, 요청 파라미터의 ID값만 타인의 것으로 교체하여 권한이 없는 데이터에 접근하는 방식입니다. * 이러한 공격은 인증과 스키마가 모두 적절해 보이기 때문에, 단순히 패턴을 매칭하는 전통적인 WAF나 봇 관리 도구로는 방어하기 매우 어렵습니다. ### 기존 DAST 및 수동적 보안의 한계 * 수동적 보안(Passive Scanning)은 실제 사용자 트래픽에 의존하므로, 트래픽이 없는 개발 단계나 새로운 환경에서는 취약점을 미리 발견할 수 없습니다. * 전통적인 DAST(동적 애플리케이션 보안 테스트) 도구는 구성이 복잡하고, 수동으로 OpenAPI 파일을 업데이트해야 하며, 현대적인 복잡한 로그인 흐름을 처리하는 데 한계가 있습니다. * 대부분의 기존 스캐너는 각 요청을 독립적으로 처리하는 '무상태(Stateless)' 방식이라, 여러 요청을 연결하여 로직을 검증해야 하는 BOLA 탐지에 부적합합니다. ### Cloudflare의 상태 기반(Stateful) 스캐닝 기술 * **상태 기반 테스트**: '소유자(Owner)' 계정으로 자원을 생성한 뒤 '공격자(Attacker)' 계정으로 해당 자원에 접근을 시도하는 등, 요청 간의 상관관계를 추적하는 체인형 테스트를 수행합니다. * **자동화된 스캔 플랜**: 제공된 OpenAPI 스키마를 분석하여 API 호출 그래프를 스스로 구축하고, 이를 기반으로 공격 시나리오를 자동 설계합니다. * **API Shield와의 통합**: 기존의 API Discovery 및 Schema Learning 데이터를 활용하므로, 사용자는 복잡한 설정 없이도 자신의 API 구조에 최적화된 스캔을 즉시 시작할 수 있습니다. * **능동적 검증**: 수동적인 트래픽 관찰에서 얻은 통찰을 바탕으로 실제 공격 요청을 생성하여 전송함으로써, 보안 위협이 실재하는지 능동적으로 입증합니다. BOLA와 같은 로직 결함은 코드 수준의 수정이 필수적이므로, API Shield 고객은 이번 베타 버전을 활용해 운영 환경뿐만 아니라 개발 단계에서부터 취약점을 선제적으로 식별하고 수정하는 '시프트 레프트(Shift-left)' 보안 전략을 구축할 것을 권장합니다.

코드 모드: 1 (새 탭에서 열림)

Cloudflare에서 발표한 '코드 모드(Code Mode)'는 AI 에이전트가 방대한 API를 사용할 때 발생하는 컨텍스트 윈도우 낭비 문제를 해결하기 위한 혁신적인 접근 방식입니다. 개별 API 엔드포인트를 수천 개의 도구로 정의하는 대신, 에이전트가 직접 코드를 작성하고 실행하게 함으로써 단 1,000개의 토큰만으로 전체 Cloudflare API를 제어할 수 있게 합니다. 이 기술은 모델의 기억 공간을 보존하면서도 복잡한 연쇄 작업을 효율적으로 수행할 수 있는 높은 유연성을 제공합니다. ### 기존 MCP 방식의 한계와 코드 모드의 등장 * **컨텍스트 윈도우 포화 문제**: 모델 지시 프로토콜(MCP)에서 에이전트에게 너무 많은 도구를 제공하면 컨텍스트 윈도우가 가득 차서 실제 작업 수행에 필요한 공간이 부족해집니다. * **방대한 API의 비효율성**: Cloudflare API처럼 엔드포인트가 2,500개가 넘는 경우, 이를 모두 도구로 등록하려면 약 117만 개의 토큰이 필요하며 이는 최신 모델의 한계를 초과하는 수치입니다. * **코드 모드의 해결책**: 도구의 명세(Description)를 줄이는 대신, 에이전트가 SDK를 대상으로 코드를 작성하고 이를 안전한 샌드박스에서 실행하는 방식을 채택하여 토큰 사용량을 99.9% 절감했습니다. ### 핵심 인터페이스: search()와 execute() * **search() 도구**: 전체 OpenAPI 명세를 모델에 주입하는 대신, 모델이 자바스크립트 코드를 작성하여 명세 내에서 필요한 엔드포인트를 스스로 검색하게 합니다. 이를 통해 모델은 수천 개의 엔드포인트 중 당장 필요한 것만 식별할 수 있습니다. * **execute() 도구**: 에이전트가 실제 API 요청을 수행하는 자바스크립트 코드를 작성하여 실행합니다. 단순 호출뿐만 아니라 페이지네이션 처리, 응답 확인, 여러 작업을 하나로 묶는 체이닝(Chaining)이 가능합니다. * **고정된 토큰 비용**: API의 규모가 아무리 커져도 모델이 학습해야 할 도구는 이 두 가지뿐이므로, 약 1,000토큰의 고정된 비용만 발생합니다. ### 보안 및 실행 환경 (Dynamic Worker) * **V8 샌드박스 격리**: 에이전트가 작성한 코드는 파일 시스템 접근이나 환경 변수 유출이 불가능한 경량 V8 샌드박스인 'Dynamic Worker' 내부에서 실행됩니다. * **제한된 네트워크 접근**: 외부 호출(Fetch)은 기본적으로 비활성화되어 있으며, 필요에 따라 명시적으로 제어된 핸들러를 통해서만 외부와 통신할 수 있어 프롬프트 주입 공격으로부터 안전합니다. * **안전한 실행 흐름**: 모델이 직접 API 키를 다루지 않고 서버 측에서 정의된 안전한 환경에서 로직만 실행하므로 보안성이 높습니다. ### 실무 적용 사례: DDoS 방어 설정 * **엔드포인트 탐색**: 에이전트가 "DDoS 공격으로부터 내 사이트를 보호해줘"라는 요청을 받으면, `search()`를 통해 WAF 및 규칙 설정 관련 API 엔드포인트를 필터링합니다. * **복합 작업 수행**: 필터링된 엔드포인트 정보를 바탕으로 `execute()`를 호출하여 방화벽 규칙을 생성하고, 패키지를 업데이트하며, 설정을 확인하는 일련의 과정을 단 한 번의 도구 호출로 처리할 수 있습니다. 방대한 API를 다루는 서비스를 운영 중이라면 Cloudflare가 오픈소스로 공개한 **Code Mode SDK**를 활용해 보시기 바랍니다. 이를 통해 에이전트의 응답 속도를 높이고 운영 비용(토큰 사용량)을 획기적으로 줄이면서도 에이전트에게 서비스 전체에 대한 강력한 제어권을 부여할 수 있습니다.