[최우현의 IT 칼럼] AI가 생성한 코드는 누가 책임지나

최우현 칼럼니스트 발행일 2026-08-05 08:28:02
▲ ProveLabs 최우현 대표


개발자들 사이에 이런 농담이 있다. "요즘 코딩은 AI가 하고, 나는 엔터만 누른다." 웃자고 하는 말이지만 통계는 진지하다. 신규 코드의 절반 가까이를 AI가 쓴다는 조직이 이제 드물지 않다. 나도 쓴다. 편하다. 빠르다. 문제는 그 다음이다.

AI가 짠 코드에 취약점이 있었고, 그걸로 사고가 났다고 하자. 누구 책임인가. 지금 답은 정해져 있다. 개발자다. AI 서비스 약관에는 "결과물의 검증 책임은 사용자에게 있다"는 문구가 빠짐없이 들어 있다. 제안은 도구가 했지만 수락은 사람이 했다는 논리다. 따지자면 맞는 말인데, 현장에서는 안 통하는 말이다.

왜 안 통하나. 검증이 실제로 안 일어나기 때문이다. 스탠퍼드 댄 보네(Dan Boneh) 교수 연구팀이 2023년 실험을 해봤더니, AI 어시스턴트를 쓴 개발자들이 안 쓴 쪽보다 취약점을 더 많이 만들었다. 정작 본인들은 자기 코드가 더 안전하다고 믿었다. 매끄러운 코드가 확신을 만들고, 확신이 검토를 생략시킨다. 문장이 매끄러우면 의심이 죽듯이, 코드가 매끄러우면 리뷰가 죽는다.



규모 문제는 더 심각하다. 사람이 하루에 짜는 코드는 뻔하니 리뷰도 그 속도를 따라갔다. AI가 하루에 수천 줄을 쏟아내면 리뷰어는 둘 중 하나가 된다. 병목이 되거나, 거수기가 되거나. 대부분 후자가 된다. "사람이 검토했습니다"라는 체크박스는 남는데 검토는 없다. 책임을 따지려고 만든 절차가 책임을 세탁하는 절차로 변한다.

그러면 어떻게 해야 하나. "더 꼼꼼히 읽자"는 답이 아니다. 사람 눈으로 기계의 속도를 따라잡겠다는 건 정신력으로 자동차와 경주하겠다는 소리다. 검증도 기계가 해야 한다. 코드가 약속한 성질을 지키는지 수학적으로 증명하는 정형 검증, 알려진 취약 패턴을 훑는 정적 분석, 입력을 퍼부어 깨지는 지점을 찾는 퍼징. 사람은 코드를 한 줄씩 읽는 대신, 무엇을 보장해야 하는지 정하고 그 보장이 증명됐는지 확인하면 된다. 쓰는 속도가 기계가 됐으면 읽는 속도도 기계가 돼야 맞다.

사고가 났을 때 "AI가 짰다"는 변명이 못 된다. 맞는 말이다. 하지만 "개발자가 잘 봤어야지"로 끝내는 것도 답이 아니다. 검증할 수단은 안 주고 검증 책임만 지우는 건 책임 분배가 아니라 책임 전가다. 자동차 회사에 충돌 테스트를 요구하듯, AI로 코드를 찍어내는 조직에는 그만한 검증 체계를 요구하는 게 순서다. 누가 책임지나. 검증 없이 엔터를 누른 모든 사람이, 그리고 검증할 도구를 쥐여주지 않은 모든 조직이.


* 본 칼럼 내용은 본지 편집방향과 다를 수 있습니다.

댓글

(0)
※ 댓글 작성시 상대방에 대한 배려와 책임을 담아 깨끗한 댓글 환경에 동참에 주세요. 0 / 300

함께 보면 좋은 기사