SYSTEM ARCHITECTURE / 01

제안은 Agent가,
상태 전이는 검증기가.

과거 CVE의 근거를 현재 V8 퍼징 전략으로 연결합니다. Experiment Manager만 campaign, queue, corpus, 예산을 변경하며 모든 제안과 결과는 기록·게이트를 통과합니다.

01 / SYSTEM MAP

하나의 제어면,
세 개의 작업 흐름

준비 단계에서 전략을 만들고, Manager가 실행을 동결합니다. 실행 이벤트는 전략 갱신이나 후보 검증으로만 이어집니다.

RESEARCH

근거 준비

공개 CVE → 현재 V8

  1. 01Evidence공지·패치·테스트의 출처와 SHA
  2. 02Mechanism역사 재현과 실패 불변식
  3. 03Mapping현재 코드 경로와 불확실성
  4. 04StrategyFuzzIL generator·oracle 제안
검증된 strategy proposal
DETERMINISTIC CONTROL PLANE

Experiment Manager

schema·출처·권한·예산을 검사하고 campaign을 동결합니다. queue, corpus, 설정, 상태 변경 권한은 이 제어면에만 있습니다.

  • campaign manifest
  • window configuration
  • 승인·거절 event log
동결된 실행
관찰·검증
EXECUTION PLANE

Fuzzilli + current V8

REPRL·coverage gate를 통과한 window에서 실행 수, target hit, 유효 입력, timeout, crash를 원시 artifact로 남깁니다.

EVIDENCE PLANE

Triage → Verification → Review

후보를 중복 제거·최소화하고 별도 환경에서 반복 재현합니다. 사람 검토 후에만 검증된 finding으로 승격합니다.

Agent는 공유 상태를 직접 수정하지 않습니다. 실행 결과의 해석과 버그 판정도 executor가 수행하지 않습니다.

02 / DATA CONTRACT

레코드가 다음 단계를 증명합니다

각 레코드는 부모 ID, 상태, source hash를 연결합니다. 관찰값을 보존하고 해석이 바뀌면 새 기록을 남깁니다.

  1. case출처·fix/parent
  2. hypothesis실패 메커니즘
  3. mapping현재 V8 경로
  4. strategyFuzzIL·oracle
  5. campaign동결된 설정
  6. run원시 실행 증거
  7. finding독립 검증
  8. report검토된 결론
GATE / 01

전략 승인

현재 V8 SHA, 경로와 불변식이 확인되어야 strategy를 campaign으로 보낼 수 있습니다.

GATE / 02

실행 시작

campaign freeze와 d8·Fuzzilli·toolchain hash, 환경 manifest가 맞아야 run을 시작합니다.

GATE / 03

버그 승격

최소 입력, 별도 환경의 반복 재현, 중복 판정과 사람 검토가 있어야 bug로 기록합니다.

03 / EXECUTION & FEEDBACK

Window 경계에서만 전략을 바꿉니다

B2의 단일 Strategy Agent는 사전 등록된 이벤트에서만 제안합니다. Manager가 제안의 schema, allowlist, 예산을 검증한 뒤 다음 window 설정에 적용합니다.

01 / RUN

동결된 window 실행

시작 corpus와 generator weight는 window 중 바뀌지 않습니다. 실행과 contributor 통계를 snapshot으로 보존합니다.

02 / EVENT

조건에 따른 호출

새 target path, hit 정체, 반복 실패, 새 oracle candidate 중 등록된 trigger가 있을 때만 Agent를 호출합니다.

03 / PROPOSAL

Agent 제안 검증

허용된 weight 변경 또는 재검토 요청만 받습니다. 권한·event ID·token 상한을 벗어나면 거절 로그를 남깁니다.

04 / NEXT WINDOW

승인된 설정 적용

새 immutable configuration과 corpus hash를 기록하고 다음 window에만 반영합니다. 실패 시 직전 승인 설정으로 되돌립니다.

비교군 계약
B0 기본 FuzzilliB1 CVE 전략 고정B2 단일 Agent 피드백B3 역할 분리 Agent · 계획

동일 current V8, 초기 corpus, CPU·실행·시간 예산을 기준으로 비교하며 arm 간 corpus는 분리합니다.

04 / VALIDATION & RECOVERY

관찰, 후보, 버그를 분리합니다

target 도달이나 crash 한 건은 검증된 취약점이 아닙니다. 원시 결과와 실패 상태도 삭제하지 않고 남깁니다.

OBSERVATION

실행 신호

coverage·target hit·exit·signal·stdout/stderr hash

CANDIDATE

분리된 검증 queue

중복 제거, 최소화, 반복 재현 대상

VERIFICATION

독립 환경

최소 입력 hash, 원인 검토, 안정성 확인

REVIEWED

사람 판정

검증된 결과만 report의 bug 수에 포함

Mapping 실패

경로가 사라졌으면 전략을 보류하고 더 일반적인 불변식으로 되돌립니다.

환경 게이트 실패

REPRL·coverage·binary hash가 맞지 않으면 run을 무효로 분리하고 실행 전 단계로 돌아갑니다.

Window 실패

직전 승인 configuration과 시작 corpus에서 재개합니다. 실패 window의 corpus는 다음 단계로 전달하지 않습니다.

재현 실패

후보를 삭제하지 않고 not_reproduced 상태와 근거를 남깁니다.

05 / EXPERIMENT ITERATIONS

적응 실험 v1 → external holdout

LLM 피드백(B2) 비교 실험을 반복하며 제어 경로를 교정한 뒤, 동결된 정책을 서로 다른 CVE 계열의 external holdout으로 전이했습니다.

  1. v1 · 피드백 파일럿

    Codex CLI provider·제안 경로·window runner 배선을 smoke로 확인. 적응 효과 측정 이전 단계.

  2. v2 · policy v2 / 적응효과

    저가중치 action 1→6. 제어 경로는 통과했으나 조정 대상 hit 증가는 발동 4쌍 중 2쌍으로 효과 불확정.

  3. v3 · policy v3 교정

    weight 교정(≥20 invoc/window ≈ weight 100)으로 action 1→100. 발동 4쌍 중 3쌍에서 hit 양수(+6/+7), v2보다 뚜렷.

  4. v4 · 장기 B0/B1/B2

    네 generator·9 run·18 window. weight 변경이 마지막 window 뒤 발생해 적응 실행 window가 0.

  5. v5 · 장기(중단)

    강한 적응 재시도. 40k window에서 6번째 B2 콜 누적 input이 한도를 164토큰 초과해 중단(aborted 기록 보존).

  6. v6 · 장기(완주)

    30k window로 낮춰 9 run·18 window 완주(362,008 execs). 균형 weight 시작이라 발동률이 낮고 B2가 B1을 앞서지 않음.

  7. v7 · 불균형 시작 + rollback

    LiveAlias 1 / DefaultRef 20로 시작해 안정 발동. 3 B2 run 모두 1→100, 처음으로 B2가 B1을 일관되게 앞서는 양의 신호(interesting +4.6%·corpus +7.5% 중앙값). 단 n=3 저검정력.

  8. v8 · 미러(방향 대칭)

    방향을 뒤집음(DefaultRef-low). v7의 일반 우위가 재현되지 않고 음으로 뒤집힘(interesting −38·corpus −22). → v7 신호는 방향 특정 artifact, 적응 일반우월성 미입증.

  9. External holdout · 동결 정책 전이

    JSON exception path, Array species, super IC/API getter의 3 campaign·9 paired repetition에서 B2−B1 target hit이 9/9 양수(중앙값 +37). 일반 coverage·corpus·interesting 개선은 0/3이라 target 재배분 효과로만 판정.

자료 기준

v8-fuzz-lab의 architecture/overview.md, workflow.md, data-contracts.md, b2-feedback-control.md와 experiments/protocol.md를 요약했습니다. B3는 설계상 비교군이며 완료 실험으로 표시하지 않습니다.