PolinRider 악성 패키지 의심 시 확인할 것과 자격증명 대응 순서
핵심 답
PolinRider 관련 패키지나 확장 프로그램을 설치했거나 의심스러운 저장소를 VS Code·Cursor에서 열었다면 패키지만 지우고 끝내면 안 됩니다. 해당 장비를 네트워크에서 분리하고 증거를 보존한 다음, 깨끗한 장비에서 개발·배포·클라우드 자격증명을 폐기하고 재발급하는 순서가 안전합니다.
초기 분석에서 확인된 범위는 패키지와 브라우저 확장 프로그램 108개, 악성 릴리스 아티팩트 162개였습니다. 다만 Socket 추적 페이지는 2026년 9월 10일 기준 384개 아티팩트와 217개 고유 패키지를 표시하므로 108개를 현재 전체 규모로 해석해서는 안 됩니다.
어떤 공격인가
PolinRider는 npm에만 국한되지 않고 Go 모듈, Packagist, Chrome 확장 프로그램으로 확산된 오픈소스 공급망 공격 캠페인입니다. Socket은 정상적으로 보이는 저장소와 배포물에 난독화된 로더를 심고, VS Code 작업 설정이나 위장한 글꼴 파일처럼 개발자가 쉽게 의심하지 않는 실행 경로를 사용한 사례를 추적합니다.
이 활동은 개발자와 가상자산 업계 종사자를 노린 Contagious Interview 활동군과 관련된 것으로 분석됐습니다. MITRE ATT&CK는 이 활동군을 G1052로 분류하지만, 특정 침해 사례의 행위자 귀속은 분석기관별 근거와 표현을 함께 살펴야 합니다.
108개 수치 읽는 법
| 구분 | 의미 |
|---|---|
| 108개 | 초기 분석에서 확인된 고유 패키지·브라우저 확장 프로그램 수 |
| 162개 | 초기 분석에서 확인된 악성 릴리스 아티팩트 수 |
| 초기 세부 범위 | Go 모듈 80개, Packagist 10개, Chrome 확장 1개, npm 관련 17개 |
| 최신 추적 화면 | 2026년 9월 10일 기준 Socket 표시값 384개 아티팩트·217개 고유 패키지 |
서로 다른 시점과 집계 단위를 합쳐 피해자 수로 바꾸면 안 됩니다. 실제 영향 여부는 패키지명·버전·설치 시점과 저장소 변경 이력을 대조해야 합니다.
감염 의심 시 대응 순서
1. 실행을 멈추고 장비 분리
의심 패키지를 다시 설치하거나 저장소를 VS Code·Cursor에서 열어 재현하지 않습니다. 네트워크에서 장비를 분리하고 프로세스·로그·디스크 이미지를 보존할 필요가 있는 조직이라면 보안 담당자에게 먼저 알립니다. 악성 파일을 직접 실행해 확인하지도 않습니다.
2. 설치 범위와 실행 경로 확인
- lockfile과 패키지 매니저 로그에 영향받은 버전이 있는지 확인합니다.
.vscode/tasks.json에 폴더를 열 때 실행되는runOn: "folderOpen"작업이 있는지 봅니다.postcss.config.mjs,tailwind.config.js,eslint.config.mjs,next.config.mjs,babel.config.js등 설정 파일에 낯선 코드가 붙었는지 확인합니다.public·정적 자산 폴더에 정상 글꼴처럼 보이는 낯선.woff2파일이 생겼는지 봅니다.- Git 로그뿐 아니라 저장소 활동 로그와 패키지 등록소 게시 이력도 대조합니다.
이 목록은 의심 지점을 좁히는 체크리스트이지, 발견되지 않았다는 이유만으로 안전을 보증하는 진단법은 아닙니다.
3. 자격증명 폐기와 재발급
해당 장비에서 사용했거나 저장돼 있던 GitHub·npm·PyPI·RubyGems 토큰, SSH 키, 클라우드 키, CI/CD 비밀값, Vault·Kubernetes·Docker·Slack·Twilio 관련 자격증명을 노출 가능성이 있는 것으로 분류합니다. 깨끗한 장비에서 먼저 폐기하고 필요한 것만 새로 발급합니다. GitHub의 자격증명 폐기 안내는 토큰·SSH 키 폐기 뒤 재발급과 자동화 재인증이 필요하다고 설명합니다.
비밀번호를 한 번 바꾸는 것만으로 끝내지 말고 세션·토큰·SSH 키를 각각 무효화합니다. 같은 비밀번호를 다른 서비스에서 사용했다면 그 계정도 별도로 바꿉니다.
4. 안전한 상태에서 재빌드
영향받은 버전을 제거하고 검증된 lockfile과 소스에서 새 환경을 만듭니다. 낯선 저장소 변경은 단순히 최신 커밋으로 되돌리지 말고 신뢰할 수 있는 기준점과 패키지 무결성을 확인한 뒤 재빌드합니다. 운영·배포 환경은 기존 장비에서 복구하지 말고 깨끗한 이미지와 최소 권한의 새 자격증명으로 올립니다.
5. 조직 단위 후속 점검
CI/CD 실행 기록, 패키지 배포 권한, 도메인과 계정 복구 설정, 최근 저장소 변경과 외부 로그인 기록을 확인합니다. 토큰 사용 흔적이나 데이터 접근이 확인되면 개인 PC 정리로 종결하지 말고 내부 사고 대응 절차와 외부 신고·통지 기준을 적용합니다.
개발 전에 줄이는 위험
출처가 불분명한 저장소를 열기 전에 폴더 작업 자동 실행을 허용하지 않고 파일을 별도 환경에서 확인합니다. lockfile을 검토하고 배포 전 의존성·스크립트 변경을 확인하며, 토큰은 저장소와 로컬 설정 파일에 평문으로 두지 않습니다. GitHub 계정에는 다중 인증을 적용하고 자동화 토큰은 필요한 저장소와 기간으로 권한을 좁힙니다.
자주 묻는 질문
PolinRider의 108개는 현재도 유효한 숫자인가
초기 분석의 집계로는 유효하지만 현재 전체 규모를 뜻하지는 않습니다. Socket 추적 페이지가 2026년 9월 10일 기준 더 큰 누적 수치를 표시하므로 패키지명과 버전을 다시 대조해야 합니다.
저장소를 clone하기만 해도 감염되는가
보고된 핵심 위험은 저장소 안의 작업 설정이나 파일이 개발 도구에서 실행되는 경우입니다. clone 자체와 폴더를 개발 도구로 여는 행위는 구분해야 하며, 출처가 불분명한 저장소는 열기 전에 자동 실행 설정을 확인합니다.
감염된 패키지를 삭제하면 충분한가
충분하지 않을 수 있습니다. 이미 실행됐다면 인증정보와 브라우저·지갑 데이터가 노출됐을 가능성을 고려해 장비를 분리하고, 관련 자격증명을 깨끗한 장비에서 폐기한 뒤 재발급해야 합니다.
도움이 됐다면 공유하기
필요한 사람에게 이 글을 보내주세요.