본문으로 건너뛰기
Inside the scan

점검 버튼 한 번,787번의 판단.

「AI가 점검한다」는 말만으로는 안에서 무슨 일이 벌어지는지 알 수 없어요. 이 페이지는 우리 서비스(wrks.ai)를 실제로 점검한 기록을 그대로 풀어 쓴 거예요. 호스트를 찾고, 계획을 세우고, 재현해서 확정하고, 보고서를 쓰기까지 — 고객 화면의 감사 기록에서 똑같이 확인할 수 있어요.

19개호스트 발견·스코프 확정
57개점검 표면 검토
787단계AI 판단·명령 수행
400건명령 감사 기록

실측 — 2026-10-11 wrks.ai 점검 기록. 스코프가 커지면 이 숫자는 더 커져요.

The journey

점검 시작 버튼을 누른 뒤 6단계

사람이 하면 며칠 걸리는 정찰·계획·실행·검증을 AI 침투 엔진이 스스로 되풀이해요. 단계마다 고객 화면에 실시간으로 보이고, 오른쪽 그림은 그 화면을 단순하게 옮긴 예시예요.

01

정찰 — 당신의 인터넷 자산 전부 찾기

인증서 투명성 로그 2개 소스(crt.sh·Cert Spotter)를 병렬로 읽고, DNS 사전 조사 3층(기본·제품·형제 라벨)으로 www, api, staging, grafana, gov 같은 서브도메인을 발굴해요. 도메인 하나를 등록했다고 그 한 호스트만 보는 게 아니라, 인증서에 찍힌 흔적까지 뒤져 스코프를 확정해요.

왜: 공격자는 홈페이지가 아니라 잊힌 staging 서버로 들어와요. 실제 사고의 다수가 메인이 아닌 자산에서 시작됐어요.
02

공격면 지도 — 살아 있는 것만 골라내기

발견한 호스트마다 HTTP 프로브로 살아 있는지·상태코드·기술 스택·서버 버전을 조사하고, 포트 스캔으로 열린 문을 확인해요. 죽은 서브도메인과 살아 있는 서브도메인을 가려내 실제로 공격 가능한 표면만 남겨요.

왜: 표면이 몇 개인지 모르면 뭘 지켜야 하는지도 모르는 상태예요. 이 단계가 보안의 지도예요.
03

위험 기능 대조 — 이름을 대고 찾는 CVE

금융권·기업이 많이 쓰는 서버 소프트웨어 11개 묶음·CVE 44종을 이름으로 지정해 확인해요. 오라클 웹로직(최근 금융권 공격의 표적)·Struts·Spring·Log4j·Jenkins·Confluence·Exchange·VPN 게이트웨이·vCenter·F5까지, 공격자가 실제로 악용하는 바로 그 취약점이 있는지를요.

왜: 「CVE가 있다」와 「내 서버가 그 버전이고 그 포트가 열려 있다」는 다른 얘기예요. Redme는 후자를 확인해요.
04

AI 자율 침투 — 기계가 판단하고 움직이는 단계

여기부터가 AI 레드팀의 핵심이에요. AI가 세션 쿠키와 JWT 특성, 가입·비밀번호 재설정 흐름, 인증 없는 경로 목록, CORS 허용 정책, 내부 엔드포인트의 시크릿 처리까지 스스로 계획을 세우고 — 경우에 따라 여러 에이전트를 병렬로 띄워 — 조사해요. 실측 한 건에서 AI는 76단계짜리 계획을 스스로 세우고 787번의 판단을 했어요.

왜: 정적 도구는 규칙에 있는 것만 찾아요. AI는 「지원 포털이 SSO 없이 열려 있다 → 우선 파고들자」 같은 문맥 판단을 해요.
05

실증 — 의심은 증거로 바꿔야 발견

후보를 발견으로 확정하려면 재현이 필요해요. AI가 직접 요청을 보내 — 프록시로 캡처한 HTTP 교환, 바이트 단위 응답 크기, 반환된 페이로드 구조까지 — 「재현 가능한 증거」로 남겨요. 반대로 강하게 의심했더라도 반증(캐시 안 됨·특수 문자 차단)이 나오면 위양성으로 기각해요.

왜: 증거 없는 지적은 고칠 수도, 우선순위를 매길 수도 없어요. 그래서 Redme는 발견마다 증거를 첨부해요.
06

보고 — 고치는 사람의 언어로

확정된 발견마다 심각도(CVSS)·분류(CWE)·수정 난이도를 매기고, 고치는 방법을 단계로 쓰고, 확인했지만 발견이 없었던 영역까지 함께 보고해요. PDF·Word·Excel·한글(HWPX) 4종 형식으로 내려가고, 한국어·영어로 읽어요.

왜: 「취약점 3개」만 받으면 무엇을 먼저 고칠지 모르고, 무엇을 봤는지도 몰라요. 리포트는 그 둘 다 답해야 해요.
The checklist

실제로 확인하는 항목들

점검 목록은 코드의 도구 정의에서 그대로 옮겼어요. 화면의 도구 카탈로그와 같은 원천이라, 여기 적힌 것만 점검하고 적히지 않은 건 하지 않아요.

노출·지형

  • 서브도메인 열거 — 인증서 로그 2개 소스 + DNS 3층 조사. 잊힌 staging·개발서버 발굴
  • 공격면 조사 — 살아 있는 호스트·상태코드·기술 스택·서버 버전 지문
  • 숨은 경로 탐색 — 관리자·백업·설정 파일 경로(작은 내장 목록, 재귀 차단)
  • 포트·서비스 확인 — 열린 관리 포트(7001·8009·8080 같은 위험 포트 포함)

위험 기능 (CVE 이름 지정 점검)

  • 오라클 웹로직 — CVE-2020-14882 등 10종. 최근 금융권 공격의 표적
  • Apache Struts·Tomcat — 업로드 파서·OGNL·AJP 8009 경유 원격 실행
  • Spring — Spring4Shell·Cloud Gateway RCE
  • Log4j — Log4Shell(CVE-2021-44228)
  • Jenkins·CI 서버 — 인증 우회·경로 이탈. 뚫리면 배포 권한까지
  • Atlassian·Exchange·VPN·vCenter·F5 — ProxyLogon·Fortinet·Citrix 등

인증·세션·논리

  • 가입·비밀번호 재설정 흐름 — 토큰 검증 우회·계정 열거 가능성
  • 세션 쿠키·JWT 특성 — HttpOnly·Secure·만료·서명·권한 주장(claim)
  • 로그인 뒤 화면 — 고객이 준 계정으로 로그인해 마이페이지·관리자 화면의 노출 확인
  • 접근 제어(IDOR) — 다른 조직·다른 사용자의 자원이 내 토큰으로 열리는지

입력·주입·설정

  • SQL 인젝션 — 탐지만. 데이터 추출 옵션은 실행 전에 코드가 거부
  • 알려진 취약점 대조 — nuclei 템플릿 약 1만 건(CISA KEV 포함), DoS·무차별 대입 제외
  • 보안 헤더·쿠키 설정 — CSP·HSTS·X-Frame-Options 누락 여부
  • CORS 교차 출처 정책 — 악의적 출처에서 자격증을 받아 내 데이터를 읽을 수 있는지

정보 노출

  • 소스맵·빌드 산출물 — 원본 소스 코드 전체가 다운로드되는지(실측 사례: 관리 API 34개와 인증 흐름이 담긴 지도가 공개중이었음)
  • 텔레메트리·상태 엔드포인트 — /metrics·/health 노출 시 사용자 수·내부 구조·버전 유출
  • 오류·디버그 로그 주입 — 익명 제출이 내부 모니터링 파이프라인을 오염시킬 수 있는지
  • Host 헤더 반영 — 피싱·링크 미리보기 조작에 쓰이는지

무엇을 안 하는지

  • 안 하는 이유를 적는 칸 — 서비스 거부(DoS)·무차별 대입·데이터 덤프 금지. 코드 검증기가 명령 단계에서 차단해요
  • 스코프 동결 — 스캔 중 발견한 새 호스트는 절대 접근하지 않고 정보성으로만 기록
  • 증거 마스킹 — 개인정보·토큰은 저장 전에 가리고 90일 뒤 자동 파기
  • 안전장치 전부 보기 → /safety
Field record

실측 기록 — 실제 도메인에서 찾은 것들

우리 자체 서비스(wrks.ai)를 대상으로 실제로 돌린 점검에서 나온 발견이에요. 점검 한 번에 어느 수준의 것까지 나오는지 감이 오실 거예요.

중간프로덕션 소스맵 전체 노출

빌드 산출물에 포함된 소스맵 파일 5.4MB짜리가 인증 없이 다운로드됐어요. 관리 API 34개의 엔드포인트·인증 흐름·오류 코드 체계가 주석까지 담긴 원본 소스로 그대로 공개 중이었어요. 공격자 입장에서는 리버스 엔지니어링이 필요 없는 지도예요.

확인 방법: 프록시로 캡처한 4개 GET 교환(HTTP 200, 5,475,441 바이트) + 지도 구조 676/676 원본 소스 검증
중간URL 쿼리로만 전송되는 세션 토큰

모바일 API의 세션 토큰이 헤더가 아니라 URL 쿼리 문자열로만 흘렀어요. URL은 브라우저 히스토리·프록시 로그·Referer 헤더에 남으므로 토큰이 생각보다 넓게 퍼질 수 있어요.

확인 방법: 프록시 교환 ID로 원본 요청 전수 대조 — 전 요청에서 토큰이 URL 에만 존재
중간인증 없는 Grafana 텔레메트리

모니터링 콘솔의 메트릭 엔드포인트가 익명 방문자에게 열려 있었어요. 정확한 소프트웨어 버전, 사용자·역할 인벤토리, 로그인 성공/실패 실시간 카운터까지 노출돼서 공격자에게 정찰 지도를 주는 상태였어요.

확인 방법: 스크레이프당 308KB 페이로드 해석 + 실패 로그인 시도 후 카운터 증가 실측
참고허용적 CORS 정책

API 게이트웨이가 프리플라이트에서 모든 출처의 자격증 포함 교차 출처 요청을 승인하고 있었어요. 악의적 사이트가 로그인된 사용자의 브라우저에서 내 API를 그대로 부를 수 있는 구조예요.

확인 방법: attacker.example 출처의 OPTIONS 프리플라이트 → Access-Control-Allow-Origin 반영 확인

※ 이 발견들은 승인·결제·동의 관문을 통과한 정식 점검 기록이에요. 감사 기록 400건에는 차단된 시도 1건(무해성 규칙)도 그대로 남아 있어요 — 무엇을 안 했는지도 기록해요.

The math

같은 일을 사람이 하면

외주 모의해킹

  • 정찰·스코프 확정: 1~3일
  • 수동 점검 표면 57개: 2~5일
  • 보고서 작성·번역: 2~3일
  • 건당 350만~수천만 원, 재점검은 다시 계약
  • 대기 시간: 주 단위 예약

Redme AI 레드팀

  • 정찰·스코프 확정: 3분(CT 로그 2개 소스 병렬 + DNS 3층)
  • 점검 표면 57개 + AI 자율 조사: 1~4시간(최대 7시간까지 깊게)
  • 리포트 4종 형식·한국어·영어: 즉시 자동 생성
  • 꼼꼼한 점검 30만 원 — 외주의 10분의 1 수준
  • 버튼 누르고 커피 한 잔이면 돼요
외주의 10분의 1 가격위에 나열한 일을 전부 하고도 그 가격이에요.
빌드 1619a482.c1ab058e