Concepts for Securing Agentic AI Coding and the Terok Environment
본 논문은 소프트웨어 개발 과정에서 에이전틱 AI(Agentic AI)가 초래하는 중대한 IT 보안 위험을 다루기 위해, 이러한 위협에 대한 포괄적인 평가를 제시하고, 기술의 이점을 보존하면서도 이를 완화할 수 있는 전략을 제안하며, 안전하고 책임 있는 도입을 가능하게 하기 위한 이 개념의 구현 방안을 상세히 기술한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
단순히 명령을 기다리는 것이 아니라, 명령에 따라 행동하는 새로운 종류의 소프트웨어 어시스턴트를 상상해 보십시오. 컴퓨터 프로그래밍의 세계에서 이러한 변화는 코드를 제안하는 도구에서, 인간의 지속적인 감독 없이도 스스로 코드를 작성하고, 테스트하며, 자신의 실수를 수정할 수 있는 파트너로의 이동을 의미합니다. 이것은 에이전틱 인공지능(agentic artificial intelligence)이라고 알려져 있습니다. 이 기술는 소프트웨어 개발을 더 빠르고 효율적으로 만들 것이라고 약속하지만, 독특하고 심각한 문제를 야기합니다. 즉, 에이전트가 도움이 되기 위해서는 사용자의 컴퓨터에서 파일을 변경하고, 명령을 실행하며, 인터넷에 접속할 수 있는 권한을 가져야 한다는 점입니다. 이와 동일한 권한은 에이전트가 실수를 하거나 속임을 당할 경우, 사용자의 개인 데이터를 훔치거나, 악성 소프트웨어를 설치하거나, 시스템을 손상시킬 수 있습니다. 개발자들이 직면한 과제는 이 강력한 새로운 도구를 어떻게 통제 불능 상태로 만들지 않으면서 활용하느냐 하는 것입니다.
독일의 첨단 시스템 이해 센터(Center for Advanced )와 헬름홀츠 드레스덴 로센도르프 연구소(Helmholtz-Zentrum Dresden-Rossendorf)의 연구진은 이러한 문제를 해결하기 위해 이러한 자율 코딩 에이전트를 위한 특화된 보안 환경을 설계했습니다. 그들은 에이전트가 독립적으로 작업하게 함으로써 얻는 이점(예: 코드를 자동으로 컴파일하고, 테스트를 실행하며, 오류를 수정하는 능력)이 무시하기에는 너무나 가치 있지만, 단순히 에이전트에게 잘 행동하라고 요청하는 것만으로는 해결할 수 없는 심각한 위험을 동반한다고 주장합니다. 연구진은 에이전트의 마음을 통제하려 하는 대신, 그 주변에 물리적 및 디지털 장벽을 구축했습니다. 그들은 에이전트가 자유롭게 작동할 수 있지만, 컴퓨터의 나머지 부분과 광범적인 인터넷으로부터 보호받을 수 있도록 엄격한 경계 내에서만 움직이도록 하는 '테록(Terok)'이라는 시스템을 만들었습니다.
그들 솔루션의 핵심은 분리의 개념입니다. 연구진은 코딩 에이전트를 신뢰할 수 없는 존재로 취급하며, 즉 에이전트가 실수로 혹은 의도적으로 해를 끼칠 수 있다고 가정합니다. 이를 관리하기 위해 그들은 에이전트를 컨테이너 안에 격리합니다. 컨테이너는 컴퓨터상의 가볍고 독립적인 공간으로, 에이전트는 사용자의 개인 파일이나 메인 운영 체제에 영향을 주지 않으면서 원하는 모든 명령을 실행할 수 있습니다. 만로 에이전트가 바이러스를 설치하려고 시도하거나 파일을 삭제하더라도, 이는 오직 이 격리된 공간에만 영향을 미치며 컴퓨터의 나머지는 건드리지 않습니다. 이 격리는 첫 번째 방어선으로서, 설령 에이전트가 바이러스처럼 행동하더라도 그 탈출할 수 없도록 보장합니다.
그러나 격리만으로는 충분하지 않습니다. 왜냐하면 에이전트는 여전히 코드 라이브러리를 다운로드하거나 자신을 구동하는 인공지능 서비스와 대화하기 위해 외부 세계와 통신해야 하기 때문입니다. 이를 처리하기 위해 연구진은 모든 외부 연결을 제어하는 엄격한 방화벽이라는 두 번째 보호 계층을 추가했습니다. 기본적으로 에이전트는 외부 서버에 접속하는 것이 차단됩니다. 만약 에이전트가 업무 수행을 위해 특정 웹사이트에 접속해야 한다면, 시스템은 인간 사용자에게 허가를 요청합니다. 이는 에이전트가 실수로 개인 데이터를 잘못된 곳으로 보내거나, 변조된 소스로부터 악성 소프트웨어를 다운로드하는 것을 방지합니다.
세 번째이자 아마도 가장 영리한 안전장치는 에이전트가 프로젝트의 코드 저장소(소프트웨어 코드가 저장되고 공유되는 중심지)와 상호작용하는 방식과 관련이 있습니다. 에이전트가 메인 프로젝트에 직접 쓰게 하는 대신, 시스템은 해당 저장소의 임시 로컬 미러(mirror)를 생성합니다. 에이전트는 이 복사본 위에서 작업하며, 마치 실제인 것처럼 변경 사항을 만들고 커밋합니다. 에이전트가 작업을 마치면, 인간 사용자는 이 로컬 미러에서 변경 사항을 검토합니다. 사용자가 작업을 승인한 후에만 이 작업물이 메인 프로젝트로 전달됩니다. 이는 에이전트에 의해 삽입된 숨겨진 오류나 악성 코드가 공공 영역이나 팀의 공유 코드베이스에 도달하기 전에 포착되도록 보장합니다.
마지막으로, 시스템은 에이전트가 작동하는 데 필요한 비밀 키와 비밀번호를 보호합니다. 인공지능 서비스와 통신하기 위한 비밀번호나 코드 저장소에 접근하기 위한 키와 같은 이러한 자격 증명은 에이전트의 격리된 공간 외부에 안전하게 저장됩니다. 에이전트가 이를 필요로 할 때, 시스템은 실제 비밀을 에이전트가 보거나 복사할 수 없게 하면서 마지막 순간에 정보를 주입합니다. 이는 탈취된 에이전트가 이러한 키를 훔쳐 다른 시스템을 공격하거나 사용자를 사칭하는 것을 방지합니다.
연구진은 테록을 이러한 보호 개념을 구현하는 오픈 소스 소프트웨어 환경으로 제시합니다. 그들은 이 방법이 개발자들이 인공지능의 모든 힘을 활용하면서도(복잡한 작업을 수행하고, 스스로 오류를 수정하며, 인터넷을 검색하게 함), 위험은 통제된 상태로 유지할 수 있게 한다고 제안합니다. 이 시스템은 에이전트가 실수를 하거나 속임을 당할 가능성을 제거하는 것은 아니지만, 그러한 사건의 결과가 격리된 환경 내로 한정되며 사용자의 개인 데이터나 광범적인 네트워크로 확산되지 않도록 보장합니다.
이 연구는 인공지능 분야가 매우 빠르게 움직이고 있기 때문에, 이것이 영구적이거나 완벽한 해결책이라고 주장하지 않습니다. 연구진은 새로운 유형의 위험이 나타날 수 있으며 시스템이 진화해야 한다는 점을 인정합니다. 또한, 인간이 이러한 도구에 너무 많이 의존하여 코딩하는 법을 잊어버릴 수도 있는 것과 같은 일부 위험은 기술만으로는 해결할 수 없다는 점도 언급합니다. 그러나 그들의 접근 방식은 에이전틱 인공지능을 오늘날 안전하게 탐구할 수 있는 실질적이고 보안이 강화된 방법을 제공합니다. 이러한 강력한 도구들을 테스트하고 책임감 있게 사용할 수 있는 안전한 공간을 만듦으로써, 연구진은 개발 커뮤니티가 현재 발목을 잡고 있는 심각한 보안 위험에 대한 두려움 없이 이 기술을 채택하도록 독려하기를 희망합니다. 그 결과는 새로운 역량에 대한 기대감과 안전의 필요성 사이에서 균형을 맞추어, 기계가 힘든 일을 수행하는 동안 인간이 통제권을 유지할 수 있도록 하는 시스템입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.