| 생성형 인공지능으로 코드 수정은 할 수 있을까? | 2023.07.11 |
사람은 인공지능에게 수많은 일을 시키기 시작했다. 결과가 만족스러울 때도 있고 아닐 때도 있다. 개발 쪽 업무는 어떨까? 코딩은 아직 불완전하다고 하는데, 수정까지는 잘 해낼 수 있지 않을까?
[보안뉴스 문정후 기자] 전 세계의 조직들은 현재 앞다투어 인공지능 기술을 도입하려 경쟁하고 있다. 개발자의 과반 이상인 65%는 이미 인공지능 기술을 업무에 활용하거나, 3년 안에 활용하기 시작할 계획을 가지고 있는 것으로 조사되기도 했다. 생성형 인공지능이라는 강력한 도구를 통해 사람들은 훨씬 나은 작업 능률을 보일 수 있을 것으로 기대된다. 그렇다면 코드를 수정하는 것도 인공지능에 믿고 맡길 수 있을까? ![]() [이미지 = gettyimagesbank] 데브섹옵스 전문가들에게 있어 생성형 인공지능이란 성배와 같은 기술이다. 늘 자신들을 괴롭히는, 아무리 해결해도 도무지 해소되지 않는 취약점들을 드디어 말끔히 해결할 수 있지 않을까 하는 기대감이 팽배하기 때문이다. 66%의 조직들은 “우리 백로그에는 10만 개 이상의 취약점이 있다”고 증언한다. 그리고 이중 2/3 이상이 석 달이 지나도 해결되지 않은 채 그대로 남는다. 1년 가까이(363일) 해결되지 않는 경우도 50%다. 그 후에는 새로운 취약점 해결하느라 아무도 손보지 않게 되고, 오래된 취약점들은 백로그의 찜찜한 일부가 되어버린다. 그러므로 인공지능을 통해 코드를 수정하고 취약점을 해결한다는 개념 자체는 전혀 나쁘지 않다. 해묵은 문제에 대한 완벽한 해결책일지도 모른다. 게다가 보안 업계는 지난 수년 동안 보안 문제를 해결하고 보안 업무를 처리하기 위해 자동화/인공지능 기술을 널리 사용해오고 있었다. 하지만 현실은 녹록치 않다. 아무리 강력한 도구라고 해도 생성형 인공지능은 복잡한 코딩 구조를 가진 애플리케이션들을 아직 제대로 이해하지 못한다. 방대한 코드로 구성된 애플리케이션을 생성형 인공지능으로 만들 때 오류가 더 많이 발생한다. 아직 인공지능은 단순 반복 작업에 큰 효과를 나타내는 기술일 뿐이다. 인간의 감독과 개입, 명령, 지시가 반드시 필요하다. 코드 수정에 생성형 인공지능을 활용한다면 아마 얻는 것보다 잃는 게 더 많을 것이다. 생성형 인공지능이 가진 장점과 한계 - 코드 수정의 관점에서 보안 업무 중 간단하고 위험성이 낮은 정보나 코드의 분석, 모니터링, 간단한 복구 작업은 인공지능이 훌륭하게 수행할 수 있다. 하지만 다뤄야 할 정보가 복잡해지거나 위험성이 높아질수록 인공지능은 상당히 무력한 모습을 보인다. 묘하게도 대단히 쓸모없는 수준도 아니고, 그렇다고 결과를 신뢰할 만한 수준도 아니라 완전히 배제하기도 어렵다. 그래서 전문가들과 개발자들은 생성형 인공지능의 한계가 어디까지인지 계속해서 알아내는 과정 중에 있다고도 볼 수 있다. 생성형 인공지능은 이미 존재하고 활용이 가능한 정보를 기반으로 하여 결정을 내린다. 코드를 수정한다고 했을 때, A라는 프로그래밍 언어로 된 것을 B로 변환시키는 작업에 능숙할 수밖에 없다는 뜻이다. 그렇기에 자바스크립트로 된 코드를 파이선으로 변환할 때 챗GPT 같은 서비스를 이용하면 상당한 시간을 아낄 수 있게 된다. 그 외에 대단히 유명하고 수정 방법도 잘 알려진 오류들을 해결할 때에도 적잖이 도움이 될 수 있다. 하지만 우리가 말하는 ‘코드 수정’ 혹은 ‘코드 내 취약점 수정’은 이런 걸 말하는 게 아니다. 언어를 전환하거나 유명하고 간단한 버그들만 고치는 거라면 얼마나 좋을까. ‘코드 수정’은 상황에 따라, 애플리케이션에 따라, 그리고 취약점의 기술적 특성에 따라 정말 많은 뜻을 가지고 있으며, 매우 복잡한 작업 절차를 통해 진행된다. 개발사들이 패치 개발을 위해 적잖은 시간을 투자해야 한다는 걸 떠올리면 어느 정도 이해가 갈 것이다. 게다가 인공지능은 수정된 코드를 확인하는 능력이 부족하다. 어느 정도 고칠 수는 있는데 그게 잘 고쳐졌는지 확인을 하지 못한다면, 우리는 그것을 신뢰할 수 없다. 이미 알려진 정보들만 취합해 분석하거나 결정을 내릴 수 있는 게 생성형 인공지능이라면, 전에 없던 것을 창조하는 데에도 한계를 가질 수밖에 없다. 코드 수정은 새로운 창조와 제작의 영역이기도 하다. 오류를 고치는 방법이 매뉴얼처럼 정해져 있는 경우는 극히 드물고, 전에 없던 논리 구조를 새로 들여와야 할 때가 많기 때문이다. 이미 인공지능이 내놓은 답들 중 거짓(악의야 없었겠지만)과 허구가 많다는 건 여러 차례 확인된 바 있다. 신뢰하느냐 마느냐 제로트러스트의 도입이 빠르게 진행되는 시기에 생성형 인공지능에 대한 검토가 공격적으로 이뤄지고 있다는 것이 흥미롭다. 제로트러스트란 그 어떤 도구나 트래픽이나 인증 절차를 거친 사람도 확인 없이 믿지 말라는 개념인데 반해 생성형 인공지능은 올바르고 신뢰할 만한 정보를 통해 학습됐다는 전제를 깔고 있는 기술이기 때문이다. 제로트러스트가 도입된 회사라면 이런 생성형 인공지능의 기본 전제가 껄끄럽게 느껴질 것이다. 인공지능을 적극 검토하고 있는 조직이라면 제로트러스트에도 예외가 있을 수 있지 않을까, 하며 찜찜하게 넘어갈 것이다. 이런 충돌이 강력한 기술과 안전한 보안 사이에서 균형을 찾지 못해 애쓰는 수많은 기업들의 상황과 어찌나 비슷한지. 인공지능은 수많은 코드를 빠르게 고치고 싶은 사람들을 위한 구세주는 ‘아직’ 아니다. 하지만 코드를 수정하는 데 들이는 시간을 다른 데서 아낄 수 있게 해 주는 도구가 될 수는 있다. 간단하고 단순하며 반복적인 일들을 찾아 인공지능에게 하나 둘 맡겨보라. 생각보다 많은 시간과 노력을 아낄 수 있게 될 것이다. 아직 인공지능은 사람의 감독과 관리가 필요하다. 아직 개발자들의 핵심 업무(코딩 및 수정)는 손맛을 필요로 한다. 글 : 에이탄 워셀(Eitan Worcel), CEO, Mobb [국제부 문정후 기자(globoan@boannews.com)] <저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지> |
|
|
|