― 보안, 데이터 보호, 그리고 유지보수의 불편한 관계
“AI가 코드를 짠다는데, 그 코드… 믿어도 될까?”
이 질문이 요즘 개발자들 사이에서 가장 자주 오르내린다.
AI가 만들어주는 코드는 빠르고 편리하지만, ‘안전하다’고 말하기엔 아직 이르다.
■ 보안의 첫 단추부터 허술하다
AI가 생성하는 코드는 대부분 인터넷에 공개된 예시 코드와 패턴을 학습한 결과물이다.
문제는, 그 안에 이미 오래된 보안 취약점이 섞여 있을 가능성이 있다는 점이다.
실제로 한 보안업체의 분석 결과,
AI가 생성한 웹 애플리케이션 코드의 절반 이상이
‘입력값 검증 미흡’, ‘암호화 누락’, ‘취약한 라이브러리 사용’ 등
기초적인 보안 문제를 포함하고 있었다.
AI는 “정답을 이해해서” 만드는 것이 아니라
“비슷한 코드의 확률적 조합”으로 결과를 내놓는다.
즉, 과거의 오류를 그대로 되풀이할 위험이 있는 셈이다.
한 보안 전문가의 말이 인상적이다.
“AI는 천재적인 속도로 코드를 짜지만,
초등학생 수준의 보안 감각을 가지고 있습니다.” (초등학생정도는 아님.. )
■ 데이터 보호의 ‘회색지대’
AI가 만든 코드에는 또 다른 문제도 있다.
데이터를 어떻게 다루는지 사용자가 알기 어렵다는 것이다.
예를 들어, AI가 자동으로 만든 API 코드가
사용자의 개인 정보를 어떤 방식으로 저장하고 암호화하는지
코드를 직접 뜯어보지 않으면 알 수 없다.
게다가 일부 AI 모델은 학습 과정에서
사용자의 코드나 입력 데이터를 자체적으로 저장할 수 있다는 지적도 나온다.
물론 대부분의 상용 AI 서비스는
“입력 데이터는 학습에 사용하지 않는다”고 밝히고 있다.
하지만 내부 동작 구조가 완전히 공개된 것은 아니기에,
‘신뢰’보다는 ‘관리’가 필요한 시대가 됐다.
■ 유지보수, 그 누구의 책임인가
AI가 만들어준 코드가 돌아간다고 해서
그 코드의 ‘주인’이 AI가 되는 건 아니다.
결국 유지보수는 사람이 해야 한다.
문제는, AI가 짠 코드는 AI만 이해할 수 있는 경우가 많다는 점이다.
변수 이름이나 함수 구조가 불규칙하고,
설명 주석이 생략된 경우도 많다.
처음엔 금세 완성되는 것 같지만,
시간이 지나면 수정이 어려워진다.
“코드를 만드는 건 AI지만,
코드의 책임은 결국 사람에게 남는다.”
이 문장은 이제 업계의 공통된 현실이 되었다.
그리고 간단 구조나 변경이나 디자인 수정 조차도 AI를 활용하면,
필요 이상의 토큰이 들어가는 오버해드도 있기 때문이다.
■ AI가 만든 코드, ‘검증’이 필수인 이유
AI를 코딩 파트너로 쓰는 개발자들은 요즘 한 가지 습관을 들였다.
AI가 만든 코드를 그대로 쓰지 않고, 보안 검사와 코드 리뷰를 거치는 것이다.
일부 기업은 아예 ‘AI 생성 코드 점검 시스템’을 따로 운영하기도 한다.
AI가 짠 코드가 사내 보안 기준을 충족하지 않으면
자동으로 경고를 띄우거나 수정 요청을 보내는 방식이다.
AI를 쓰지 말자는 이야기가 아니다.
다만 ‘검증 없는 신뢰’는 위험하다는 점을 잊지 말아야 한다.
그리고 철저한 설계를 바탕으로 진행 해야 한다.
■ 사람과 AI, ‘불편하지만 피할 수 없는 동거’
AI가 만든 코드와 사람의 검토 과정은
이제 ‘불편한 관계’라기보다 ‘필수적인 공존’에 가깝다.
AI가 속도를 담당한다면,
사람은 방향과 안전을 책임진다.
AI는 분명 일을 빠르게 만든다.
하지만 안전하게 만드는 건 아직 사람의 몫이다.
결국 기술이 발전할수록,
사람의 역할은 더 ‘기계적’이 아니라
더 ‘인간적’이 되어가고 있다.
판단, 윤리, 신뢰 — 이 세 가지는 여전히 인간의 영역이다.
[요약 포인트!!!]
- AI 코드의 절반 이상, 기본 보안 결함 포함
- 데이터 처리 구조 불투명, 관리 책임 불분명
- 유지보수는 여전히 사람의 몫
- AI는 빠르지만, 안전하지는 않다
- “AI가 만드는 속도보다, 사람이 점검하는 눈이 더 중요하다”
[다음 기사 예고]
AI 시대, 프로그래머는 어떤 일을 하게 될까?
― “AI에게 지시하는 사람들”, 새로운 직업군의 탄생

댓글 남기기