모의해킹 비용 2026, ISMS 대비 웹·앱 진단 예산 기준

모의해킹 비용을 검색했다면 이미 견적서가 하나쯤 들어왔거나, ISMS 심사 전에 웹과 앱을 어디까지 봐야 할지 정해야 하는 상황일 가능성이 높다.
견적서의 금액만 비교하면 싸 보이는 제안이 이행점검, 인증 계정, API 정의서, 야간 테스트, 재보고서에서 다시 비싸질 수 있다.
먼저 진단 대상을 URL, 모바일 앱, API, 관리자 권한, 재진단 횟수로 쪼개야 한다.
그다음 공식 가격표가 있는 항목과 계약별 협의가 필요한 항목을 분리하면 모의해킹 비용 협상이 훨씬 단순해진다.
- 국내 공개 가격표 기준으로 웹 URL 1개 비대면 모의해킹은 2,500,000원부터, 모바일 앱 1개는 3,000,000원부터 제시된 사례가 있다.
- Cobalt는 2026년 12월 31일 전 완료 조건의 Autonomous Pentest 프로모션을 테스트당 $3,500으로 공개했다.
- Cobalt Credit은 8시간의 offensive security testing에 해당하므로, 범위가 넓어지면 테스트 횟수보다 투입 시간 단위가 먼저 늘어난다.
- ISMS 대비 목적이면 취약점 발견보다 보고서 형식, 이행점검, 조치 증적, 예외 승인 기록이 예산의 핵심이다.
공식 가격표 핵심 숫자부터 본다
아래 표는 2026년 9월 7일 확인한 공개 가격표와 공식 문서에서 숫자가 드러난 항목만 분리한 것이다.
벤더별 패키지와 환율, 부가세, 야간 테스트, 클라우드 환경 접근 조건은 실제 견적에서 별도로 확인해야 한다.
| 구분 | 공식 공개 금액 | 단위 | 예산 해석 |
|---|---|---|---|
| EGIS 비대면 웹 모의해킹 | 2,500,000원~ | 웹 URL 1개 | 진단 기간 1주 이상, 보고서와 조치 방법 제공 기준으로 읽는다 |
| EGIS 비대면 모바일 앱 진단 | 3,000,000원~ | 모바일 앱 1개 | 모바일 앱은 단말, 계정, 빌드 제공 조건 때문에 웹 URL보다 시작 단가가 높다 |
| EGIS 이행점검 | 1회 제공, 추가 별도 협의 | 취약점 조치 후 재검증 | 보고서 제출형 프로젝트라면 재진단 횟수를 계약서에 적어야 한다 |
| Cobalt Autonomous Pentest | $3,500 per test | 2026년 12월 31일 전 완료 조건 프로모션 | 단발 웹 애플리케이션 점검 예산의 국제 기준점으로 볼 수 있다 |
| Cobalt Credit | 8 hours | offensive security testing 1 credit | 범위가 넓을수록 테스트 개수가 아니라 크레딧 소모량을 확인해야 한다 |
| Cobalt 계약 크레딧 | roll over 불가 | 계약 연도별 소진 구조 | 분기별 테스트를 잡으면 미사용 크레딧이 예산 손실이 될 수 있다 |
| Snyk Free | $0/month | contributing developer 기준 | 오픈소스와 개발 보안 보조 점검의 최저선이다 |
| Snyk Team | $25/month | contributing developer 기준 | 모의해킹 전 개발 단계 취약점 감소 비용으로 비교할 수 있다 |
| Snyk Ignite | $1,260/year | contributing developer 기준 | 50명 미만 조직의 AppSec 보완 예산으로 따로 잡는다 |
모의해킹 비용 표에는 사람의 테스트 시간과 도구 구독료가 섞여 들어가기 쉽다.
구매팀에는 입력 자료, 인증 토큰, 출력 보고서, 원화·달러 비용 단위를 분리해 올리는 편이 안전하다.
여기서 말하는 API 진단은 LLM 입력·출력 토큰 가격표가 아니라 웹 서비스 인터페이스의 보안 검증 범위다.
범위 산정은 URL 개수가 아니라 공격면 단위로 잡는다
URL 1개라는 단가 문구는 시작점일 뿐이고, 실제 공격면은 로그인 전 화면, 로그인 후 사용자 화면, 관리자 화면, API, 파일 업로드, 결제나 개인정보 처리 흐름으로 나뉜다.
PortSwigger DAST 문서는 API 정의를 Postman Collection, OpenAPI JSON 또는 YAML, SOAP WSDL, GraphQL URL 방식으로 추가할 수 있다고 설명한다.
이 말은 API가 있는 서비스라면 웹 화면 진단과 API 진단 범위를 견적에서 분리해야 한다는 뜻이다.
| 공격면 | 견적에서 적을 범위 | 빠지면 생기는 문제 | 증적 기준 |
|---|---|---|---|
| 공개 웹 URL | 도메인, 하위 경로, 테스트 계정 수 | 메인 화면만 보고 인증 후 취약점이 빠진다 | URL 목록과 진단 제외 경로 |
| 관리자 페이지 | 관리자 권한, 테스트 데이터, 접속 IP 예외 | 권한 상승과 개인정보 접근 취약점이 빠진다 | 권한별 계정표와 로그 캡처 |
| 모바일 앱 | Android와 iOS 빌드, API 서버, 테스트 단말 | 앱 저장소 빌드와 운영 빌드가 달라진다 | 버전, 해시, 테스트 단말 조건 |
| API | OpenAPI 파일, Postman Collection, 인증 토큰 | 웹 화면에 없는 엔드포인트가 빠진다 | API 정의서와 스캔 범위 표 |
| 재진단 | 무상 1회인지, 추가 비용인지, 재보고서 형식 | 조치 완료 증적이 감사에서 부족해진다 | 이행점검 보고서와 재현 로그 |
이 조건이면 URL 단가가 낮아도 최종 금액은 올라간다.
인증 계정이 3종 이상이고 관리자 기능이 따로 있으면 웹 URL 1개가 아니라 권한별 진단 3개로 보는 편이 현실적이다.
ISMS 대비형과 출시 전 점검형은 비용 구조가 다르다
ISMS 대비 모의해킹은 취약점 발견 자체보다 심사 대응 증적과 조치 추적이 중요하다.
출시 전 점검은 배포 지연 비용이 커서 빠른 착수, 개발팀 재현 설명, 재테스트 창구가 더 중요하다.
| 목적 | 예산 우선순위 | 필수 산출물 | 보류 조건 |
|---|---|---|---|
| ISMS 또는 ISMS-P 대비 | 보고서, 조치계획, 이행점검, 예외 승인 | 취약점 목록, 위험도, 조치 전후 증적, 담당자 교육 기록 | 인증 범위와 진단 범위가 다르면 보류 |
| 신규 서비스 출시 전 | 착수 속도, 인증 계정, API 정의서, 개발팀 질의 응답 | 재현 절차, 영향도, 핫픽스 확인, 배포 전 잔여 위험 | 릴리스 일정만 있고 테스트 데이터가 없으면 보류 |
| 외주 개발 검수 | 소스 접근 여부, 스테이징 환경, 계약상 하자보수 | 취약점 재현 로그, 조치 권고, 재진단 결과 | 개발사가 테스트 권한과 로그를 주지 않으면 보류 |
| 상시 AppSec 프로그램 | DAST, SAST, SCA, 수동 검증, 분기별 리테스트 | 월간 추세, 오탐 처리 기준, 심각도 SLA, 예외 만료일 | 도구 알림만 있고 수동 검증 책임자가 없으면 보류 |
OWASP ASVS는 웹 애플리케이션 보안 검증 요구사항을 계약과 조달 기준에 쓸 수 있는 표준으로 설명한다.
NIST SP 800-115는 보안 테스트를 계획, 수행, 결과 분석, 완화 전략 수립 절차로 다루므로 견적서에도 같은 흐름을 요구해야 한다.
실무 시나리오 1: 커머스 웹 3개 권한을 점검하는 경우
실무 시나리오 1은 회원, 판매자, 관리자 권한이 분리된 커머스 서비스다.
이 조건이면 웹 URL 1개 가격만으로는 부족하고 권한별 계정, 결제 대체 수단, 파일 업로드, 주문 취소 흐름을 별도 범위로 적어야 한다.
- 운영 URL과 스테이징 URL을 분리하고, 테스트는 스테이징 우선으로 지정한다.
- 회원, 판매자, 관리자 계정을 각각 2개 이상 준비해 권한 간 접근 통제를 검증한다.
- 결제는 실제 승인 대신 테스트 PG나 더미 결제 흐름을 쓰고, 개인정보는 마스킹 데이터로 제한한다.
- 보고서에는 취약점명보다 재현 절차, 영향 데이터, 담당 부서, 조치 기한을 먼저 요구한다.
- 재진단은 1회 포함 여부와 추가 회차 단가를 계약서에 적고, 조치 완료 후 영업일 기준 기한을 정한다.
구매 판단은 단순하다.
계정과 테스트 데이터 준비를 해주지 못하는 조직이면 낮은 모의해킹 비용보다 일정 지연 비용이 더 커진다.
실무 시나리오 2: 모바일 앱과 API를 같이 보는 경우
실무 시나리오 2는 Android 앱, iOS 앱, 백엔드 API가 한 번에 배포되는 금융 또는 예약 서비스다.
이 경우는 모바일 앱 1개 단가와 API 진단 범위를 따로 계산하고, 앱 빌드 제공 방식까지 먼저 정해야 한다.
- 테스트 빌드, 운영 빌드, API base URL, 인증 방식, 토큰 만료 시간을 표로 정리한다.
- GraphQL이나 OpenAPI 정의서가 있다면 PortSwigger 문서 기준처럼 파일 또는 URL 제공 가능 여부를 확인한다.
- 방화벽과 WAF 예외는 진단원 IP 기준으로 열되, 운영 로그에 테스트 트래픽이 표시되도록 남긴다.
- 모바일 저장소, 인증 우회, API 권한 상승, 파일 업로드, 알림 토큰 노출을 별도 체크 항목으로 넣는다.
- 재진단 때는 새 빌드 버전과 API 변경 목록을 다시 고정하고, 이전 보고서의 취약점 번호로 추적한다.
반대로 앱 화면만 보고 API 정의서를 빼면 모의해킹 비용은 낮아질 수 있다.
하지만 개인정보 조회 API나 결제 API가 빠진 보고서는 보안팀과 감사팀이 받아들이기 어렵다.
RFP에는 산출물과 제외 조건을 숫자로 적는다
모의해킹 RFP는 멋진 보안 문구보다 숫자와 제외 조건이 중요하다.
아래 체크리스트를 제안요청서 앞쪽에 넣으면 공급자별 견적 차이를 비교하기 쉬워진다.
| 항목 | RFP에 적을 내용 | 확인 질문 | 비용 영향 |
|---|---|---|---|
| 대상 수량 | 웹 URL N개, 앱 N개, API 그룹 N개 | 하위 도메인과 관리자 경로가 포함되는가 | 대상 수량이 직접 단가가 된다 |
| 테스트 기간 | 최소 1주 이상 또는 출시 전 N영업일 | 야간과 주말 테스트가 필요한가 | 긴급 착수는 할증 요인이 된다 |
| 계정과 권한 | 사용자, 관리자, 파트너 계정 수 | 권한별 테스트 케이스를 따로 수행하는가 | 계정 수가 늘면 수동 검증 시간이 늘어난다 |
| 보고서 | 위험도, 재현 절차, 영향, 조치 방법, 재진단 결과 | 감사 제출용 양식이 있는가 | 보고서 품질이 낮으면 내부 보완 비용이 생긴다 |
| 재진단 | 무상 1회와 추가 회차 조건 | 재진단 요청 기한이 있는가 | 조치 후 예산 재승인을 막는다 |
| 도구와 수동 검증 | DAST 자동 스캔과 수동 검증 비율 | 오탐 제거 책임자가 누구인가 | 도구비와 전문가 시간을 분리한다 |
이 조건이면 견적 비교는 금액순이 아니라 누락 위험순으로 해야 한다.
가장 싼 견적이 관리자 권한, API, 재진단을 제외했다면 실제로는 가장 비싼 선택이 될 수 있다.
보안·운영 리스크는 가격보다 먼저 닫는다
모의해킹은 공격 행위가 포함되므로 승인과 통제가 부실하면 보안 프로젝트가 장애 프로젝트로 바뀐다.
- 진단 허가서에는 대상, 기간, 진단원 IP, 금지 행위, 긴급 중단 연락망을 적는다.
- 운영 환경 테스트는 읽기 전용 계정과 마스킹 데이터를 기본값으로 잡는다.
- WAF와 방화벽 예외는 전체 해제가 아니라 진단원 IP와 시간대 기준으로 제한한다.
- 심각 취약점 발견 시 보고서 마감까지 기다리지 않고 즉시 알림 기준을 둔다.
- 취약점 조치 후에는 개발팀 자체 확인과 외부 재진단을 분리해 중복 비용을 줄인다.
- ISMS 증적에는 취약점이 없었다는 결론보다 점검 범위와 조치 이력이 더 중요하다.
NIST 문서가 말하는 계획과 완화 전략의 순서를 견적서에 반영하면, 보안팀은 테스트 중단 기준과 조치 책임자를 미리 정할 수 있다.
OWASP WSTG와 ASVS를 같이 쓰면 공급자가 어떤 항목을 테스트했는지 번호와 요구사항 기준으로 맞춰볼 수 있다.
도구 비용은 외주 모의해킹 비용과 섞지 않는다
PortSwigger DAST 가격 페이지는 구독이 요구사항에 맞춰 조정되며, 사용자는 무제한이고 클라우드 또는 self-hosted 배포를 고를 수 있다고 설명한다.
Snyk 가격표는 Free 0달러, Team 월 25달러, Ignite 연 1,260달러처럼 개발자 단위의 보완 점검 비용을 공개한다.
이 숫자는 외부 전문가가 수행하는 모의해킹 비용이 아니라, 취약점이 쌓이기 전에 개발 단계에서 줄이는 비용으로 봐야 한다.
| 비용 묶음 | 대표 항목 | 예산 처리 | 주의할 점 |
|---|---|---|---|
| 외주 모의해킹 | 웹 URL, 모바일 앱, API, 보고서, 재진단 | 프로젝트성 비용 | 범위와 산출물이 빠지면 재견적이 생긴다 |
| 자동 DAST | 스캔 시간, 사이트 수, 인증 설정, self-hosted 인프라 | 운영 구독비 | 오탐 처리와 수동 검증 담당자가 필요하다 |
| 개발 보안 도구 | SCA, SAST, secrets, API and Web 점검 | 개발자 또는 저장소 기준 구독비 | 모의해킹 대체가 아니라 사전 감소 장치다 |
| 내부 조치 비용 | 개발 수정, QA, 배포, 로그 확인, 예외 승인 | 인건비와 일정 비용 | 심각 취약점은 외부 견적보다 내부 일정 비용이 커진다 |
이 경우는 외주 진단을 연 1회만 돌리고 평소에는 자동 DAST를 돌리는 혼합형도 가능하다.
다만 자동 스캔 결과를 아무도 triage하지 않으면 도구 비용만 남고 보안 리스크는 줄지 않는다.
모의해킹 비용 산정 스켈레톤
아래 예시는 바로 계약에 붙이는 산식이 아니라, 견적 비교 전에 범위 누락을 잡는 검토용 스켈레톤이다.
# pentest-cost-model.yaml
scope_units:
web_url:
count: 3
public_price_floor_krw: 2500000
evidence: "EGIS web URL 1ea starts from 2,500,000 KRW"
mobile_app:
count: 1
public_price_floor_krw: 3000000
evidence: "EGIS mobile app 1ea starts from 3,000,000 KRW"
api_group:
count: 2
definition_required: ["OpenAPI", "Postman", "GraphQL URL"]
evidence: "PortSwigger DAST API definition formats"
retest:
included_rounds: 1
extra_round_requires_quote: true
compliance:
target: "ISMS evidence package"
required_artifacts:
- signed authorization letter
- vulnerability report
- remediation guide
- retest result sheet
- exception approval log
controls:
test_window: "business-hours unless approved"
allowed_source_ips: "vendor IP list only"
emergency_stop_contact: "security-owner-on-call"
# pentest_quote_compare.py
from dataclasses import dataclass
@dataclass
class PentestQuote:
web_urls: int
mobile_apps: int
api_groups: int
includes_retest: bool
report_for_isms: bool
WEB_FLOOR_KRW = 2_500_000
APP_FLOOR_KRW = 3_000_000
def estimate_public_floor(q: PentestQuote) -> int:
base = q.web_urls * WEB_FLOOR_KRW + q.mobile_apps * APP_FLOOR_KRW
if q.api_groups:
base += q.api_groups * WEB_FLOOR_KRW
return base
def missing_risk_flags(q: PentestQuote) -> list[str]:
flags = []
if not q.includes_retest:
flags.append("재진단 비용과 일정이 별도라 조치 증적이 부족할 수 있음")
if q.report_for_isms and q.api_groups == 0:
flags.append("ISMS 범위에 API가 있는데 견적에서 빠졌는지 확인 필요")
return flags
quote = PentestQuote(web_urls=3, mobile_apps=1, api_groups=2, includes_retest=True, report_for_isms=True)
print(estimate_public_floor(quote))
print(missing_risk_flags(quote))
산정표의 핵심은 공개 최저 단가를 맹신하는 것이 아니다.
웹, 앱, API, 재진단, ISMS 보고서 요건이 빠졌는지 먼저 잡는 데 목적이 있다.
최종 선택 기준
이 조건이면 외주 모의해킹을 바로 진행해도 된다.
- 테스트 대상 URL, 앱 빌드, API 정의서, 테스트 계정이 모두 준비되어 있다.
- 보고서에 재현 절차, 영향도, 조치 방법, 재진단 결과가 포함된다는 문구가 있다.
- 진단원 IP 예외, 테스트 시간, 긴급 중단 연락망, 데이터 보호 조건이 승인되어 있다.
- ISMS 대비라면 인증 범위와 모의해킹 범위가 같은지 보안팀과 서비스 오너가 확인했다.
반대로 이 경우는 보류가 낫다.
- 운영 서비스 URL만 있고 스테이징 환경이나 테스트 데이터가 없다.
- 모바일 앱과 API가 핵심인데 견적서가 웹 URL 1개 단가만 제시한다.
- 재진단과 조치 증적이 별도 협의로만 남아 있고 추가 비용 기준이 없다.
- 자동 스캔 결과를 수동 검증하지 않거나 오탐 제거 책임자가 정해져 있지 않다.
모의해킹 비용은 싸게 사는 항목이 아니라 빠진 범위를 줄이는 항목이다.
예산을 낮추려면 진단 대상을 줄이는 것보다 테스트 데이터와 권한표를 먼저 정리하는 편이 낫다.
함께 보면 좋은 글
자주 묻는 질문
모의해킹 비용은 URL 개수만으로 정해지나요?
아니다.
URL 개수는 시작 단위이고, 인증 권한, 관리자 기능, API, 모바일 앱, 재진단, 보고서 형식이 실제 견적을 바꾼다.
ISMS 심사 준비용 모의해킹은 일반 진단과 무엇이 다른가요?
ISMS 대비 목적이면 취약점 탐지뿐 아니라 범위표, 조치 계획, 이행점검 결과, 예외 승인 기록처럼 심사 증적이 필요하다.
자동 DAST 도구가 있으면 외부 모의해킹을 생략해도 되나요?
생략 판단은 위험하다.
자동 DAST는 반복 점검에 강하지만 비즈니스 로직, 권한 상승, 결제 우회 같은 항목은 수동 검증이 필요할 수 있다.
모바일 앱 모의해킹이 웹보다 비싼 이유는 무엇인가요?
앱 빌드, 단말 조건, API 서버, 로컬 저장소, 인증 토큰, 배포 버전 고정이 필요해 준비와 재현 시간이 더 들어간다.
재진단은 꼭 계약에 넣어야 하나요?
넣는 편이 안전하다.
조치 완료 후 재현 불가 상태를 확인하지 않으면 보고서는 있어도 감사나 고객사 보안 검토에서 증적이 약해질 수 있다.
가장 싼 견적을 고르면 안 되는 경우는 언제인가요?
관리자 권한, API, 재진단, 긴급 알림, ISMS 제출용 보고서가 빠진 견적이면 낮은 금액보다 누락 비용이 더 커질 수 있다.
출처와 확인일
- EGIS — 비대면 모의해킹 서비스 가격표 (확인일: 2026-09-07)
- Cobalt — Pentest pricing and autonomous pentest offer (확인일: 2026-09-07)
- PortSwigger — Burp Suite DAST pricing (확인일: 2026-09-07)
- PortSwigger Docs — Scanning APIs in Burp Suite DAST (확인일: 2026-09-07)
- OWASP — Application Security Verification Standard (확인일: 2026-09-07)
- OWASP — Web Security Testing Guide (확인일: 2026-09-07)
- NIST — SP 800-115 Technical Guide to Information Security Testing and Assessment (확인일: 2026-09-07)
- Snyk — Snyk plans and pricing (확인일: 2026-09-07)
확인일은 2026-09-07이며, 공개 가격과 프로모션 조건은 공급자 정책과 계약 조건에 따라 바뀔 수 있다.
이 글은 일반적인 IT 비용 검토 정보이며, 실제 계약과 보안 책임 범위는 공식 문서, 견적서, 법무·보안 전문가 검토로 확정해야 한다.






댓글
댓글 쓰기