AI 코딩 도구가 취약한 코드를 배포하고 있기 때문에 나는 Multi-Agent AI Pen Tester를 만들었다

발행: (2026년 5월 3일 PM 04:35 GMT+9)
9 분 소요
원문: Dev.to

Source: Dev.to

Aaron Sood

문제

AI 코딩 어시스턴트가 어디에나 있습니다. 개발자들은 Claude, Copilot, 그리고 Cursor를 사용해 그 어느 때보다 빠르게 코드를 배포하고 있습니다—하지만 동시에 다음과 같은 문제도 배포하고 있습니다:

  • SQL 인젝션
  • 하드코딩된 비밀
  • 깨진 인증
  • XSS

AI 도구는 작동하는 코드를 최적화하고, 보안이 강화된 코드는 최적화하지 않습니다. 일반적인 결과물:

  • 로그인 폼은 작동하지만 ‘ OR 1=1--와 같이 쉽게 우회될 수 있습니다.
  • 데모를 빠르게 작동시키기 위해 API 키를 하드코딩합니다.
  • 명시적으로 요청하지 않는 한 입력 검증이 없습니다.

대부분의 개인 개발자와 소규모 팀은 침투 테스트 전문가를 고용하지 않습니다. 기본적인 펜테스트는 $500–$2,000 정도 들고, 예약까지 몇 주가 걸릴 수 있어 취약점이 그대로 배포됩니다.

Introducing VulnSwarm

VulnSwarm은 실제 침투 테스트 팀을 모방하는 특화된 AI 에이전트 군집을 배치합니다. 하나의 거대한 모델 대신, 각 에이전트는 고유한 역할을 가집니다:

에이전트역할
🔭 Recon Agent공격 표면을 매핑하고, 진입점을 식별하며, 기술 스택을 파악하고, 가장 위험도가 높은 영역을 표시합니다.
💥 Exploit AgentRecon 데이터를 활용해 실제로 악용 가능한 부분을 판단합니다. 각 발견 항목을 심각도, 악용 가능성, 영향(CVSS와 유사한 점수)으로 평가합니다.
🗡️ Red Team Agent공격자처럼 사고합니다. 취약점을 연결해 현실적인 공격 경로를 만들고 최악의 시나리오를 찾습니다.
🛡️ Blue Team Agent방어자 역할을 합니다. 구체적인 코드 수준의 수정안을 작성하고, 노력 대비 효과를 기준으로 우선순위를 정합니다.
📄 Report Agent전체 위험 점수, 심각도 구분, 그리고 개선 로드맵을 포함한 전문 침투 테스트 보고서로 모든 내용을 종합합니다.

에이전트들은 서로 debate합니다: Red Team은 Exploit 분석에 도전하고, Blue Team은 심각도 평가에 이의를 제기하며, Report Agent는 미묘한 결과를 통합합니다.

OWASP Juice Shop 테스트

수동 테스트 (≈30 초)

  1. 이메일 필드에 ' OR 1=1-- 를 입력해 관리자 계정으로 로그인했습니다.
  2. /administration 에서 관리자 패널에 접근했습니다.
  3. 사용자 이메일 주소 21개를 수집했습니다.
  4. 고객 피드백에서 노출된 암호화 지갑 시드 구문을 발견했습니다.

VulnSwarm 자동 탐지 결과 (CPU 전용 VPS에서 llama3.2:3b 로 약 15 분)

심각도발견 내용CVSS
🔴 Critical파일 업로드 엔드포인트 – 악성 코드를 주입하거나 데이터를 유출할 수 있음.9.0
🔴 Critical검증되지 않은 API 엔드포인트 – 입력 검증 및 정제가 부족함.9.0
🟠 MediumContent‑Security‑Policy 누락5.3
🟠 MediumStrict‑Transport‑Security 누락5.3
🟠 MediumX‑XSS‑Protection 누락5.3
🟠 MediumReferrer‑Policy 누락5.3
🟠 MediumPermissions‑Policy 누락5.3

qwen2.5:14bClaude 와 같은 대형 모델도 제가 수동으로 찾은 SQL 인젝션을 탐지합니다.

멀티‑에이전트 아키텍처 작동 방식

Security analysis benefits from multiple perspectives arguing with each other, just like a real security team.

Your Code/App


┌──────────┐    ┌───────────┐    ┌──────────┐    ┌─────────┐
│  Recon   │───▶│  Exploit  │───▶│ Red Team │───▶│  Blue   │
│  Agent   │    │   Agent   │    │  Agent   │    │  Team   │
└──────────┘    └───────────┘    └──────────┘    └────┬────┘


                                            ┌──────────┐
                                            │  Report  │
                                            │  Agent   │
                                            └──────────┘
  • Recon은 원시 코드/앱만 볼 수 있습니다.
  • Exploit은 리콘 데이터만 볼 수 있습니다(수정 사항 없음).
  • Red Team은 익스플로잇 결과만 볼 수 있습니다(수정 사항 없음).
  • Blue Team은 공격 경로만 볼 수 있습니다(리콘 없음).
  • Report는 모든 것을 보고 개발자 친화적인 문서를 생성합니다.

VulnSwarm 직접 실행하기

VulnSwarm는 Claude, GPT‑4o, Gemini, OpenRouter, 그리고 Ollama를 지원합니다. 무료로 로컬에서 실행하려면:

# Clone the repo
git clone https://github.com/aaronsood/VulnSwarm.git
cd VulnSwarm

# Install Python dependencies
pip install -r requirements.txt

로컬 모델 가져오기 (선택 사항)

ollama pull llama3.2:3b

스캐너 시작

python -m cli.main

테스트 대상 실행 (OWASP Juice Shop)

docker run --rm -p 3000:3000 bkimminich/juice-shop

그런 다음 VulnSwarm를 http://localhost:3000/에 지정하세요.
웹 스캔은 기본적으로 로컬호스트 전용이며—VulnSwarm는 당신이 소유하지 않은 어떤 것도 건드리지 않습니다.

아직 하지 못하는

  • 이것은 첫 번째 검토이며, 전문 보안 팀을 대체하는 것이 아닙니다.
  • 깊은 비즈니스 로직 이해가 필요한 제로데이 또는 새로운 공격 체인을 발견하지 못합니다.
  • 작은 모델은 큰 모델이 포착하는 발견을 놓칩니다.
  • CI/CD 또는 GitHub Actions 통합이 없습니다 (로드맵 항목).

로드맵에는 더 깊은 모델 지원, CI/CD 플러그인 및 보다 풍부한 보고가 포함됩니다.

큰 그림

AI를 사용해 취약점을 찾는 것은 시적이다: 코드를 작성할 수 있는 기계가 더 안전한 코드를 작성하도록 돕는다. VulnSwarm은 가장 흔한 고통점—보안 검토 없이 배포하고 예산도 없는 개발자 99 %—을 해결하기 위해 저렴하고 자동화된 “첫 번째 방어선”을 제공한다.

VulnSwarm

AI가 도입한 도전과 책임.

AI 코딩 도구가 소프트웨어를 작성하는 기본 방식이 되면서, AI 보안 도구도 그 속도를 따라가야 합니다.

프로젝트 소개

  • 오픈 소스 – MIT 라이선스
  • 초기 단계 – 특히 보안 또는 AI 도구 분야의 기여자를 환영합니다

저장소

GitHub: aaronsood/VulnSwarm

CPU 전용 VPS와 의도적으로 해킹 가능한 웹 앱, 그리고 과도한 커피를 사용해 토요일에 구축하고 테스트했습니다.

0 조회
Back to Blog

관련 글

더 보기 »