클로드(Claude)를 사용해 코드를 역공학적으로 분석하던 중, 도중에 클라우드 측에서 연결이 끊기는 일이 발생했다.
최근 오픈소스 커뮤니티에서는 Anthropic이 REA에 대해 특정 제한을 가했다고 여러 이야기가 돌고 있다.
REA는 Reverse Engineer Anything의 약자이다.
이는 오픈소스 MCP 플러그인으로, Claude와 같은 코드 도구를 Ghidra나 IDA 같은 리버스 컴파일링(reverse compiling) 소프트웨어에 직접 연결해준다. 평소에 컴파일된 바이너리 파일을 얻으면, 이 툴에 던져주기만 하면 된다.
이것은 역어셈블리(disassemble), 함수 분해(decompile functions), 논리 구조화 등을 도와서 하위 레벨의 기계 코드를 사람이 이해할 수 있는 구조로 복원해준다.
하지만 많은 개발자들이 이 툴을 사용하기 시작하면서, Claude가 자주 중단되는 것을 발견했다.
역컴파일된 명령어를 입력하자마자, Claude가 몇 줄 분석 결과를 출력하기도 전에 출력이 갑자기 멈추면서 '안전 정책 위반' 메시지를 표시하는 식이다. 심지어 연속으로 여러 번 테스트했을 경우, 전체 대화 세션 자체가 동결되는 경우도 있었다.
많은 사람들은 Anthropic이 이 프로젝트를 특별히 겨냥하여 제한을 걸었다고 생각했다.
하지만 실제 기술 메커니즘을 살펴보면, Anthropic이 REA만을 위한 별도의 차단 목록(blacklist)을 만든 것은 아니었다.
실제로 연결이 끊기는 원인은 클라우드에 배포된 안전 분류기(safety classifier)였다.
클라우드 방어 모델의 관점에서 볼 때, 합법적인 소프트웨어 역공학과 해킹 공격 사이에는 특징상 거의 차이가 없다.
만약 사용자가 소프트웨어의 하위 논리를 분석하려면 메모리 오프셋을 보거나, 하위 인터페이스를 호출하거나, 내보내지지 않은 함수(unexported function)를 추적해야 한다. 반면, 해커가 시스템 취약점을 찾거나 공격 페이로드(attack payload)를 작성할 때도 완전히 동일한 경로를 밟는다.
상황의 맥락 속에서 역어셈블리 기호와 하위 레벨 탐지 논리가 밀집하여 나타나기 시작하면, 클라우드의 안전 모델은 즉시 네트워크 공격 위험이 존재한다고 판단한다.
안전 정책이 발동되면, 백그라운드 메커니즘이 데이터 흐름을 직접 끊어버리는 것이다.
이것이 많은 개발자들이 로컬(local) 모델에 다시 관심을 갖게 된 이유이다.
클라우드 모델은 일반적인 업무 처리에는 응답 능력과 성능 면에서 확실히 뛰어나다.
하지만 작업이 하위 레벨의 역공학, 보안 분석 또는 사설 프로토콜에 닿는 순간, 클라우드의 규칙 임계값(rule threshold)이 언제든 장애물이 될 수 있다.
공식 측이 안전 정책을 한 번 조정하면, 원래 정상적으로 작동하던 워크플로우도 중간에 끊길 가능성이 생기는 것이다.
오픈소스 모델을 로컬 하드웨어에 배포하는 경우, 추론 속도가 느리거나 컴퓨팅 파워(算力) 문턱이 높다는 단점이 있다.
하지만 적어도 한 가지는 확실하다.
코드 분석이 가장 중요한 단계에 도달했을 때, 갑자기 프로세스를 중간에 끊어버리는 일은 일어나지 않는다는 점이다.