포트폴리오
프로젝트 목록
며칠 전, 저는 오픈클로가 왜 미래로 가는 관문처럼 느껴지는지, 그리고 그 미래가 왜 특정한 방식으로 두려운지에 대한 글을 올렸습니다 . 간단히 말하자면, OpenClaw처럼 작동하는 에이전트 게이트웨이는 사용자의 파일, 도구, 브라우저, 터미널에 대한 실질적인 접근 권한을 가지고 있을 뿐만 아니라, 사용자의 사고방식과 작업 내용을 기록하는 장기적인 "메모리" 파일에도 접근할 수 있기 때문에 강력합니다. 이러한 접근 권한의 조합이 바로 최신 정보 탈취 공격자들이 악용하도록 설계된 것입니다. 이 글은 불편하지만 "그리고 나서 일이 벌어졌다"는 후속편입니다. 에이전트가 설치된 후 위험해질 수 있다는 점뿐만 아니라, 에이전트의 기능과 스킬 레지스트리를 배포하는 생태계 자체가 이미 공격 표면이 되어버렸기 때문입니다. OpenClaw를 시험 사용해 보시려면 회사 기기에서는 절대 사용하지 마십시오. 절대로요. 첫 번째 글에서 저는 OpenClaw를 일종의 파우스트적 거래에 비유했습니다. OpenClaw가 매력적인 이유는 바로 사용자의 로컬 컴퓨터, 애플리케이션, 브라우저 세션, 파일, 그리고 종종 장기 기억 메모리에 실질적인 접근 권한을 가지고 있기 때문입니다. 이러한 접근 권한 때문에 기업 계정이나 운영 시스템 접근 권한이 있는 컴퓨터에서 안전하게 실행할 수 있는 방법이 아직 없다는 점도 간과할 수 없습니다. 이미 업무용 기기에서 OpenClaw를 실행한 경우, 이를 잠재적인 보안 사고로 간주하고 즉시 보안팀에 연락하십시오. 증상이 나타날 때까지 기다리지 마십시오. 해당 기기에서의 작업을 중단하고 조직의 사고 대응 절차를 따르십시오. 스킬은 그냥 마크다운일 뿐이에요. 그게 문제죠. OpenClaw 생태계에서 "스킬"은 흔히 마크다운 파일, 즉 에이전트에게 특정 작업을 수행하는 방법을 알려주는 지침 페이지입니다. 실제로 이 마크다운 파일에는 링크, 복사 붙여넣기 명령, 도구 호출 레시피 등이 포함될 수 있습니다. 언뜻 보기엔 별문제 없어 보이지만, 사람과 에이전트가 실제로 문서를 어떻게 소비하는지 생각해 보면 이야기가 달라집니다. “필수 조건은 다음과 같습니다.” “이 명령어를 실행하세요.” "핵심 종속성을 설치하세요." 터미널에 이 내용을 붙여넣으세요. 에이전트 생태계에서 마크다운은 "콘텐츠"가 아닙니다. 마크다운은 설치 프로그램입니다. 위험한 오해: "MCP는 기술을 안전하게 만든다" 일부 사람들은 모델 컨텍스트 프로토콜(MCP) 계층이 구조화된 인터페이스를 통해 도구를 노출할 수 있고, 호스트 및 서버 구현에 따라 명시적인 사용자 동의 및 권한 부여 제어를 통해 보안을 강화한다고 생각합니다. 하지만 스킬을 구현할 때 MCP를 전혀 사용할 필요는 없습니다. 에이전트 스킬 사양은 마크다운 본문에 아무런 제약을 두지 않으며, 스킬에는 터미널 명령 복사 및 붙여넣기를 포함하여 "에이전트가 작업을 수행하는 데 도움이 되는" 모든 지침을 포함할 수 있습니다. 또한 스킬은 마크다운과 함께 스크립트를 포함할 수 있으므로 실행이 MCP 도구 경계를 완전히 벗어나서도 가능합니다. 따라서 보안 모델이 "MCP가 툴 호출을 차단한다"라고 되어 있더라도, 소셜 엔지니어링, 직접적인 셸 명령어, 또는 번들 코드 등을 통해 MCP를 우회하는 악의적인 스킬에 의해 여전히 피해를 입을 수 있습니다. MCP는 안전한 시스템의 일부가 될 수는 있지만, 그 자체로 안전을 보장하는 것은 아닙니다. 더욱 중요한 것은, 이러한 문제가 OpenClaw에만 국한된 것이 아니라는 점입니다. 많은 에이전트들이 개방형 에이전트 스킬 형식을 채택하면서 "스킬"의 이식성이 점점 높아지고 있습니다. 이 형식에서 스킬은 메타데이터와 자유 형식 명령어가 포함된 SKILL.md 파일을 중심으로 하는 폴더이며, 스크립트 및 기타 리소스를 함께 묶을 수도 있습니다. OpenAI의 문서 에서도 동일한 기본 구조, 즉 SKILL.md 파일과 선택적 스크립트 및 에셋을 설명하고 있습니다. 이는 악의적인 "스킬"이 OpenClaw만의 문제가 아니라는 것을 의미합니다. 동일한 표준을 지원하는 모든 에이전트 생태계에서 확산될 수 있는 유포 메커니즘입니다. 제가 발견한 것은 다음과 같습니다. 가장 많이 다운로드된 스킬은 악성코드 유포 도구였습니다. ClawHub를 둘러보던 중(명백한 이유로 링크는 걸지 않겠습니다), 당시 가장 많이 다운로드된 스킬이 "트위터" 스킬이라는 것을 발견했습니다. 설명, 사용 목적, 개요 등 언뜻 보기에는 평범해 보였습니다. 별 생각 없이 설치할 만한 그런 스킬처럼 보였죠. 하지만 가장 먼저 한 일은 "openclaw-core"라는 "필수 종속성"을 도입하고 플랫폼별 설치 단계를 제시한 것이었습니다. 이러한 단계에는 일반적인 문서 참조처럼 보이는 편리한 링크("여기", "이 링크")가 포함되어 있었습니다. 그렇지 않았어요. 두 링크 모두 악성 인프라로 연결되었습니다. 공격 방식은 전형적인 단계적 배포였습니다. 해당 스킬 개요에서 필수 구성 요소를 설치하라고 안내했습니다. 해당 링크는 에이전트가 명령을 실행하도록 설계된 스테이징 페이지로 연결되었습니다. 해당 명령어는 난독화된 페이로드를 해독하여 실행했습니다. 페이로드가 2단계 스크립트를 가져왔습니다. 해당 스크립트는 바이너리 파일을 다운로드하고 실행했으며, macOS의 내장 맬웨어 방지 시스템인 Gatekeeper가 해당 파일을 검사하지 않도록 macOS 격리 속성을 제거하는 작업도 포함했습니다. 의도적으로 정확한 명령어나 URL을 여기에 붙여넣지 않겠습니다. 안타깝게도 그 작동 방식은 매우 간단해서, 이를 반복해서 공개하는 것은 방어자보다는 공격자에게 더 도움이 되기 때문입니다. 핵심은 이것이 단순히 "의심스러운 링크"가 아니라는 점입니다. 이것은 설정 지침으로 위장한 완전한 실행 체인이었습니다. 정보 탈취 악성 소프트웨어임이 확인되었습니다. 최종 바이너리 파일을 안전하게 다운로드하고 VirusTotal 에 제출했습니다 . 판결은 명확했습니다. macOS 정보 탈취 악성코드로 판명되었습니다. 이것은 단순히 컴퓨터를 감염시키는 것에 그치지 않는 악성 소프트웨어입니다. 해당 기기에 있는 모든 중요한 데이터를 탈취해 갑니다. 브라우저 세션 및 쿠키 저장된 자격 증명 및 자동 완성 데이터 개발자 토큰 및 API 키 SSH 키 클라우드 자격 증명 계정 탈취로 이어질 수 있는 그 외의 모든 것 에이전트 스킬을 설치하는 사람이라면, 당신의 컴퓨터는 훔쳐볼 만한 가치가 있는 바로 그런 사람입니다. 이것은 단발적인 사건이 아니었습니다. 조직적인 캠페인이었습니다. 이 내용을 내부적으로 공유한 후, 더 광범위한 보고가 나오면서 그 규모가 드러났습니다. 수백 명의 OpenClaw 전문가들이 ClickFix 방식의 설명서를 이용해 macOS 악성코드를 배포한 것으로 알려졌습니다. 그 세부 사항이 중요한 이유는 그것이 이것의 진짜 정체를 확인시켜주기 때문입니다. 일회성 악의적 업로드가 아닙니다. 의도적인 전략: "기술"을 유통 채널로, "사전 요구 조건"을 사회 공학적 기법의 포장지로 활용한다. 에이전트 세계에서 '도움'이 적대적인 것으로 변할 때 우리는 패키지 관리자와 오픈 소스 레지스트리가 공급망 공격의 통로가 될 수 있다는 사실을 수년간 연구해 왔습니다. 에이전트 스킬 레지스트리는 다음 장에서 다룰 내용인데, 여기서 "패키지"는 문서 자체를 의미합니다. 그리고 그것은 공격 경로를 훨씬 더 용이하게 만듭니다. 사람들은 마크다운 파일이 위험할 거라고는 생각하지 않는다. 사람들은 설치 단계를 신속하게 따르도록 훈련받습니다. 사람들은 "가장 많이 다운로드된 콘텐츠"를 콘텐츠의 신뢰성을 판단하는 기준으로 삼는다. 에이전트 생태계에서는 명령을 읽는 것과 실행하는 것 사이의 경계가 모호해집니다. 에이전트가 셸 명령어를 직접 실행할 수 없더라도 위험한 행동을 할 수 있습니다. 바로 위험한 행위를 정상화하는 것입니다. 악성 설치 조건도 "표준 설치 단계"라고 자신 있게 요약할 수 있습니다. 한 줄짜리 명령어를 붙여넣도록 유도할 수 있고, 망설임을 줄여줄 수 있습니다. 만약 에이전트가 로컬 명령을 실행할 수 있다면, 악성 스킬은 "나쁜 콘텐츠"가 아닙니다. 친근한 문서로 위장한 원격 실행일 뿐입니다. 지금 당장 해야 할 일 OpenClaw 또는 다른 스킬 레지스트리를 사용하고 있다면 회사 기기에서 이 프로그램을 실행하지 마십시오. 안전하게 실행할 수 있는 방법이 없습니다. 이미 실행했거나, 해당 스킬에서 "설치" 명령어를 실행한 경우, 즉시 보안팀에 연락하여 잠재적인 보안 침해로 간주하십시오. 민감한 작업을 할 때는 해당 기기 사용을 중단하십시오. 브라우저 세션, 개발자 토큰, SSH 키, 클라우드 콘솔 세션 등 세션과 비밀 키를 먼저 교체하세요. 이메일, 소스 제어, 클라우드, CI/CD 및 관리 콘솔에 대한 최근 로그인 기록을 검토하십시오. 그래도 실험을 해보고 싶다면, 회사 계정 접근 권한이 없고 계정 정보도 저장되지 않은 독립적인 컴퓨터를 사용하십시오. 스킬 레지스트리를 운영하는 경우 당신은 앱 스토어를 운영하고 있습니다. 앱 스토어가 악용될 가능성을 염두에 두세요. 한 줄짜리 설치 프로그램, 암호화된 페이로드, 격리 해제, 암호로 보호된 아카이브를 검사합니다. 출처 및 출판사 평판을 추가하세요. 외부 링크와 설치 단계에 경고 및 마찰 요소를 추가하세요. 상위권 스킬을 검토하고 악성 스킬을 신속하게 제거하세요. 여기서 Markdown은 실행 가능한 의도입니다. 에이전트 프레임워크를 구축하는 경우 기술이 무기화될 것이라고 가정해 봅시다. 기본적으로 셸 실행이 거부됩니다. 샌드박스 환경에서 브라우저, 키체인 및 자격 증명 저장소에 접근할 수 있습니다. 구체적이고, 기간이 정해져 있으며, 취소 가능한 권한을 사용하십시오. 원격 코드 및 명령 실행에 대한 제약을 추가합니다. 로그 출처 및 조치 내역을 처음부터 끝까지 관리합니다. 미래를 위한 설계: 신뢰 계층 에이전트가 필요로 하는 것 이는 제가 이전 게시글에서 주장했던 바를 가장 명확하게 입증하는 사례입니다. OpenClaw는 의도와 실행 사이의 간극을 최소화하기 때문에 강력합니다. 바로 이것이 OpenClaw의 마법입니다. 하지만 동시에 상당한 위험을 내포하고 있기도 합니다. 기능이 스킬 형태로 배포되고 문서를 통해 설치될 때, 레지스트리는 일종의 공급망이 되고, 공격자는 가장 쉬운 설치 경로를 선호하게 됩니다. 해결책은 에이전트 구축을 중단하는 것이 아닙니다. 해결책은 에이전트 주변에 부족한 신뢰 계층을 구축하는 것입니다. 스킬에는 출처가 명시되어야 하고, 실행에는 중재가 필요합니다. 권한은 구체적이고, 취소 가능하며, 지속적으로 강화되어야 하며, 한 번 부여하고 잊어버리는 방식으로는 안 됩니다. 에이전트가 우리를 대신하여 행동하려면 자격 증명과 민감한 작업이 실행되는 어떤 코드에 의해서도 "탈취"되어서는 안 됩니다. 이러한 정보는 실시간으로 중개, 관리 및 감사되어야 합니다. 바로 이런 이유로 다음 단계가 필요합니다. "기술"이 공급망이 될 때, 유일하게 안전한 미래는 모든 담당자가 고유한 신원을 갖고, 현재 필요한 최소한의 권한만을 보유하며, 그 접근 권한은 시간 제한이 있고, 취소 가능하며, 출처를 명확히 밝힐 수 있는 세상입니다.
프로젝트 목록
공개된 기록과 소식
프로필과 소개