AI 혁신의 이점을 누리려면 안전한 코드부터 시작해야 합니다

소프트웨어 개발자들은 생성형 인공지능(AI)을 활용해 코드를 작성할 준비가 되어 있으며 이를 기꺼이 사용할 의향이 있음을 보여주었고, 대체로 긍정적인 결과를 얻었습니다. 하지만 그들이 위험한 도박을 하고 있을지도 모른다는 징후도 곳곳에서 나타나고 있습니다.
최근 GitHub의 설문조사에 따르면, 미국 개발자의 90% 이상이 AI 코딩 도구를 사용하고 있습니다. 이들은 더 빠른 작업 완료 시간, 신속한 문제 해결, 그리고 중요하게 생각하는 협업 환경 개선 등을 장점으로 꼽습니다. AI 도구를 활용하면 개발자는 반복적인 업무를 위임하고, 기업에 기여할 수 있는 더 창의적인 작업에 집중할 수 있으며, 이는 업무상 번아웃 가능성을 줄이는 부수적인 효과도 가져옵니다.
그러나 연구 결과에 따르면 AI 도구는 코드를 작성할 때 결함을 유발하는 경향이 있습니다. Snyk의 설문조사 결과, 응답자의 75.8%는 AI 코드가 인간이 작성한 코드보다 더 안전하다고 답했지만, 56.4%는 AI가 때때로 코딩 문제를 유발한다는 점을 인정했습니다. 놀랍게도 응답자의 80%는 개발 과정에서 AI 코드 보안 정책을 우회한다고 답했습니다.
2022년 11월 OpenAI의 ChatGPT가 출시된 이후, 생성형 AI 모델의 사용은 다른 많은 분야와 마찬가지로 금융 서비스의 코드 개발 과정 전반에 걸쳐 번개처럼 빠르게 확산되었습니다. GitHub Copilot, OpenAI Codex 및 점점 늘어나는 다른 모델들의 빠른 등장은 우리가 생성형 AI의 잠재력과 그 영향력의 극히 일부분만을 경험하고 있음을 시사합니다. 하지만 그 영향력이 긍정적이려면, 생성된 코드가 안전하다는 것을 보장해야 합니다.
빠르게 확산되는 코딩 버그
인간 개발자가 작성했든 AI 모델이 생성했든, 코드에는 일부 오류가 포함될 수밖에 없습니다. 고도로 분산된 클라우드 기반 컴퓨팅 환경에서 끊임없이 증가하는 요구 사항을 충족하기 위해 AI가 코드 개발을 가속화함에 따라, 잘못된 코드가 발견되기 전에 널리 퍼질 위험이 커질 수 있습니다.
코드를 작성하도록 훈련받는 AI 모델은 다양한 작업을 수행하는 수천 개의 코드 예제를 학습하고, 이를 바탕으로 자신만의 코드를 생성합니다. 하지만 학습에 사용된 샘플에 결함이나 취약점이 포함되어 있다면(인간이 만들었든 다른 AI가 만들었든 상관없이), 모델은 그 결함을 새로운 환경으로 전이시킬 수 있습니다.
AI 모델이 사용하는 코드의 결함을 안정적으로 인식하지 못한다는 연구 결과를 고려할 때, 결함과 취약점의 확산을 막을 수 있는 내장된 방어 체계는 거의 없습니다. AI는 코딩 실수를 할 뿐만 아니라, 그 취약점이 어딘가에서 발견될 때까지(아마도 해당 소프트웨어를 사용하는 기업에 대한 성공적인 침해 사고의 형태로) 자신의 실수와 다른 소스의 실수를 반복할 것입니다.
코딩 결함의 확산을 막는 진정한 방어책은 인간과 AI 모델이 협력하는 것입니다. 인간 개발자는 AI의 코드 작성을 감독하고 안전하지 않은 코딩 관행과 취약한 코드에 대한 검토자 역할을 해야 합니다. 이를 위해서는 개발자가 AI가 범할 수 있는 코딩 실수를 식별하고 신속하게 수정할 수 있도록 안전한 코드 작성 모범 사례에 대해 철저히 교육받아야 합니다.
AI 코드 생성 및 수정의 과제
ChatGPT와 같은 거대 언어 모델(LLM)의 갑작스러운 폭발적 성장은 양날의 검과 같습니다. 한편으로는 기업과 일반 사용자들이 AI를 활용해 시간이 많이 걸리고 번거롭거나 어려운 업무를 처리함으로써 엄청난 생산성 향상을 경험했습니다. 다른 한편으로는 AI가 처리하는 작업을 맹목적으로 신뢰했을 때 발생할 수 있는 문제의 사례도 많이 나타나고 있습니다.
AI 모델은 명백한 실수를 저지르고, 편향성을 드러내며, 완전한 환각 현상을 생성하기도 했습니다. 많은 경우 문제의 근본 원인은 부적절하거나 무책임한 학습 데이터였습니다. 모든 AI 모델은 학습 데이터의 품질만큼만 성능을 발휘하므로, 학습 데이터가 포괄적이고 신중하게 검증되는 것이 필수적입니다. 그럼에도 불구하고 일부 실수는 발생할 수밖에 없습니다.
코딩을 위한 AI 활용도 이와 유사한 많은 난관에 직면해 있습니다. AI가 생성한 코드는 크로스 사이트 스크립팅(XSS) 및 코드 삽입 취약점뿐만 아니라 프롬프트 인젝션과 같은 AI 및 머신러닝(ML) 특화 공격 등 다양한 결함을 포함하는 것으로 나타났습니다. 또한 AI 모델은 프로세스가 투명하지 않은 블랙박스 형태로 작동하기 때문에 보안 팀이나 개발 팀이 AI가 어떻게 결론에 도달했는지 확인할 수 없습니다. 결과적으로 모델은 같은 실수를 반복할 수 있습니다. 코드 작성에 영향을 미치는 이러한 단점들은 코드 수정 및 규정 준수 요구 사항을 충족하기 위해 AI를 사용할 때도 그대로 이어집니다.
AI 모델에 의해 결함이 생성되거나 반복될 가능성이 커짐에 따라, 이제 LLM은 자체적인 OWASP(Open Web Application Security Project) 10대 취약점 목록을 갖게 되었습니다.
개발자와 AI가 협력하여 안전한 코드를 만드는 방법
AI가 생성한 코드의 잠재적 결함에 대한 우려로 인해 일부 조직은 이 기술 도입을 잠시 주저할 수도 있습니다. 하지만 특히 AI 개발자들이 지속적으로 혁신하고 모델을 개선함에 따라 얻을 수 있는 잠재적 이점은 무시하기에는 너무 큽니다. 금융 서비스 업계는 이미 되돌릴 수 없는 강을 건넜습니다. 은행과 금융 서비스 기업은 이미 기술 중심적이며, 항상 경쟁 우위를 찾기 위해 노력하는 분야에서 운영되고 있기 때문입니다.
핵심은 위험을 최소화하는 방식으로 AI 모델을 구현하는 것입니다. 이를 위해서는 보안을 인식하고 안전한 코딩 모범 사례를 철저히 교육받은 개발자가 필요합니다. 그래야 개발자가 직접 안전한 코드를 작성하고 AI 모델이 생성한 코드를 면밀히 검토할 수 있기 때문입니다. AI 엔진과 인간 개발자가 긴밀하게 협력하고 개발자가 최종 결정권을 가짐으로써, 기업은 생산성과 효율성을 높이는 동시에 보안을 강화하고 위험을 제한하며 규정 준수를 보장할 수 있습니다.
금융 서비스 기업이 안전한 코딩을 통해 성공과 보안, 수익을 확보하는 방법에 대한 포괄적인 개요는 Secure Code Warrior가 새로 발행한 가이드에서 확인하실 수 있습니다: 금융 서비스 보안 트렌드 완벽 가이드.
사이버 보안과 점점 더 위험해지는 위협 환경에 대한 더 많은 통찰력을 얻고, 혁신적인 기술과 교육을 활용하여 조직과 고객을 더 안전하게 보호하는 방법을 알아보려면 Secure Code Warrior 블로그 페이지를 확인해 보세요.
배포 전 AI 기반 개발 거버넌스 확보
AI 기반 위험을 측정하고, 커밋 시점에 보안 코딩 정책을 적용하며, SDLC 전반에 걸쳐 안전한 소프트웨어 제공 속도를 높이세요.
더 많은 블로그 살펴보기
보안 코딩, AI 거버넌스, 소프트웨어 리스크 관리에 관한 전문가 콘텐츠를 확인해 보세요.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
배포 전 AI 기반 개발 보안 확보
소프트웨어 개발 수명 주기 전반에서 개발자 리스크를 파악하고, 정책을 시행하며, 취약점을 예방하세요.



.avif)