Obsidian 플러그인이 원격 접근 트로이목마 배포에 악용됨
(cyber.netsecops.io)- REF6598 캠페인이 Obsidian 공유 볼트로 PHANTOMPULSE RAT를 배포함
- 표적은 Windows·macOS 금융·암호화폐 종사자이며 LinkedIn·Telegram으로 유인됨
- 감염은 공유 볼트에서 커뮤니티 플러그인 동기화를 수동 활성화할 때 시작됨
- 악성
Shell Commands·Hider플러그인이 스크립트를 실행하고 PHANTOMPULL이 RAT를 로드함 - PHANTOMPULSE는 Ethereum 트랜잭션에서 C2 주소를 확인해 차단이 어려워짐
공격 흐름
-
초기 접근과 실행
- REF6598 캠페인은 Obsidian 노트 앱을 악용해 이전에 문서화되지 않은 원격 접근 트로이목마(RAT) PHANTOMPULSE를 배포함
- 공격자는 벤처캐피털 관계자로 가장해 전문 네트워킹 사이트에서 표적과 접촉한 뒤, 대화를 비공개 Telegram 그룹으로 옮김
- 협업을 명목으로 클라우드에 호스팅된 공유 Obsidian 볼트 참여를 유도함
- 초기 접근은 MITRE ATT&CK의 T1566.002 Spearphishing Link에 해당함
- 피해자가 Obsidian 안에서 “Installed community plugins” 동기화 기능을 수동으로 활성화하면 감염이 시작됨
- 공유 볼트에는 정상 Obsidian 플러그인인
Shell Commands와Hider의 악성 버전이 포함되어 있으며, 커뮤니티 플러그인 활성화가 코드 실행으로 이어짐 - 손상된
Shell Commands플러그인이 악성 스크립트를 실행함 - 사용자 조작을 유도해 악성 파일을 실행하는 단계는 T1204.002 Malicious File에 해당함
-
Windows와 macOS 감염 단계
- Windows에서는 악성 플러그인이 PowerShell 스크립트를 실행하고, 이 스크립트가 PHANTOMPULL 로더를 드롭함
- macOS에서는 유사한 절차가 AppleScript를 통해 진행됨
- 이후 PHANTOMPULL이 최종 페이로드인 PHANTOMPULSE RAT를 복호화해 실행함
- PHANTOMPULSE는 파일 기반 탐지를 피하기 위해 최종 페이로드를 메모리 안에서 직접 실행하며, 이는 T1055 Process Injection과 연결됨
PHANTOMPULSE 기능과 C2 방식
- PHANTOMPULSE는 활성화된 뒤 키 입력 캡처, 스크린샷 촬영, 파일 유출, 임의 명령 실행이 가능함
- C2 통신은 T1102.002 Bidirectional Communication에 해당하는 방식으로 구성됨
- PHANTOMPULSE는 하드코딩된 지갑 주소의 최신 Ethereum 트랜잭션을 조회함
- C2 서버의 IP 주소는 해당 트랜잭션 데이터 안에 포함되어 있으며, 악성코드는 이를 통해 명령을 받을 서버를 확인함
- 이 방식은 탈중앙화되고 검열에 강한 C2 주소 확인 메커니즘을 제공해 위협 인프라 중단을 어렵게 만듦
영향
- 감염에 성공하면 공격자는 피해자 시스템에 대한 전체 접근 권한을 얻을 수 있음
- 금융·암호화폐 분야 종사자는 민감한 기업 데이터, 지식재산, 거래 전략, 암호화폐 지갑 키, 거래소 자격 증명을 탈취당할 수 있음
- Windows와 macOS를 모두 겨냥하는 구조라 잠재 피해자 범위가 넓어짐
- 블록체인 기반 C2 사용은 정교함이 높으며, 위협 인프라 교란을 어렵게 함
탐지 지표
-
프로세스
Obsidian.exe- Obsidian이
powershell.exe,cmd.exe,osascript같은 자식 프로세스를 생성하는지 모니터링해야 함
-
명령줄 패턴
powershell -ExecutionPolicy Bypass- Obsidian 같은 비표준 애플리케이션에서 시작된 PowerShell 실행은 의심 신호가 됨
-
네트워크 트래픽
- 예상되지 않는 프로세스에서 Ethereum 블록체인 노드나 게이트웨이로 나가는 연결을 모니터링해야 함
- 이런 연결은 PHANTOMPULSE가 C2 주소를 확인하려는 동작일 수 있음
-
파일 경로
[Vault]/.obsidian/plugins/- 공식 플러그인 마켓플레이스 밖에서 Obsidian 플러그인 디렉터리의 파일이 생성되거나 수정되는지 확인해야 함
탐지와 대응
- 프로세스 모니터링: Obsidian 프로세스가
powershell.exe,cmd.exe,bash,osascript같은 명령줄 인터프리터를 실행할 때 탐지·경고하는 EDR 규칙이 필요함 - 사용자 교육: 고위험 업계 사용자는 소셜 엔지니어링과 공유 볼트·플러그인 같은 협업 도구 기능 악용 위험을 인지해야 함
- 애플리케이션 제어: 가능한 경우 애플리케이션 제어 정책으로 Obsidian 같은 앱에서 승인되지 않은 커뮤니티 플러그인 설치와 실행을 제한해야 함
- 네트워크 모니터링: 해당 활동이 예상되지 않는 엔드포인트에서 블록체인 서비스 관련 비정상 DNS 질의나 직접 IP 연결을 감시해야 함
완화 방안
- 커뮤니티 플러그인 검증: 모든 애플리케이션에서 서드파티 또는 커뮤니티 개발 플러그인을 활성화할 때 각별한 주의가 필요하며, 공식 신뢰 마켓플레이스에서만 설치하고 권한을 검토해야 함
- 신뢰할 수 없는 볼트의 자동 동기화 비활성화: 알 수 없거나 신뢰할 수 없는 출처의 Obsidian 볼트에 연결할 때 플러그인 동기화를 활성화하지 않아야 함
- 최소 권한 원칙: Obsidian 같은 애플리케이션은 관리자 권한이 아니라 표준 사용자 권한으로 실행해 침해 영향을 제한해야 함
- 엔드포인트 보안: 최신 EDR과 안티바이러스 솔루션을 배포해 의심스러운 스크립트 실행과 프로세스 인젝션 기법을 탐지·차단해야 함
MITRE ATT&CK 완화 매핑
- User Training
- 사용자가 소셜 엔지니어링 전술을 인식하고 요청하지 않은 협업 초대를 의심하도록 훈련하는 것이 이 공격 벡터의 주요 방어책임
- Execution Prevention
- 애플리케이션 제어를 사용해 Obsidian 같은 앱이 PowerShell 등 스크립트를 실행하지 못하게 하면 공격 체인을 끊을 수 있음
- D3FEND 매핑: D3-EAL
- Software Configuration
- 서드파티 플러그인 설치를 비활성화하거나 엄격한 승인을 요구하도록 애플리케이션을 구성하면 공격 표면이 줄어듦
- D3FEND 매핑: D3-ACH
참고 자료
- Obsidian Plugin Abuse Delivers PHANTOMPULSE RAT in Targeted Finance, Crypto Attacks: The Hacker News, 2026년 4월 16일
- New malware scam targets crypto users through Obsidian notes app: Cryptopolitan, 2026년 4월 15일
- Phantom in the vault: Obsidian abused to deliver PhantomPulse RAT: SOC Prime, 2026년 4월 14일
- Phantom in the vault: Obsidian abused to deliver PhantomPulse RAT - Osint Advisory: IBM X-Force Exchange, 2026년 4월 14일
Hacker News 의견들
-
Obsidian CEO임. 플러그인 보안에 대한 대형 업데이트가 곧 나오며, 이 스레드에서 나온 우려를 많이 해소할 수 있을 거라고 봄
어려운 문제지만 작업 중임. 다만 제목은 오해를 부름. 이 글은 사용자가 Obsidian의 여러 안전 경고를 직접 거부해야 하는 사회공학 공격에 관한 것이고, 아는 한 개념증명 수준이며 실제 피해 보고는 보지 못했음- 몇 년 전부터 플러그인이 안전하지 않다고 말했음. Discord에서 플러그인이 전체 디스크 접근 권한을 가진다고 했다가 공격받았던 기억이 선명함. 너무 늦었음
- 이제는 플러그인이 활성화돼 있어도 .obsidian 폴더를 vault 밖으로 옮기고, vault 내부의 해당 폴더를 기본적으로 무시하는 옵션이 생기나?
- 얼마나 어려울지는 모르지만, Android 같은 권한 대화상자를 추가하면 큰 도움이 될 것 같음. Obsidian 플러그인의 99%는 전체 디스크 접근 권한도, 인터넷 접근 권한도 필요 없음
- 클라이언트의 소스 코드 공개도 많은 우려를 해소해 줄 수 있음
- “여러 안전 경고를 적극적으로 거부”한다는 게 팝업 같은 건가? 대부분의 사람은 그런 걸 별생각 없이 승인함
플러그인/확장 기능은 기본적으로 실행이 조금 더 어렵게 되어야 한다고 봄. 플러그인을 쓰기 전 추가 장벽이 사용자 마찰을 만든다는 건 이해하지만, 샌드박스나 다른 제한 없이 검토되지 않은 임의 코드를 안전하게 실행하는 방법은 실제로 없다고 생각함
-
이건 오해를 부르는 제목임. 마치 정상 플러그인이 탈취되어 악성코드를 배포한 또 다른 공급망 공격처럼 보이게 만듦
실제로는 피해자가 동기화된 vault 협업에 초대되고, 그 vault 안에 RAT를 전달하는 비공식 플러그인이 미리 들어 있는 경우임. 완전히 다른 이야기임- 뭐가 오해를 부르나?
“Novel Campaign Abuses Obsidian Note-Taking App to Target Finance and Crypto Professionals with PHANTOMPULSE RAT”라고 되어 있음. 새 공격이고, Obsidian을 악용하며, 특정 집단을 노리고, RAT가 vault에 들어 있다는 뜻이라 맞는 표현으로 보임
- 뭐가 오해를 부르나?
-
Obsidian을 정말 좋아하고 매일 쓰지만, 커뮤니티 플러그인은 권한 체계가 충분하지 않아 쓰지 않음
언젠가 플러그인이 필요한 권한을 선언하고, 그게 사용자에게 표시되는 날을 기대함. Obsidian 팀이 이 문제에 진지하게 대응할 거라고 보고, 무엇을 내놓을지 기대함. 신뢰는 있지만, 처음부터 더 나은 권한 체계와 샌드박스 없이 설계됐다는 점은 놀랍다- Markdown 파일을 보려고 VS Code를 쓰는 게 지겨워져서 Obsidian을 쓰기 시작했음. 플러그인을 설치할 필요가 없어서 다행임. 보기엔 이 부분은 꽤 나쁜 설계로 보임
-
“피해자는 ‘Installed community plugins’ 동기화 기능을 켜라는 요청을 받는다”
Obsidian에는 이런 공격을 막기 위한 보호 장치가 있고, 피해자는 그걸 무시하도록 설득당한 것임. 성공한 사회공학 사건일 뿐임. 이 공격은 Obsidian이나 플러그인 시스템의 취약점을 악용한 게 아니므로, 이런 제목 때문에 Obsidian이 끌려 내려가는 건 보기 싫음- 아니라고 봄. https://obsidian.md/help/plugin-security#Plugin+capabilities
“기술적 한계 때문에 Obsidian은 플러그인을 특정 권한이나 접근 수준으로 안정적으로 제한할 수 없다. 따라서 플러그인은 Obsidian의 접근 수준을 상속한다.”
커뮤니티 플러그인은 컴퓨터의 파일에 접근할 수 있고, 인터넷에 연결할 수 있고, 추가 프로그램도 설치할 수 있음. Obsidian에는 보호 장치가 전혀 없고, 플러그인 설치는 곧 컴퓨터에 대한 전체 접근 권한을 주는 것임. 이런 일은 시간문제였고, 2010년 무렵부터는 이런 플러그인 시스템을 출시한 것 자체가 변명의 여지 없이 부주의했다고 봄 - Obsidian을 많이 쓰고 좋아하지만, 이 공개의 가치는 플러그인에 대한 인식을 퍼뜨리고 공격 경로를 보여주는 데 있다고 봄
덜 숙련된 사용자는 “그냥 Markdown 파일 모음이잖아. 악성코드 걱정은 별로 안 해도 되겠지”라고 생각할 수 있음
- 아니라고 봄. https://obsidian.md/help/plugin-security#Plugin+capabilities
-
왜 거의 모든 플러그인 시스템은 이렇게 허술하게 설계되는 걸까? 제대로 된 격리/권한 기능을 제공하는 좋은 플러그인 개발 프레임워크가 없어서 일이 너무 많은 건지, 아니면 필요한 것을 널리 모르기 때문에 자기 시스템이 악용되고 나서야 배우는 건지 궁금함. 둘 다인가, 아니면 다른 이유가 있나?
- 핵심에는 기능성과 보안의 절충이 있음. 사용자에게 강력한 능력을 주고 멋진 일을 하게 할 수도 있고, 의미 있는 능력을 대부분 제거하고 안전하게 만들 수도 있음. 보통 사람들은 보안보다 기능성을 선호함
또 다른 문제는 보안이 어렵고, 범용 접근 권한을 주고 기본적인 가드만 추가하는 건 쉽다는 것임 - 모든 플러그인이 필요로 할 보안 프레임워크와 구성 요소를 정의해야 하고, 그걸 설계·구현·검증·유지하는 데 시간이 듦
그냥 그 부분을 건너뛰는 게 훨씬 쉬움. 즉 일이 너무 많은 게 맞고, 정확히는 이 작업이 많지만 올바른 일이라는 걸 이해하는 보안 중심 리더십이 필요함 - 웹 스택과 제대로 된 인터페이스를 설계할 자원 부족 때문일 거라고 추측함. 이런 소프트웨어는 고수준 JS 프레임워크로 작성되므로 기본적으로 데이터 흐름 패턴이 좋지 않고, 의도적 설계보다 실제로 가능한 방식만 따라가는 경우가 많음
의도적으로 설계하려면 추상화 계층을 내려가고 해당 프레임워크의 커스텀 포크를 유지해야 할 수 있음. 그래서 아마 앱이 쓰는 컨텍스트의 일부를 넘겨 라이브러리를 인스턴스화하듯 플러그인을 설계했을 것임. 결국 동작하는 가장 단순한 방식임. 공개된 해킹은 특정 “취약점”을 말하지 않지만, Obsidian 플러그인은 항상 신 모드이고, 공격자는 사람들을 속여 그걸 쓰게 한 것뿐임. 팝업 몇 개 뒤에 사실상 원격 코드 실행이 대기하고 있는데 최종적으로 사용자 탓을 하는 게 웃김. 개발자들이 부끄러워해야 함 - Chrome 브라우저 플러그인조차 이와 비슷한 보안 문제가 있음. 수십억 달러와 많은 똑똑한 개발자가 투입되는데도 그렇다
앱 안에 앱스토어를 만드는 것과 비슷함. Apple App Store는 누가 무엇을 게시할 수 있는지 매우 엄격하게 제한하고, 유료 장벽도 두는 방식으로 악성 앱을 줄임 - 왜 플러그인 시스템이 곧바로 샌드박스를 의미해야 하나?
- 핵심에는 기능성과 보안의 절충이 있음. 사용자에게 강력한 능력을 주고 멋진 일을 하게 할 수도 있고, 의미 있는 능력을 대부분 제거하고 안전하게 만들 수도 있음. 보통 사람들은 보안보다 기능성을 선호함
-
사회공학이라 해도, 이런 일을 허용하는 플러그인 시스템 설계라면 이 플랫폼은 공유 도구로는 완전히 쓸 수 없음
알아두면 좋지만, 내게는 “공유 Obsidian vault를 쓰려면 이 설정을 올바르게 유지해야 한다”가 아니라 “공유 Obsidian vault는 절대 받지 말고, 일반 텍스트 내보내기를 요구해야 한다”에 가까움 -
Obsidian을 처음 쓰기 시작했을 때 본 YouTube 영상들은 커뮤니티 플러그인 사용을 권장했음. 이런 경고가 있어도 아마 커뮤니티 플러그인을 켰을 것 같음
처음에는 선의였던 플러그인 개발자가 나중에 악의적으로 바뀔 수도 있고, 사용자는 알 수 없음. 개발자이고 이런 위험을 알아도 커뮤니티 플러그인 옵션을 켰을 것 같으니, 내 위험 감수 성향이 높은 걸 수도 있음. 내가 소수이고 대부분의 사용자 행동이 아니길 바람 -
이런 일이 약간 유행병처럼 번지고 있음. 모든 공격이나 익스플로잇, 특히 사회공학 공격에 Metal Gear식 이름이나 웹사이트가 필요한 건 아님
-
내용을 읽어보면 문제는 Obsidian 스토어의 플러그인에서 시작된 게 아니라, 열도록 유도한 악성 vault에서 시작됨
-
Obsidian을 제한된 권한으로 실행함. 네트워크 접근 없음, 자체 디렉터리 밖 파일시스템 접근 없음
플러그인/테마를 업데이트할 때만 네트워크 접근을 켬. 신뢰할 수 없는 코드를 실행할 수 있는 다른 애플리케이션도 같은 방식으로 실행함- 어떻게 샌드박스 처리하는지 공유해줄 수 있나?