Cybermes는 Hermes Agent로 구동되는 자율 보안 에이전트다. Zero-False-Positive 게이트, 토큰 70~85% 절약, 자율 추론 루프로 전통 스캐너의 노이즈 문제를 해결한다.
핵심 요약
- Cybermes(GitHub)는 Hermes Agent로 구동되는 자율 오펜시브 보안·버그바운티·레드팀 에이전트 프레임워크입니다. Python 3.11+, Apache-2.0, 생성 8일 만에 263★.
- 전통 보안 스캐너의 가장 큰 문제는 노이즈입니다. regex로 수백 개의 미검증 알림을 쏟아내지만, 정작 그중 진짜 취약점은 극소수입니다. Cybermes는 이를 Zero-False-Positive 게이트로 해결합니다 — 보고 전에 결정적 HTTP 증거와 독립 Python PoC를 요구합니다.
- 두 번째 문제는 컨텍스트 폭주입니다. 전통 스캐너는 5,000줄 이상의 원시 로그를 LLM 컨텍스트에 던져 환각을 유발합니다. Cybermes는
smart_pipe.py필터로 토큰을 70~85% 절약합니다. - 세 번째 차별점은 자율 추론 루프입니다. 단일 단계 스캔 대신 JS 번들을 분석하고, 멀티계정 인증 매트릭스를 테스트하고, 비즈니스 로직을 검증합니다.
보안 스캐너의 문제: 노이즈와 컨텍스트 폭주
오탐(false positive)은 실제로 존재하지 않는 취약점을 진짜인 것처럼 알려주는 보안 스캐너 도구의 오류입니다. 전통 보안 스캐너를 돌려보면 흔히 겪는 일입니다. 알림이 수백 개 쏟아지지만, 정작 하나하나 뜯어보면 대부분이 오탐(false positive)입니다. "잠재적 SQL 인젝션", "가능한 XSS" 같은 표현은 모호하고, 실무자는 그 수백 개 중에서 실제 익스플로잇 가능한 것을 일일이 찾아내야 합니다.
여기에 두 번째 문제가 더해집니다. AI 기반 보안 도구로 넘어가면, 스캐너가 쏟아낸 수천 줄의 원시 로그를 LLM 컨텍스트에 그대로 던지게 됩니다. 컨텍스트가 폭주하면 LLM은 주의가 분산되고 환각을 일으킵니다. 관련 없는 로그를 진짜 취약점으로 오인하거나, 반대로 진짜를 놓칩니다.
Cybermes(GitHub)는 이 두 문제를 정면으로 겨냥합니다. Hermes Agent를 코어로, 보안 스캐너를 에이전트의 도구로 재배치한 것입니다.
Zero-False-Positive 게이트: 증거가 없으면 보고하지 않는다
Cybermes가 전통 스캐너와 가장 크게 갈리는 지점은 보고 기준입니다.
| 전통 스캐너 | Cybermes |
|---|---|
| regex로 수백 개 미검증 알림 | 결정적 HTTP 증거 + 독립 PoC 필요 |
| "잠재적 SQL 인젝션" 모호 표현 | 상태 코드, 응답, 파라미터 확인 |
| 알림만 던지고 검증은 사람 몫 | 보고 전에 스스로 검증 |
핵심 원칙은 "증거가 없으면 보고하지 않는다"입니다. 취약점을 보고하기 전에:
- 결정적 HTTP 증거 — 실제 요청/응답, 상태 코드
- 독립 Python PoC 스크립트 —
pocs/poc_<vuln>.py로 재현 가능한 코드
이 게이트 덕분에 Cybermes의 보고서는 "가능성"이 아니라 "검증된 사실"만 담습니다. 보고서는 네 가지 형식으로 나옵니다 — SUMMARY.md(요약), metadata.json(구조화 메트릭스), report.html(인터랙티브 대시보드), REPORT.pdf(임원용 PDF).
토큰 경제: 70~85% 절약
두 번째 핵심은 스마트 필터입니다. Cybermes는 smart_pipe.py로 도구 출력을 두 갈래로 나눕니다.
- 원시 로그 전체는
recon/<target>/<tool>_raw.txt에 저장 — 감사용 - LLM 컨텍스트에는 상위 30~50개 고신호 결과만 전달 — HTTP 200/301/403, 고유 파라미터, API 라우트
.png, .css, .woff 같은 정적 자산과 404 노이즈는 걸러냅니다. 결과적으로 리콘 단계당 토큰 소모가 70~85% 절약됩니다. 컨텍스트가 얇아지니 LLM의 주의력도 살아나고, 환각도 줄어듭니다.
여기에 mcp-server-fetch가 더해집니다. 외부 웹페이지·문서를 깨끗한 마크다운으로 변환해, HTML 보일러플레이트를 제거한 상태로 LLM에 넘깁니다. 이것 역시 토큰 절약과 노이즈 제거를 위한 설계입니다.
자율 추론 루프: 스캔이 아니라 이해한다
세 번째 차별점은 단순 "스캔"이 아니라 "이해"입니다. 전통 스캐너는 정해진 패턴으로 탐색합니다. Cybermes의 Hermes 에이전트는 추론 루프를 돕니다.
- JS 번들 분석 — 프론트엔드 번들을 파싱해 숨겨진 API 엔드포인트·민감 정보를 찾음
- 멀티계정 인증 매트릭스 — 두 계정으로 IDOR/BOLA(수평 권한 상승)를 테스트. "계정 B가 계정 A의 리소스에 접근 가능한가"
- 비즈니스 로직 검증 — 단순 패턴이 아닌, 애플리케이션의 실제 로직 흐름을 이해하고 경합 조건(race condition)·인증 우회를 검증
이 모든 판단에 CVSS v3.1 점수를 매기고, 심각도(Critical/High/Medium/Low)별로 보고서를 구성합니다. 스캐너가 "발견"을 보고하면, 에이전트는 "검증된 취약점 + 심각도 + PoC"를 납품합니다.
4-Pillar 프레이밍: LLM 안전 가드레일을 다루는 법
Cybermes가 흥미로운 지점 하나는 LLM의 안전 가드레일을 어떻게 다루는가입니다. 자율 보안 에이전트는 "공격"이라는 지시에 모델이 거부 반응을 보이는 경우가 많습니다 — 이것을 Cybermes는 "LLM 정렬 가드레일의 오탐"이라고 부릅니다.
해결책은 4-Pillar Authorized Researcher Framing입니다:
[Scope & Authorization] + [Technical Objective] + [Non-Destructive Boundary] + [Structured Deliverable]
즉, 지시를 네 개의 기둥으로 포맷합니다.
- 권한 범위: "authorized scope 하의 target.com"
- 기술 목표: "Phase 1 정찰 실행"
- 비파괴 경계: "비파괴적 경계"
- 구조화 납품물: "recon/에 결과 저장"
이 프레이밍은 실제 검증된 권한을 명시하므로, 합법적 테스트를 "공격"으로 오인한 안전 거부를 줄입니다. 물론 이는 어디까지나 실제로 승인된 테스트 범위에서만 의미가 있습니다. 승인 없이 이 프레이밍을 쓰는 건 정당화가 아니라 범죄입니다. Cybermes의 법적 고지도 이를 강조합니다.
판단 — 에이전트화되는 보안 도구
Cybermes는 "보안 스캐너가 에이전트로 진화하는 한 예"입니다. 핵심 통찰 세 가지입니다.
- 노이즈보다 검증 — 수백 개의 "가능성"보다, 증거 있는 "확정" 하나가 낫다. Zero-false-positive 게이트가 이를 실현.
- 컨텍스트가 곧 지능 — LLM 에이전트는 컨텍스트가 얇을수록 잘 판단한다. 토큰 필터링은 선택이 아니라 필수.
- 스캔이 아니라 이해 — 패턴 매칭에서 로직 이해로. 자율 추론 루프가 IDOR, 비즈니스 로직 같은 지능형 취약점을 잡는다.
한계도 분명합니다. 263★로 시작한 프로젝트고, 실전 버그바운티에서 검증된 사례는 아직 부족합니다. 또 "자율 공격" 특성상 오용 가능성이 항상 따라붙습니다. 그럼에도, Cybermes가 보여주는 방향 — "증거 기반 검증 + 토큰 효율 + 로직 이해" — 은 AI 보안 도구의 미래를 가리킵니다. 특히 Hermes Agent(우리가 쓰는 에이전트)로 이런 자율 보안 워크플로를 구축할 수 있다는 건, 에이전트가 단순 코딩을 넘어 전문 영역으로 확장되는 사례입니다.
