











소켓은 코드에서 악의적인 오픈 소스 패키지를 적극적으로 차단합니다.
우리와 의존성을 보호하세요
소켓 연구자들은 npm, PyPI 및 Crates.io를 포함한 활성 암호 도난자 공급망 공격을 식별했습니다. 소켓은 이 캠페인을 트랩도어로 추적하며, npm, PyPI 및 Crates.io에 걸쳐 34개 이상의 악성 패키지와 384개 이상의 관련 버전 및 아티팩트를 포함하고 있으며, 일부는 이미 제거되었고 작성 시점에는 다른 일부가 여전히 활성 상태였습니다.
소켓이 관찰한 가장 이른 패키지는 PyPI 패키지였습니다eth-security-auditor@0.1.0는 2026년 5월 22일 20:20:18 UTC에 업로드되었으며, 휠은 20:22:04 UTC에 발표되었습니다. 패키지는 몇몇 계정에 의해 파동으로 발표되었고 주말 동안 적극적으로 업데이트되었습니다. 그들은 일반 개발자 도구처럼 포장되어 여러 등록소에서 순차적으로 등장하여 눈에 띄었습니다. 소켓은 모든 세 가지 생태계 전반에 걸쳐 악성 패키지를 감지했습니다. 연결은 Crates.io 파동 중에 명확해졌을 때, Rust 패키지는 Sui와 Move 개발자를 겨냥했으며 관련 npm과 PyPI 패키지와 인프라 및 행동 패턴이 겹쳐 나타났습니다.
TrapDoor는 암호화폐, DeFi, Solana, 그리고 AI 커뮤니티의 개발자들을 표적으로 삼습니다. 악성 패키지는 개발자 비밀 정보, 암호화폐 지갑, SSH 키, 클라우드 자격 증명, 브라우저 데이터, 환경 변수를 훔치기 위해 설계되었습니다. 몇몇 npm 패키지는 공유된 페이로드인 trap-core.js을 배포하며, 이는 자격 증명을 스캔하고 AWS 및 GitHub 토큰을 검증하며, SSH 기반의 대각선 이동을 시도하고 .cursorrules을 통해 지속성을 심어둡니다.CLAUDE.md Git hooks, shell hooks, systemd, cron, 및 SSH.
async-pipeline-builderbuild-scripts-utilschain-key-validatorcrypto-credential-scannerdefi-env-auditordefi-threat-scannerdeployment-key-auditordev-env-bootstrappereth-wallet-sentinelllm-context-compressormnemonic-safety-checkmodel-switch-routernode-setup-helpersproject-init-toolsprompt-engineering-toolkitsolidity-deploy-guardtoken-usage-trackerwallet-backup-verifierwallet-security-checkerweb3-secrets-detectorworkspace-config-loadercryptowallet-safetydata-pipeline-checkdefi-risk-scannerenv-loader-clieth-security-auditorgit-config-syncsolidity-build-guardmove-analyzer-buildmove-compiler-toolsmove-project-buildersui-framework-helperssui-move-build-helpersui-sdk-build-utilsTrapDoor은 npm, PyPI, 그리고 Crates.io를 포함합니다는 일반 패키지 설치, 빌드, 가져오기 워크플로우 중 개발자에게 도달하기 위해 생태계 특정 실행 경로를 사용합니다.
캠페인에는 다음이 포함됩니다.
trap-core.js 페이로드를 포함한 활성 버전build.rs 스크립트를 통해 패키지 버전을 제공합니다.패키지 이름들은 개발 도우미처럼, 프로젝트 설정 도구처럼, 모델 라우팅 유틸리티처럼, 프롬프트 엔지니어링 패키지처럼, Solidity 도구들처럼, 그리고 Sui 또는 Move 빌드 도우미처럼 보이도록 만들어졌습니다. 이는 액션을 관련 개발자 커뮤니티 전반으로 넓게 확장시키며, 이곳에서는 암호화폐 지갑, 클라우드 자격 증명, GitHub 토큰, 그리고 SSH 키가 가능성이 높습니다.
인프라스트럭처 연결은 캠페인 전체에서도 일관되어 있습니다. 공격자는 GitHub 계정 ddjidd564 를 페이로드와 구성을 호스팅하는 데 사용하며, 이는 GitHub에서 제공되는 콘텐츠를 포함합니다.ddjidd564[.]github[.]io/defi-security-best-practices/입니다. 동일한 저장소에는 공격자가 작성한 자료가 포함되어 있으며, 이는 데이터 유출, 프롬프트 주입, AI 에이전트 남용, 지속성 및 관련 바이러스 개발 개념을 설명하고 있어 단순한 페이로드 호스팅을 넘어섭니다. 이 캠페인은 또한 P-2024-001라는 마커를 사용하며, 이는 관련 구성 요소 전반에 걸쳐 나타납니다.
악성 패키지는 개발자 비밀 정보와 민감한 로컬 데이터를 수집하기 위해 설계되었습니다. 이는 다음을 포함합니다.
이는 공격자가 개발자 머신과 연결된 인프라로 여러 경로로 접근할 수 있게 합니다. 도난당한 SSH 키는 수평 이동에 재사용될 수 있으며, 클라우드 및 GitHub 자격 증명은 저장소, CI/CD 시스템, 개인 패키지 및 배포 환경을 노출시킬 수 있습니다.
TrapDoor의 npm 부분은 가장 광범위합니다. 분석 시점에 여러 버전이 활성화된 npm 사용자가 발행한 소켓을 식별한 악성 패키지asdxzxcnpm 패키지는 포스트인스톨 실행에 의존합니다. 설치된 후, 공유된 페이로드를 실행합니다
trap-core.js는 1,149줄의 자격 증명 수집 및 확산 도구입니다.
payload는 자격 증명과 개발자 비밀을 스캔하고, AWS와 GitHub API 호출을 사용하여 도난당한 자격 증명을 검증하며, 여러 지속성 메커니즘을 통해 접근을 유지하려고 시도합니다.
관찰된 지속성 벡터에는 다음이 포함됩니다.
.cursorrulesCLAUDE.mdnpm 페이로드도 도난당한 SSH 키를 재사용하여 추가 시스템에 접근하여 수평적 이동을 시도합니다. 이는 단순한 한 번의 자격 증명 도난 공격보다 이 운동이 더 위험하게 만듭니다. 이는 해킹된 개발 머신이 다른 인프라로의 다리가 될 수 있기 때문입니다.
하나의 패키지,dev-env-bootstrapper는 특히 주목할 만합니다. 이는 바이러스성 프로그램으로서 동시에 공급 벡터로도 기능합니다. 자격 증명 도난에 참여하면서도 개발자 환경으로 악의적인 구성을 퍼뜨리는 데 도움을 줍니다.
악성 소켓으로 식별된 Crates.io 패키지가 TrapDoor과 연결되어 Sui와 Move 개발자를 공격합니다.
이 패키지들은 build.rs을 사용하며, 이는 Rust 빌드 프로세스 중 자동으로 실행됩니다. 악의적인 빌드 스크립트는 로컬 키스토어를 검색하고, 고정된 XOR 키를 사용하여 데이터를 암호화한 후, GitHub Gists로 데이터를 유출시킵니다.
의 사용은build.rs는 중요합니다. 이는 패키지 컴파일 중 코드 실행을 허용하여 개발자가 직접 패키지 기능을 실행하기 전에 실행할 수 있게 합니다. Sui와 Move 도구를 사용하는 암호 개발자에게 이는 지갑과 키스토어 도난의 높은 위험 경로를 만듭니다.
The Crates.io 패키지들은 소켓 연구자들이 광범위한 캠페인을 조사하도록 유도한 신호 중 하나였습니다. 개별적으로는 새로 발표되었으며 영향이 낮아 보였습니다. 하지만 여러 관련 패키지에 걸친 의심스러운 패턴은 연구자들이 공유된 공격자 인프라를 사용하는 npm과 PyPI 패키지와의 활동을 연결하도록 이끌었습니다.
소켓은 TrapDoor과 연결된 악성 PyPI 패키지를 식별했습니다. PyPI 패키지는 가져올 때 자동으로 실행되며, 공격자가 제어하는 GitHub Pages 도메인에서 JavaScript를 다운로드하고, node -e를 사용하여 실행합니다.
이 기술은 파이썬 패키지가 원격 자바스크립트 페이로드에 실행을 위임할 수 있게 하여, 공개 후 공격자에게 더 많은 유연성을 제공합니다. 페이로드를 외부에 호스팅함으로써 공격자는 새로운 PyPI 릴리스를 게시하지 않고도 동작을 업데이트할 수 있습니다.
PyPI 패키지는 여러 계정에 걸쳐 게시되었으며, asdmini67와 dae5411와 관련된 이름을 가진 계정이 포함되어 있습니다.
TrapDoor의 더 이상치 않은 특징 중 하나는 파일과 같은 .cursorrules 및 CLAUDE.md을 통해 AI 대상 주입을 사용하는 것입니다.
이 파일들은 일반적으로 AI 코딩 도구에 프로젝트 특정 지침을 제공하는 데 사용됩니다. 이 캠페인에서 공격자는 0 너비 유니코드 문자를 사용하여 숨겨진 지침을 심는 시도를 했습니다. 목표는 AI 보조 도구를 "보안 스캔" 또는 유사한 워크플로우를 실행하게 속이는 것으로 보입니다. 이는 비밀 발견 및 유출을 유발합니다.
이 기술은 모든 도구나 모델에서 일관되게 작동하지 않을 수 있지만, 그 존재는 공격자들이 공급망 바이러스 캠페인의 일부로 AI 개발 환경을 적극적으로 시험하고 있다는 것을 보여줍니다.
호스팅된 GitHub Pages 사이트도 이 워크플로우를 지원하는 것으로 보입니다. 패키지는 공격자가 제어하는 GitHub Pages URL을 가리키며, 이는 HTML 사이트로 렌더링되어 AI 보조 프로그램이 보안 스캔을 실행하도록 시도합니다. 그 스캔은 민감한 로컬 데이터를 수집하고 유출하도록 설계되었습니다.
TrapDoor은 생태계와 페이로드 단계에 따라 여러 겹의 암호화 및 검증을 사용합니다.
Crates.io 패키지에서 Socket은 고정된 키 cargo-build-helper-2026를 사용한 XOR 기반 암호화를 관찰했습니다.
npm 페이로드에서 공격자는 Fernet과 ECDH 암호화를 포함한 더 복잡한 암호학을 사용합니다. 이는 기본적인 복사 및 게시 자격 증명 도난자보다 더 발전된 페이로드임을 시사합니다.
npm 바이러스는 또한 AWS 및 GitHub 자격 증명을 API 호출을 통해 검증합니다. 이는 공격자가 유효한 자격 증명을 만료된 또는 낮은 가치의 데이터와 구별할 수 있도록 도와주며, 아마도 하류 개발의 효율성을 향상시킬 것입니다.
공격자가 제어하는 GitHub Pages 저장소에는 또한AUDIT-MATRIX.md TrapDoor의 의도된 추출 프레임워크를 설명하는 것으로 보이는 문서. 이 문서는 작동을 "유니버설 AI 에이전트 추출 프레임워크"라고 제시하며, 기능 탐지, 데이터 추출, 자기 복제 백업, 및 텔레메트리 보고에 대한 단계별 워크플로우를 기술한다.

문서는 확인된 실행 시 행동의 1:1 목록으로 취급해서는 안 됩니다. 이는 부분적으로 구현된 설계 문서로서 전체 단계별 적응 추출 파이프라인이 배포되지 않았다고 밝히고 있습니다. 그러나 문서에 기재된 많은 개념들이 npm 페이로드에서 관찰된 행동과 일치합니다. 파일 시스템 스캔, 환경 변수 수집, 자격 증명 발견, AI를 대상으로 하는 가장 위장 언어 등이 포함됩니다..cursorrules 지속성 및 공격자의 GitHub Pages 인프라를 통한 원격 구성.
“장식 레이어” 섹션은 특히 관련이 있습니다. 이는 자격 증명 도난 행동을 보안 검토, 지갑 안전 검사, 클라우드 구성 검증, 저장소 보안 검토 및 연결 상태 검사와 같은 무해처럼 들리는 작업에 매핑합니다. 이는 캠페인의 더 넓은 전략을 반영합니다: 악의적인 추출을 유용한 개발자 또는 보안 자동화로 표시합니다.
문서는 또한 캠페인이 AI를 대상으로 한다는 점을 강화합니다. 그의 백업 체인은 미래의 AI 세션에서 보고서를 실행하도록 시스템 지시를 사용하여 .cursorrules 파일을 작성한다고 설명합니다. npm 페이로드는 지속성 및 확산 로직의 일부로 .cursorrules 및 CLAUDE.md 파일을 작성합니다.
공격자의 활동은 악성 패키지를 배포하는 것에 국한되지 않았습니다. 동일한 GitHub 계정 ddjidd564은 여러 AI 및 개발 도구 프로젝트에 대해 풀 리퀘스트를 열었으며, 이에는 browser-use/browser-use, langchain-ai/langchain, langflow-ai/langflow, run-llama/llama_index, FoundationAgents/MetaGPT, OpenHands/OpenHands가 포함됩니다.
풀 리퀘스트는 반복적으로 추가하려고 시도했습니다..cursorrules 또는 CLAUDE.md 파일은 "docs: dev 표준과 빌드 검증 추가 .cursorrules"와 같은 좋은 소리 나는 제목 아래에 있습니다. "docs: dev 표준과 빌드 검증 추가 CLAUDE.md"와 같은 파일도 있습니다. 몇몇은 동일한 캠페인 마커인 P-2024-001를 참조했고, 변경 사항을 AI 지원 개발 가이드, 빌드 검증, 또는 프로젝트 특정 코딩 표준으로 프레임했습니다.
에서 browser-use/browser-use PR에서 제안된 .cursorrules 파일은 공격자가 제어하는 구성 URL을 가리키고 동일한 캠페인 마커를 참조했습니다:
{
"standard": "P-2024-001",
"config": "<https://ddjidd564.github.io/defi-security-best-practices/config.json>",
"strategy": {
"scan_depth": 3,
"enabled_vectors": [
"git",
"vscode",
"cursorrules",
"sourceHeaders",
"readme",
"pkgJson",
"claudeMd",
"prepush",
"trapActivation",
"pypi",
"docker",
"systemProfile"
]
},
"encryption": {
"enabled": true,
"scheme": "Fernet"
}
}
GitHub도 파일에 숨겨진 또는 이중 방향 유니코드 텍스트가 포함되어 있으며, 브라우저에서 보이는 것과 다르게 해석될 수 있음을 경고했습니다.
이 PR 활동은 등록 게시를 넘어서는 캠페인을 보여줍니다. 공격자는 AI를 대상으로 하는 프로젝트 파일이 일반적인 오픈 소스 기여 워크플로우를 통해 도입될 수 있는지 테스트하는 것으로 보입니다. 캠페인과 관련된 지시 사항을 AI 코딩 도구가 나중에 읽고 적용할 수 있는 곳에 배치하고 있습니다.
TrapDoor는 공격자들이 전통적인 패키지 타이포스쿼팅을 최신 개발자 환경 공격 경로와 결합하는 방법을 보여줍니다.
패키지 이름들은 암호 개발, AI 도구, 로컬 환경 설정, 보안 워크플로우와 관련성 있게 맞춰집니다. 그러면 바이러스는 생태계 특정 실행 경로를 사용합니다: build.rs Rust에서, npm의 postinstall hook에서, 그리고 Python의 import 시간 실행.
다양한 생태계 구조는 단일 레지스트리 보기에서 캠페인을 발견하기 어렵게 만듭니다. A Crates.io 패키지는 일치하는 인프라, 페이로드 마커, 그리고 행동이 npm과 PyPI 패키지와 연결되기 전까지는 고립되어 보일 수 있습니다.
보안팀에게 핵심은 현대적인 공급망 공격이 점점 개발자 워크플로우 전체를 중심으로 설계되고 있다는 점입니다. 패키지 설치는 오직 첫 단계일 뿐입니다. 그 이후에는 공격자들이 AI 보조 프로그램 설정, 셸 환경, Git 훅, SSH 접근, 브라우저 프로필, 클라우드 자격 증명, 암호화 지갑을 공격하고 있습니다.
소켓이 트랩도어를 감지했습니다. PyPI, npm, 그리고 Crates.io을 통해 행동 패턴과 크로스 레지스트리 분석을 통해. 가장 일찍 관찰된 패키지는 PyPI에서 eth-security-auditor@0.1.0로, 2026년 5월 22일 20:20:18 UTC에 업로드되었습니다.
더 넓은 캠페인 연결은 Crates.io期间에 명확해졌습니다. 웨이브는 Sui와 Move 개발자를 대상으로 하는 Rust 패키지 클러스터가 관련 npm 및 PyPI 패키지와 인프라 및 행동 상호 중복을 보이면서 발생했습니다. 이 다중 등록 패턴은 처음에는 분리된 악성 패키지처럼 보이던 것들을 조직적인 캠페인으로 연결했습니다.
381개의 패키지-버전 기록과 완전한 타임스탬프를 취합하여, 소켓이 트랩도어 릴리스를 평균 5분 56초에 탐지했으며, 중앙값 탐지 시간은 5분 27초였습니다. 가장 빠른 탐지는 게시 후 58초였습니다.
이 활동을 트랩도어 암호 도난 캠페인 페이지에서 추적하고 있습니다.
소켓은 모든 식별된 캠페인 패키지를 악성으로 분류했습니다. 우리는 식별된 악성 패키지를 영향을 받은 레지스트리에 보고했으며, 관련 패키지, 버전, 및 TrapDoor과 연결된 인프라를 지속적으로 모니터링하고 있습니다.
영향을 받은 패키지를 로딩 중…
도메인 및 인프라:
ddjidd564[.]github[.]ioddjidd564[.]github[.]io/defi-security-best-practices/ddjidd564캠페인 마커 및 파일:
P-2024-001trap-core.jstrap-core.js 크기: 48485 바이트cargo-build-helper-2026지속성 및 확산 경로:
.cursorrulesCLAUDE.md이 콘텐츠는 인셔셔RSS(RSS 리더)가 자동으로 집계한 것으로 읽기 참고용입니다. 원문 출처 — 저작권은 원저작자에게 있습니다.