지난주에 Claude가 짠 코드를 리뷰도 안 하고 커밋했다. 돌아가니까. 테스트도 통과하니까. 그런데 며칠 뒤 다시 열어보니, 그 코드에 SQL 인젝션 취약점이 뻥 뚫려 있었다. 등줄기를 타고 식은땀이 흘렀다. 나만 이런 건 아닐 거다.

AI가 쏟아내는 코드, 검증의 빈자리를 채울 수 있을까

Hacker News에 최근 올라온 두 편의 글이 개발자 커뮤니티를 뜨겁게 달구고 있다. 하나는 "Toward automated verification of unreviewed AI-generated code"라는 자동 검증 연구 논의이고, 다른 하나는 "If you thought the code writing speed was your problem; you have bigger problems"라는 도발적인 제목의 글이다.

두 글이 가리키는 곳은 같다. AI가 코드를 빠르게 뱉어내는 건 이제 당연한 세상이 됐는데, 진짜 병목은 "그 코드가 안전한지 누가 확인하느냐"에 있다는 것.

실제로 2025년 하반기부터 Copilot, Cursor, Claude Code 같은 AI 코딩 도구의 사용률이 폭발적으로 늘었다. GitHub의 2025년 보고서에 따르면, 전체 커밋의 약 40% 이상이 AI 보조로 작성된 코드를 포함한다. 문제는 이 코드 상당수가 충분한 리뷰 없이 프로덕션에 배포된다는 점이다.

깔끔하게 생긴 코드가 더 위험한 이유

코드 리뷰를 해본 사람이라면 알 것이다. AI가 만든 코드는 "그럴듯하게" 생겼다. 변수명도 깔끔하고, 구조도 나쁘지 않다. 그래서 오히려 더 위험하다. 사람이 대충 짠 코드는 냄새가 나서 꼼꼼히 들여다보게 되는데, AI 코드는 깔끔해 보여서 그냥 넘어가기 쉽다.

Hacker News 토론에서 한 시니어 개발자가 이런 비유를 남겼다. "AI 코드는 서류가 완벽한 위조지폐 같다. 눈으로 봐서는 구분이 안 된다." 과한 비유 같지만, 틀린 말은 아니다.

실제로 AI 생성 코드에서 반복적으로 발견되는 문제들이 있다.

  • 보안 취약점: OWASP Top 10에 해당하는 기본적인 취약점이 자연스럽게 섞여 들어온다
  • 엣지 케이스 무시: 핵심 로직은 맞지만, 경계값이나 예외 상황 처리가 빠져 있다
  • 환각 API: 실제로 존재하지 않는 함수나 라이브러리를 자신 있게 호출한다
  • 라이선스 문제: 학습 데이터에 포함된 GPL 코드가 슬쩍 끼어드는 경우도 있다
AI 생성 코드의 주요 취약점 유형과 발생 빈도를 보여주는 인포그래픽

자동 검증 기술은 어디까지 와 있나

그래서 등장한 것이 "AI가 만든 코드를 AI가 검증하자"는 접근이다. 닭이 먼저냐 달걀이 먼저냐 같은 느낌이긴 하지만, 현재 연구 방향은 크게 세 갈래다.

첫째, 정형 검증(Formal Verification) 연계. AI가 코드를 생성할 때 명세(specification)도 함께 만들게 하고, 정형 검증 도구로 코드가 명세를 충족하는지 수학적으로 증명하는 방식이다. 쉽게 말해, AI한테 "이 코드가 맞다는 증거도 같이 내놔"라고 요구하는 것이다. MIT와 스탠포드 연구팀이 이 방향에서 유의미한 성과를 내고 있다.

둘째, 다중 에이전트 검증. 코드를 생성하는 AI와 별도의 검증 AI를 두고 서로 크로스 체크하게 만드는 방식이다. 법정에서 검사와 변호사가 분리돼 있는 것과 같은 원리다. Anthropic과 Google DeepMind 쪽에서 이 접근을 활발히 연구 중이다.

셋째, 속성 기반 테스트 자동 생성. AI가 코드를 짜면, 다른 AI가 그 코드를 깨뜨릴 수 있는 테스트 케이스를 자동으로 생성하는 방식이다. 퍼징(fuzzing)의 AI 버전이라 보면 된다.

다만 세 가지 모두 아직 연구 단계다. 프로덕션에 바로 투입할 수 있는 수준은 아니다.

"속도가 문제가 아니다"라는 경고가 뜻하는 것

두 번째 글이 던지는 메시지가 꽤 날카롭다. 요약하면 이렇다. 많은 조직이 AI 코딩 도구를 도입하면서 "개발 속도 향상"에만 집착하는데, 진짜 해결해야 할 문제는 코드 품질 관리 파이프라인이라는 것이다.

코드를 10배 빠르게 작성할 수 있게 됐다고 치자. 리뷰와 검증 체계가 그대로라면, 결국 기술 부채가 10배 빠르게 쌓인다. 이건 정말 무서운 이야기다.

AI 코드 생성 속도 대비 코드 리뷰 및 검증 처리량의 격차를 보여주는 그래프

기업들의 대응, 두 갈래로 갈라지다

현재 기업들의 대응은 뚜렷하게 엇갈린다.

보수적 진영은 AI 생성 코드에 대해 인간 리뷰를 2배로 강화하는 방향을 택하고 있다. 금융권이나 의료 소프트웨어 쪽이 대표적이다. 당연하다. 잘못되면 사람이 다치니까.

공격적 진영은 AI 생성 코드를 빠르게 배포하되, 모니터링을 강화하는 전략을 쓴다. 일단 배포하고 문제가 터지면 빠르게 롤백하는 방식인데, 스타트업이나 내부 도구 개발에서 흔히 보인다.

나는 두 가지를 다 써봤다. 사실 둘 다 완벽하지 않다. 첫 번째는 느리고, 두 번째는 불안하다.

검증의 미래는 '신뢰 수준의 계층화'에 있다

내 판단으로는, AI 코드 검증 문제는 결국 "신뢰 수준의 계층화"로 귀결될 것이다. 모든 코드를 동일한 강도로 검증할 수는 없다. 보안이 크리티컬한 코드와 내부 스크립트를 같은 잣대로 볼 수는 없으니까.

정형 검증은 핵심 비즈니스 로직에, 다중 에이전트 검증은 일반 기능 코드에, 자동 테스트 생성은 유틸리티 코드에. 이렇게 검증 강도를 나눠야 현실적이다.

한 가지 확실한 건, "AI가 짜줬으니까 됐겠지" 하고 넘어가는 시대는 끝나야 한다는 것이다. 아니, 애초에 시작했어서는 안 됐다. 틀릴 수도 있지만, 앞으로 1~2년 안에 AI 생성 코드 때문에 큰 보안 사고가 터질 거라고 본다. 그때 가서 허겁지겁 대응하느니, 지금부터 검증 체계를 세워두는 것이 맞다.

여러분은 AI가 짠 코드, 얼마나 꼼꼼히 리뷰하고 계신가요?