AI가 생성한 코드, 과연 안전할까요? 45% 보안 결함 발견!
최근 Veracode의 연구 결과에 따르면 AI가 생성한 코드의 거의 절반(45%)이 보안 결함을 가지고 있는 것으로 나타났습니다. 겉으로는 완벽해 보이는 코드 뒤에 숨겨진 위험, 자세히 알아볼까요?
AI 코드 생성, 생산성 향상에만 집중?
이번 연구는 80개의 다양한 코딩 작업을 수행하는 100개 이상의 대규모 언어 모델(LLM)을 대상으로 진행되었습니다. 결과는 충격적이었습니다. 새로운 모델이나 더 큰 모델에서도 보안 측면에서는 개선이 없었다는 것입니다. 이는 AI 도구를 활용하여 생산성을 높이려는 기업들에게는 심각한 문제입니다.
Java 코드, 특히 취약! Python, C#, JavaScript도 안전하지 않아
가장 심각한 문제는 Java 코드였습니다. 70% 이상의 실패율을 보였죠. Python, C#, JavaScript 역시 38-45%의 실패율을 기록하며 AI가 생성한 코드가 안전하지 않다는 사실을 입증했습니다.
개발자들의 "Vibe Coding" 증가, 보안 위협 심화
최근 개발자들은 생성형 AI를 활용하여 코드를 작성하는 경향이 늘고 있습니다. 이를 "Vibe Coding"이라고 부르는데요. 개발자들이 명확한 보안 요구 사항 없이 AI가 생성한 코드에 의존하는 방식은 소프트웨어 개발 방식에 근본적인 변화를 가져왔습니다. 이는 보안 취약점을 더욱 심화시키는 요인이 될 수 있습니다.
AI, 코딩 정확도는 높아졌지만 보안은 여전히 미흡
Veracode의 연구 결과, LLM은 코딩 정확도는 향상되었지만 보안 측면에서는 개선되지 않았습니다. 실제로 LLM은 크로스 사이트 스크립팅(86%) 및 로그 주입(88%)과 같은 공격에 대한 방어에 실패하는 등, 45%의 경우 불안전한 코딩 방법을 선택했습니다.
AI 시대, 취약점 공격 속도와 규모 증폭
AI 시대에는 취약점 공격 속도와 규모가 더욱 증폭될 수 있습니다. 공격자들이 AI를 활용하여 더 빠르고 광범위하게 취약점을 악용할 수 있기 때문입니다.
보안 강화를 위한 해결책은?
Veracode는 AI 기반 워크플로우에 보안 점검 기능을 활성화하여 규정 준수 및 보안을 강화할 것을 제안합니다. 또한, AI 개선 지침을 채택하여 개발자를 교육하고, 방화벽을 구축하며, 결함을 조기에 탐지하는 데 도움이 되는 도구를 사용하는 것이 중요합니다.
맺음말
AI 코딩 어시스턴트는 소프트웨어 개발의 미래를 제시합니다. 하지만 보안을 간과한다면 엄청난 보안 부채가 누적될 수 있습니다. AI 시대의 안전한 소프트웨어 개발을 위해서는 보안을 최우선으로 고려해야 합니다.