42 lines
1.7 KiB
Markdown
42 lines
1.7 KiB
Markdown
# Bug Report Protocol
|
|
|
|
> 이 프로토콜은 코드 감사 또는 디버깅 시 false positive를 방지하기 위한 6단계 검증 절차입니다.
|
|
> AGENT.md 규칙 #10의 세부 구현입니다.
|
|
|
|
## 절차
|
|
|
|
```
|
|
1. Identify: 로컬 코드에서 잠재적 이슈 식별
|
|
2. Trace: 해당 데이터의 전체 생명주기 추적
|
|
- Producer (생성자) 파일을 열어 확인
|
|
- Transport (전달 경로: file, HTTP, RPC) 확인
|
|
- Consumer (소비자) 파일을 열어 확인
|
|
3. Defend: 기존 방어 메커니즘 검색
|
|
- try-catch, idempotency guard, dedup logic
|
|
- upstream validation, downstream tolerance
|
|
4. Disprove: 버그가 아닌 이유를 적극적으로 찾기
|
|
- "이 코드가 안전한 이유는?"
|
|
- 방어 메커니즘이 존재하면 → false positive 가능성 높음
|
|
5. Prove: 여전히 버그라면 트리거 경로를 증명
|
|
- 구체적 입력 → 구체적 경로 → 구체적 실패
|
|
- "A가 B를 호출하면 C에서 D가 발생" 형태
|
|
6. Report: 증명된 버그만 보고
|
|
- 트리거 경로 + 심각도 + 영향 범위 포함
|
|
- 증명 못 한 것은 보고하지 않음
|
|
```
|
|
|
|
## 결정 기준
|
|
|
|
| 상황 | 판정 |
|
|
|------|------|
|
|
| 방어 메커니즘 존재 + 트리거 경로 없음 | ❌ 보고 안 함 |
|
|
| 방어 메커니즘 없음 + 트리거 경로 증명됨 | ✅ 보고 |
|
|
| 방어 메커니즘 존재 + 우회 경로 증명됨 | ✅ 보고 (우회 경로 명시) |
|
|
| 잘 모르겠음 | 🔍 추가 조사 후 판단 (추측으로 보고 금지) |
|
|
|
|
## 근거
|
|
|
|
- Anthropic Code Review: "verification step attempts to disprove each finding"
|
|
- LLM Self-Verification: 자기 결과를 검증하지 않으면 noise와 과신 리포트 양산
|
|
- Systems Thinking: 개별 컴포넌트가 아닌 관계와 상호의존성에 집중
|