Playball Logo

Command Palette

Search for a command to run...

목차 열기

01. 아키텍처

AI Attack Agent는 에이전트 · 스웜 · 시뮬레이션 세 계층으로 구성됩니다. 각 계층은 서로 다른 요구사항을 가지며 그에 맞는 설계 원칙을 따릅니다. 에이전트는 서로 독립적으로 실행되며 개수는 자유롭게 설정합니다 — 독립 실행이 핵심이고, 몇 개를 띄울지는 구성에 따라 조정합니다.

계층 구조

Attack swarm architecture

문서 이미지를 큰 화면으로 확인합니다.

시뮬레이션 계층 (오른쪽): 여러 독립 PC가 각자의 스웜을 돌림, PC 간 통신 없음. 스웜 계층 (PC 1 내부): 한 PC의 에이전트들 + Event Bus + LLM Coordinator + Strategy Store + Monitor/Audit. 에이전트 계층 (파란색): 결정론 FlowState 상태머신, LLM 미사용. LLM은 스웜 레벨 전략 조정에만 관여.

계층별 설계 원칙

계층핵심 요구설계 선택LLM 사용
에이전트재현 가능성·디버깅비결정론 배제, 그래프 상태머신
스웜방어 반응 적응LLM + 비대칭 읽기/쓰기
시뮬레이션현실적 분산PC 간 통신 없음

원칙: "작은 결정(에이전트)은 결정론, 큰 결정(스웜)은 LLM". 이 분리가 반응 속도와 유연성을 동시에 확보합니다.

주요 컴포넌트

에이전트 계층 컴포넌트

컴포넌트역할
상태머신 엔진단계별 상태 전이·인터럽트 복귀 제어
브라우저 워커브라우저 조작, 마우스 primitive 제공
궤적 합성기마우스 이동 경로 곡선 생성
챌린지 풀이기보안 챌린지 자동 통과
요소 탐색기DOM 요소 다중 셀렉터 기반 식별
네트워크 관찰자HTTP 응답 실시간 수집
증거 수집기스크린샷·네트워크 트레이스·콘솔 로그 저장

스웜 계층 컴포넌트

컴포넌트역할
이벤트 버스구독자별 독립 큐로 이벤트 배포
공유 전략 저장소스웜 전체 전략 상태 보관
LLM 코디네이터LLM 기반 전략 조정 결정
모니터 대시보드실시간 터미널 대시보드
런처스웜 전체 생명주기 관리

데이터 흐름

에이전트 내부 흐름

사용자 시작 명령
    ↓
[런처] 세션 파일 로드, 브라우저 컨텍스트 생성
    ↓
[상태머신] 초기화 → 예매 진입 → 대기열 → ... → 종료
                      ↓
                 [브라우저 워커] 마우스·클릭·대기 primitive
                      ↓
                 [궤적 합성기] 이동 경로 생성
                      ↓
                 [요소 탐색기] 대상 UI 요소 식별
                      ↓
                 [네트워크 관찰자] 응답 코드 감시
    ↓
각 단계에서 이벤트 로그·스냅샷 생성

스웜 전체 흐름

[에이전트 1~N] 이벤트 발행 (좌석 확보, 차단, 챌린지 결과 등)
    ↓
[이벤트 버스] 구독자별 독립 큐로 분기
    ├─→ [코디네이터] 누적 이벤트 → LLM 판단 → 전략 갱신
    ├─→ [모니터] 실시간 대시보드 갱신
    └─→ [감사 로거] 구조화된 이벤트 로그 저장
          ↓
[공유 전략 저장소] 에이전트가 결정 지점에서 최신 전략 읽기

왜 이렇게 나누었나

에이전트 계층: 결정론

  • 수백 번 돌려도 재현되는 결과가 필요 (디버깅·개선 가능성)
  • 실패 시 "어느 단계에서 어떤 이유로 멈췄나"가 명확해야 함
  • 그래서 그래프 기반 상태머신으로 구현, 상태 값만 보고 다음 동작을 결정

스웜 계층: LLM 기반 유연성

  • 방어의 반응에 실시간 적응 필요
  • 어떤 구역이 계속 차단되면 다른 구역을 시도해야 하는데, 이런 판단은 규칙으로 미리 다 적어두기 어려움
  • 그래서 LLM 코디네이터가 선발대 결과를 보고 후발대 전략을 동적으로 조정

시뮬레이션 계층: PC 간 독립

  • 실제 공격은 서로 다른 IP·네트워크·기기에서 독립적으로 들어옴 (중앙집권 봇넷이 아님)
  • 그래서 PC 간 통신을 일부러 없애서 "여러 독립 공격원 동시 진입" 상황 재현
  • 방어 시스템이 세션 상관관계를 어떻게 분해하는지 측정

참조