사이버보안 기업 ReversingLabs의 연구원들에 따르면, 해커가 이더리움(Ethereum) 개발자를 위한 코드 확장 프로그램에 악성 풀 리퀘스트를 삽입했습니다.
악성 코드는 이더리움 개발자들이 이더리움 가상 머신(EVM) 호환 스마트 컨트랙트와 디앱(DApp)을 구축하고 배포하는 데 사용되는 오픈 소스 도구 모음인 ETHcode의 업데이트에 삽입되었습니다.
ReversingLabs의 블로그에 따르면, 43개의 커밋과 4,000개의 업데이트된 라인으로 구성된 GitHub 풀 리퀘스트에 주로 새로운 테스트 프레임워크와 기능을 추가하는 것과 관련된 두 줄의 악성 코드가 숨겨져 있었습니다.
업데이트는 6월 17일 이전 이력이 없는 Airez299라는 사용자에 의해 GitHub에 추가되었습니다.
풀 리퀘스트는 GitHub의 AI 리뷰어와 ETHcode를 만든 7finney 그룹의 구성원들에 의해 분석되었습니다.
사소한 변경 사항만 요청되었으며, 7finney나 AI 스캐너 모두 의심스러운 점을 발견하지 못했습니다.
Airez299는 기존 파일과 비슷한 이름을 사용하고 코드 자체를 난독화하고 뒤섞어 읽기 어렵게 만들어 첫 번째 악성 코드 라인의 본질을 모호하게 만들었습니다.
두 번째 코드 라인은 첫 번째 라인을 활성화하는 기능을 하며, ReversingLabs에 따르면 최종적으로 공개 파일 호스팅 서비스에서 배치 스크립트를 다운로드하고 실행하는 자동화된 기능(PowerShell)을 생성하는 목적을 가지고 있습니다.
ReversingLabs는 이 스크립트가 정확히 무엇을 하는지 계속 조사 중이지만, "피해자의 컴퓨터에 저장된 암호화폐 자산을 훔치거나 또는 대안으로 확장 프로그램 사용자의 개발 중인 이더리움 컨트랙트를 손상시키기 위한 것"이라고 가정하고 있습니다.
디크립트(Decrypt)와의 인터뷰에서 블로그 저자 페타르 키르흐마이어는 ReversingLabs가 악성 코드가 실제로 토큰이나 데이터를 훔치는 데 사용되었다는 어떤 징후나 증거도 없다고 보고했습니다.
그러나 키르흐마이어는 블로그에서 ETHcode가 6,000건의 설치를 가지고 있으며, 자동 업데이트의 일부로 롤아웃될 풀 리퀘스트가 "수천 개의 개발자 시스템에 퍼졌을 수 있다"고 썼습니다.
이는 잠재적으로 우려스러우며, 일부 개발자들은 암호화폐 산업이 오픈 소스 개발에 크게 의존하기 때문에 이러한 익스플로잇이 자주 발생한다고 제안합니다.
이더리움 개발자이자 NUMBER GROUP 공동 창립자인 자크 콜에 따르면, 많은 개발자들이 오픈 소스 패키지를 제대로 확인하지 않고 설치합니다.
그는 디크립트(Decrypt)에 "누군가가 악성 코드를 슬쩍 끼워 넣기가 너무 쉽다"며 "npm 패키지나 브라우저 확장 프로그램 등 무엇이든 가능하다"고 말했습니다.
최근의 주목할 만한 사례로는 2023년 12월의 렛저 커넥트 킷 익스플로잇과 지난 12월 솔라나(Solana)의 web3.js 오픈 소스 라이브러리에서 발견된 멀웨어 등이 있습니다.
콜은 "코드는 너무 많고 검토하는 눈은 부족하다"며 "대부분의 사람들은 인기 있거나 오래되었다는 이유로 안전하다고 가정하지만, 그것이 아무것도 의미하지 않는다"고 덧붙였습니다.
콜은 이러한 일이 특별히 새로운 것은 아니지만 "공격 대상 범위가 점점 확대되고 있다"고 단언했습니다. 점점 더 많은 개발자들이 오픈 소스 도구를 사용하고 있기 때문입니다.
"또한 이러한 익스플로잇을 실행하는 것이 전업인 DPRK 요원들로 가득 찬 창고가 있다는 점을 명심하세요"라고 그는 말합니다.
콜은 많은 개발자들이 깨닫는 것보다 악성 코드가 더 많이 숨겨져 있을 것이라고 제안하는 반면, 키르흐마이어는 디크립트(Decrypt)에 "성공적인 시도는 매우 드물다"고 말했습니다.
이는 개발자들이 손상된 코드 사용 가능성을 줄이기 위해 무엇을 할 수 있는지에 대한 질문으로 이어지며, ReversingLabs는 무언가를 다운로드하기 전에 기여자의 신원과 이력을 확인할 것을 권장합니다.
이 회사는 또한 개발자들이 새로운 종속성을 평가하기 위해 package.json과 같은 파일을 검토할 것을 제안했으며, 이는 자크 콜도 지지하는 방법입니다.
"도움이 되는 것은 빌드할 때마다 무작위로 새로운 것을 가져오지 않도록 종속성을 잠그는 것"이라고 그는 말했습니다.
콜은 또한 이상한 동작이나 의심스러운 관리자를 스캔하는 도구를 사용하고, 갑자기 소유권이 바뀌거나 예기치 않게 업데이트되는 패키지를 주의 깊게 살펴볼 것을 권장했습니다.
"또한 빌드하는 데 사용하는 컴퓨터에서 서명 도구나 지갑을 실행하지 마세요. 확인하거나 샌드박스에 넣지 않은 한 아무것도 안전하다고 가정하지 마세요"라고 그는 결론지었습니다.



