Each language version is independently generated for its own context, not a direct translation.
이 논문은 **"AI 가 만든 코드를 어떻게 안전하게 검사할 것인가?"**라는 질문에 대한 새로운 해법을 제시합니다.
기존의 방식은 AI(대형 언어 모델) 에게 "이 코드에 버그나 보안 문제가 있니?"라고 그냥 물어보는 것이었습니다. 하지만 이 방식은 AI 가 때로는 중요한 걸 놓치기도 하고, 답변이 일관성 없거나, 나중에 "어떻게 그 결론을 내었는지"를 증명할 수 없다는 문제가 있었습니다.
이 논문에서 제안하는 ESAA-Security는 이 문제를 해결하기 위해 **"자유로운 대화"가 아닌 "엄격한 감사 (Audit) 프로세스"**로 접근법을 바꿉니다.
이 복잡한 개념을 쉽게 이해할 수 있도록 세 가지 비유로 설명해 드리겠습니다.
1. 비유: "무작위 대화 vs. 공인된 검사관"
기존 방식 (문제점):
마치 친구에게 "이 집이 안전한지 봐줘"라고 부탁하는 것과 같습니다. 친구가 "음, 문이 잠겨있고 창문도 닫혀 있네. 안전해 보여!"라고 말해줍니다. 하지만 친구가 왜 그렇게 생각했는지, 어떤 창문을 확인했는지, 혹시 다른 구석은 안 봤는지는 알 수 없습니다. 나중에 문제가 생기면 "내가 그걸 확인했어?"라고 다시 물을 수 없습니다.ESAA-Security 방식 (해결책):
이제 **공인된 검사관 (감사관)**을 고용했다고 상상해 보세요.- 정해진 체크리스트: 검사관은 임의로 돌아다니는 게 아니라, '문, 창문, 잠금장치, 전기 배선' 등 정해진 95 가지 항목을 하나씩 확인합니다.
- 기록의 의무: 검사관은 각 항목을 확인할 때마다 **"A 문 확인 완료, 잠금장치 정상"**이라고 **변경 불가능한 장부 (이벤트 로그)**에 적습니다.
- 검증: 나중에 누군가 이 장부를 다시 펼쳐보면, 검사관이 어떤 순서로 무엇을 확인했는지, 어떤 증거를 바탕으로 결론을 내렸는지 **완벽하게 재현 (Replay)**할 수 있습니다.
2. 핵심 원리: "변경 불가능한 장부 (Event Sourcing)"
이 시스템의 가장 중요한 특징은 **"장부 (로그)"**를 진리로 삼는다는 점입니다.
- 일상적인 비유:
은행 계좌를 생각해 보세요. 은행은 "지금 잔고가 얼마냐"고 묻는 게 아니라, **"어제 10 만 원 입금, 오늘 5 천 원 출금"**이라는 **모든 거래 내역 (이벤트)**을 저장합니다.- 만약 누군가 장부를 고쳐서 "출금이 없었어"라고 거짓말을 해도, 은행은 과거의 모든 거래 기록을 다시 계산해 보면 거짓말이 드러납니다.
- ESAA-Security 도 마찬가지입니다. AI 가 "이 코드는 안전해"라고 말하더라도, 그 결론에 도달하기까지 어떤 데이터를 보고, 어떤 규칙을 적용했는지가 장부에 꼼꼼히 기록됩니다. 나중에 다시 그 장부를 읽으면 똑같은 결론이 나옵니다.
3. 작동 방식: "4 단계의 엄격한 여정"
이 시스템은 AI 가 코드를 검사할 때 4 단계를 거치도록 설계되었습니다. 마치 수사관이 사건을 해결하는 과정과 비슷합니다.
- 현장 수색 (Reconnaissance):
- "이 집 (코드) 은 어떤 구조로 되어 있을까? 누가 들어올 수 있는 문은 몇 개인가?"를 파악합니다.
- 상세 검사 (Domain Audit):
- 미리 정해진 16 가지 보안 분야 (비밀번호, 데이터 암호화, AI 보안 등) 에 대해 26 가지 작업을 수행합니다.
- AI 는 여기서 "자유롭게" 말하는 게 아니라, 정해진 규칙 (계약) 안에서만 답변을 작성합니다.
- 위험 등급 매기기 (Risk Classification):
- 발견된 문제들을 "치명적 (Critical)", "높음 (High)", "보통 (Medium)" 등으로 등급을 매기고, **위험 지도 (Risk Matrix)**를 그립니다.
- 최종 보고서 (Final Reporting):
- 단순히 "문제 있어요"가 아니라, 어디에 문제가 있고, 어떻게 고쳐야 하는지가 담긴 전문적인 보고서를 작성합니다. 이 보고서는 앞서 기록된 모든 장부 (증거) 를 바탕으로 만들어지므로 신뢰할 수 있습니다.
왜 이것이 중요한가요?
- AI 가 코드를 만드는 시대: 요즘은 AI 가 코드를 빠르게 짜주지만, 그 코드가 보안상 얼마나 안전한지는 알기 어렵습니다.
- 증거가 필요한 이유: 단순히 AI 가 "안전하다"고 말한다고 믿을 수 없습니다. 나중에 해킹이 발생했을 때, **"우리가 어떻게 검사했는지, 어떤 증거를 바탕으로 안전하다고 판단했는지"**를 증명할 수 있어야 합니다.
- ESAA-Security 의 역할: 이 시스템은 AI 의 감을 믿는 것이 아니라, **AI 가 수행한 모든 행동을 기록하고 검증 가능한 프로세스로 만드는 "안전장치"**입니다.
요약
이 논문은 **"AI 가 코드를 검사할 때, 그냥 대화하는 게 아니라 변하지 않는 장부에 모든 증거를 기록하는 엄격한 감사 시스템을 만들자"**고 주장합니다.
마치 수사관이 사건을 해결할 때, 추측이 아닌 증거와 기록을 바탕으로 결론을 내리는 것처럼, AI 가 만든 코드의 보안 문제도 재현 가능하고 검증 가능한 방식으로 찾아내자는 것입니다. 이는 AI 시대의 소프트웨어 보안을 단순히 "버그 찾기"가 아닌 "신뢰할 수 있는 감사"로 바꾸는 중요한 전환점입니다.