S4 MockAPI
Security API simulator
실제 security product API처럼 응답하는 mock server입니다. product license 없이 SIEM/SOAR integration을 구축하고 테스트할 수 있습니다: Trend Micro Vision One compatible REST shape, Palo Alto Networks PAN-OS compatible XML API shape, 그리고 임의의 OpenAPI 3.x document용 generic mock.
S4 MockAPI는 security-product API의 shape — status code, header, authentication flow, pagination, rate-limit 및 error body — 를 공개 API documentation만으로 재구성해 재현합니다. 모든 data는 synthetic입니다. Vision One compatible profile(public API v3.0): ETag/If-Match flow가 있는 workbench alert, endpoint inventory, endpoint-activity search, OAT detection, realistic task lifecycle을 갖춘 isolate/restore response action(207 Multi-Status). PAN-OS compatible profile(11.x-era XML API): keygen authentication, op command, stateful candidate-config CRUD, commit job lifecycle.
해결하고자 하는 과제
SIEM/SOAR 연동을 구축하고 테스트하려면 Trend Micro Vision One 또는 Palo Alto Networks PAN-OS 같은 실제 보안 제품의 API를 호출해야 하지만, 라이선스가 비싸고 수량이 제한되어 있어 개발에 사용할 수 있는 여분의 샌드박스가 마련되어 있는 경우는 드뭅니다. CI 프로세스에서 운영 환경의 보안 도구를 직접 호출할 수는 없으며, 오류나 throttling 같은 실패 경로는 필요에 따라 즉시 재현하기가 어렵습니다. 이 때문에 연동 코드는 충분히 테스트되지 못한 채 운영 환경에서 처음으로 작동을 멈추게 됩니다.
작동 원리
- 1
AMI를 실행하고 프로필 선택
AMI를 부팅하면 기본적으로 Vision One 호환 프로필이 :8080 포트에서 시작되며, 하나의 env 파일을 통해 PAN-OS 또는 범용 OpenAPI 프로필로 전환할 수 있습니다.
- 2
연동 대상을 mock으로 지정
개발 중인 커넥터나 파이프라인의 연결 대상을 실제 API에서 이 mock의 엔드포인트로 변경하기만 하면, 제품 라이선스 없이도 상태 코드, 헤더, 인증 흐름, 페이지네이션을 완벽하게 재현하여 수신할 수 있습니다.
- 3
장애 주입 후 초기화
TOML 시나리오를 통해 n번째 호출 시 500 오류, Retry-After가 포함된 throttling, 또는 지연 시간과 같은 장애를 결정론적으로 주입하고, 단 한 번의 API 호출로 팩토리 리셋하여 항상 동일한 상태에서 재실행할 수 있습니다.
주요 특징
Vision One / PAN-OS compatible API shape와 generic OpenAPI 3.x mock — appliance 하나로 integration-test surface를 커버합니다.
결정론적 fault injection(nth-call 500s, throttling, latency)으로 failure-path test를 CI에서 재현 가능하게 합니다.
1분 미만에 작동하는 mock으로 boot됩니다. API call 한 번으로 factory-reset됩니다. instance 밖으로 아무것도 나가지 않습니다.
포함 사항
- Trend Micro Vision One 호환 REST 프로필(공개 API v3.0): ETag/If-Match 흐름을 지원하는 워크벤치 알림, 엔드포인트 인벤토리, 엔드포인트 활동 검색, OAT 탐지, 그리고 사실적인 태스크 라이프사이클(207 Multi-Status 포함)을 포함한 isolate/restore 응답 액션.
- Palo Alto Networks PAN-OS 호환 XML API 프로필(11.x 버전): keygen 인증, op 명령, 상태 유지형 candidate-config CRUD, commit 작업 라이프사이클, 그리고 비동기 로그 검색.
- 범용 OpenAPI 3.x mock: 어떠한 OpenAPI 문서라도 입력하면 기재된 모든 오퍼레이션이 관련 예시(examples) 및 스키마를 기반으로 생성된 응답으로 제공됩니다.
- 공개된 문서와 동일하게 상태 코드, 헤더, 인증 흐름, 페이지네이션, rate-limiting, 오류 본문(error body)을 완벽하게 재현하며, CI에서 스키마 적합성(schema conformance)을 강제합니다.
- 결정론적 장애 주입: n번째 호출에서의 500 오류, Retry-After가 포함된 확률적 429 오류, 그리고 지연 주입을 통해 실패 경로 테스트의 재현성을 확보합니다.
- 단 한 번의 호출로 작동하는 팩토리 리셋(POST /reset) 및 시드 파일(seed-file) 재지정을 통해 직접 준비한 데모 데이터를 초기 상태로 설정할 수 있습니다.
- 완전한 오프라인 작동: 상태정보는 메모리에만 유지되며, 인스턴스는 외부 호출을 일절 수행하지 않으므로 아무것도 인스턴스 외부로 빠져나가지 않습니다.
주요 활용 사례
실제 장비 없이 Vision One, PAN-OS 또는 임의의 OpenAPI API용 SIEM/SOAR 커넥터 및 파이프라인을 개발합니다.
결정론적 장애 주입 및 리셋 기능을 사용하여 CI에서 500 오류, throttling, 지연 시간과 같은 실패 경로를 재현 가능한 형태로 테스트합니다.
실제 운영 중인 보안 제품에 영향을 주지 않고 파트너 데모 및 사내 교육을 안전하게 진행합니다.
제품 라이선스를 배정하기 전, API 연동법을 배우는 엔지니어들을 위한 온보딩 환경으로 활용합니다.
자주 묻는 질문
반환되는 데이터는 실제 벤더의 데이터인가요?
아닙니다. 반환되는 모든 데이터는 합성 데이터이며, 공개된 문서를 토대로 재구성한 API의 형태(shape)만을 재현한 것입니다. Trend Micro, Vision One, Palo Alto Networks, PAN-OS는 호환 대상을 나타내기 위해 지칭용으로만 사용된 상표일 뿐이며, 본 제품은 해당 벤더사들과 제휴하거나 승인을 받은 것이 아닙니다.
CI 환경에서도 사용할 수 있나요?
네, CI 환경을 고려하여 설계되었습니다. TOML 시나리오를 통한 결정론적 장애 주입(n번째 호출 시 500 오류, Retry-After가 포함된 429 오류, 지연 시간)으로 실패 경로를 재현할 수 있으며, 실행 사이에 POST /reset을 통해 팩토리 상태로 되돌려 모든 테스트를 동일한 기준점에서 시작할 수 있습니다.
인스턴스 외부로 유출되는 데이터가 있나요?
아닙니다. 귀하의 VPC 내에서 완전한 오프라인으로 작동합니다. 상태는 메모리에만 유지되며, 인스턴스는 외부로 아웃바운드 호출을 보내지 않으므로 합성 데이터는 인스턴스를 절대 벗어나지 않습니다.
어떤 API가 지원되나요?
세 가지가 지원됩니다: Trend Micro Vision One 호환 REST shape(공개 API v3.0), Palo Alto Networks PAN-OS 호환 XML API shape(11.x 버전), 그리고 OpenAPI 3.x 문서로부터 임의의 REST API를 재현하는 범용 mock입니다.
얼마나 빨리 실행 환경을 구축할 수 있나요?
1분 안에 정상 작동하는 mock이 부팅됩니다. AMI를 시작하면 기본적으로 Vision One 호환 프로필이 :8080 포트에서 자동으로 활성화되며, t3.micro와 같이 사양이 낮은 소형 인스턴스만으로도 충분히 실행할 수 있습니다.
요금제 모델
시간당 software fee + EC2(폭넓은 instance-type coverage). instance type별 metered, license key 불필요.