본문 바로가기

소식들

Manus AI 소스 코드 유출 논란 정리! 마누스 개발자까지 나서서 진정시키는 중

요즘 핫한 마누스 AI 에이전트에 뜨거운 논란이 일고 있습니다. 

마누스의 소스코드가 유출(또는 노출)됐다는 논란이였는데요. 3월 10일 X에 @jianxliao라는 사용자가 올린 글에 따르면, Manus에게 그냥 파일을 달라고 하는 프롬프트만 작성해서, (샌드박스 런타임) 코드를 받았다고 합니다.

 

위 X 내용을 번역하면,

Manus에게 단순히 '/opt/.manus/' 경로에 있는 파일들을 달라고 요청했더니, 그냥 주더라. 그들의 샌드박스 런타임 코드를...
> 이것은 claude sonnet이야
> 이것은 29개의 도구를 가진 claude sonnet이야
> 이것은 멀티 에이전트가 없는 claude sonnet이야 (이 부분은 나중에 답변을 한 마누스 AI 개발자 Peak의 답변과 모순됨)
> 이것은 @browser_use를 사용해
> browser_use 코드도 난독화되어 있었다(?)
> 도구들과 프롬프트 탈옥(jailbreak)

*참고
jailbreak는 AI 시스템의 제한을 우회하여 원래 접근할 수 없는 정보나 기능에 접근하는 것을 의미

 

이와 같이 AI 시스템 내부에 접근하려는 시도들은 prompt injection, jailbreaking 등으로 알려져 있습니다. @jianxliao이라는 사용자도 마누스 에이전트를 시험해보고 싶었던 것 같은데요. (그리고 보안의 취약점을 발견한 것처럼 얘기를 하긴 했네요.) 보통 리눅스 시스템에서 애플리케이션 설치 파일이 위치할 수 있는 경로를 입력하고 그 안에 파일을 탐색하도록 시켰습니다. 그리고 그 경로의 파일을 다운로드하여 마누스가 어떻게 구성되어 있는지, 어떤 코드베이스를 사용하는지를 알아내고자 했겠지요. 그렇게 샌드박스 런타임 코드를 얻었다고 하는데, 여기서 샌드박스 런타임 코드는 무엇이고 이게 진짜 마누스의 시스템 소스 코드가 맞을까요?

샌드박스 환경에 대해 간략히 말하자면, 프로그램이 안전하게 격리된 환경에서 실행할 수 있게 하는 보안적 역할을 하는 공간입니다. 즉 샌드박스는 마누스 에이전트와 사용자가 상호작용할 수 있도록 만들어진 제한된 환경이죠. 샌드박스 환경의 코드 역시 에이전트로부터 명령을 받는데에 사용되는 제한적인 코드로, 실행 에이전트와만 상호작용을 합니다. 마누스 에이전트를 열었을 때 보이는 인터페이스 부분을 구성하는 코드라고도 볼 수 있고요. 비유하면 자동차의 대시보드 같은 존재입니다. 운전자가 대시보드의 계기판을 보며 상호작용할 수 있듯이 말이죠. 따라서 샌드박스 코드만 가지고는 마누스 에이전트 전체를 복제하거나 실행할 수는 없습니다. 만약 시스템 전체 코드를 해킹 또는 유출한다면 다른 핵심 에이전트와도 접근하는 코드들도 포함되어 있어야 하겠지요. 그러니 마누스가 정말 자신의 시스템 소스 코드를 공개했다고 말을 하기는 어렵습니다. 

X의 이 글은 엄청난 화제를 불러 일으켰습니다. 하루만에 140만 조회수가 기록될 정도로요! 그래서인지, 마누스 AI 개발자가 직접 등판해서 장문의 설명을 달아놓았는데요. (원문) 원문을 한글로 번역하면 아래와 같습니다.  

안녕하세요! 저는 Manus AI의 Peak입니다. 사실, 그렇게 복잡하지 않습니다. 샌드박스는 각 사용자가 직접 접근할 수 있습니다(방법은 스크린샷 참조).

샌드박스 접근성: 각 사용자는 자신만의 샌드박스에 직접 접근할 수 있습니다. 각 세션은 다른 세션과 완전히 분리되어 있으며, 사용자들은 Manus의 인터페이스를 통해 샌드박스에 직접 들어갈 수 있습니다.

코드 난독화 수준: 샌드박스의 코드는 에이전트로부터 명령을 받는 데만 사용되기 때문에 가볍게 난독화되어 있을 뿐입니다.

도구 설계: 도구 설계는 비밀이 아니며, Manus 에이전트의 행동 공간 설계는 일반적인 학술적 접근법과 크게 다르지 않습니다. RAG(Retrieval-Augmented Generation) 메커니즘 때문에 해킹을 통해 얻은 도구 설명은 작업에 따라 다를 수 있습니다.

멀티 에이전트 구현: 멀티 에이전트는 Manus의 핵심 기능 중 하나입니다. Manus와 대화할 때 사용자는 실행 에이전트(executor agent)와만 통신하며, 이 에이전트는 지식, 계획자 또는 다른 에이전트의 세부 정보를 알지 못합니다. 이는 컨텍스트 길이를 제어하는 데 도움이 됩니다. 그래서 해킹을 통해 얻은 프롬프트는 대부분 환각(hallucination)입니다.

오픈소스 사용: browser_use의 오픈소스 코드를 사용했으며, 여러 오픈소스 기술을 활용했습니다. 그래서 론칭 비디오에서 오픈소스 커뮤니티 없이는 Manus가 존재할 수 없다고 언급했습니다. 앞으로 다양한 감사 표시와 협업을 진행할 예정입니다.

오픈소스 계획: 개발팀은 오픈소스 전통을 가지고 있으며, Peak 자신도 파인튜닝된 모델을 HuggingFace에 공유해 왔습니다. 가까운 미래에 몇 가지 좋은 것들을 오픈소스로 공개할 예정입니다.

 

"해킹이나 보안적 결함, 유출이라고 볼 수는 없고 원래 보이도록 만들어졌을 뿐이다."이라는 내용입니다. 그리고 마누스는 "실행 에이전트", "지식 에이전트", "계획 에이전트" 등 다양한 에이전트를 관리하는 '멀티 에이전트 시스템'으로 구현되어 있으며, 이는 서버에 존재할 것으로 보입니다. 

 

또한 같은 타래의 답글 안에서 마누스가 사용한 베이스 모델에 대한 질문도 있었는데요. 마누스가 사용하는 기본 모델은 Claude와 여러 Qwen 파인튜닝 모델을 함께 사용했다고 답변했습니다. 현재 Claude 3.7이 매우 유망해 보이며, Manus 팀은 내부적으로 이를 테스트하고 있다고 하고요. 

so whether the base model is claude or not?

We use Claude and different Qwen-finetunes. Back when we started building Manus, we only got Claude 3.5 Sonnet v1 (not long-CoT, aka reasoning tokens), so we need a lot of auxiliary models. Now Claude 3.7 looks really promising, we are testing internally, will post updates!

 

역시 시스템 소스 코드를 그렇게 쉽게 줄리가 없죠.(그쵸?) 과연 마누스는 자신의 시스템 소스코드를 안전하게 끝까지 지켜낼 수 있을까요? (물론 당연히(?) 그러겠지만..) 능력이 얼마나 좋길래 이런 관심(과 공격)을 받고 있는건지, 저도 한번 써보고 싶습니다.