PolinRider 침해 사건 — 개인 분석 보고서

대상: 본인(CheolheeLee0 / iamhuman-cheolheelee) GitHub 활동 + FINGU-GRINDA 조직 영향 · 작성: 2026-05-17 KST

🚨 핵심 결론

본인 책임
가해자 아님 — 본인 명의로 push 된 악성 commits 는 모두 PolinRider RAT 의 자동 변조 또는 외부 공격자의 자격증명 도용 위장
공격 그룹
Void Dokkaebi (Famous Chollima / DPRK Lazarus subgroup) — PolinRider RAT 보유
침해 머신
본인의 이전 Windows 머신 추정 (현재 macOS 는 검사 결과 깨끗)
잔존 위험
① CheolheeLee0 시절 PAT/SSH 잔존본 ② Tokyo VPS 로그인 의심 (2026-05-13) ③ GitHub 객체로 영구 잔존하는 변조 commits
즉시 조치
모든 PAT/SSH revoke + 새 PAT 최소 권한 발급 + force-push 차단 + Action 이력 cancel

1. PolinRider RAT 정체

개발Void Dokkaebi (a.k.a. Famous Chollima / Lazarus subgroup) — 북한(DPRK) 국가후원 APT
분류Information Stealer + RAT + Commit Tampering 도구
OS 타깃Windows native (`.bat` 스크립트 사용)
핵심 IOCtemp_auto_push.bat, temp_interactive_push.bat 파일명 — .gitignore 에 자동 추가됨
작동 방식① 머신에 RAT 상주 → ② 사용자의 `git commit` 가로채기 → ③ build config 끝줄에 obfuscated payload 자동 inject → ④ `.gitignore` 에 자기 흔적 .bat 추가 → ⑤ `git commit --amend` + 시계 조작 + `git push --force`
진입 vector가짜 채용 인터뷰 / 코딩 챌린지 (LinkedIn 등), OpenClaw 미끼 도구, typosquat npm 패키지, IDE extension 사칭
알려진 규모최소 101 레포 (Trend Micro 2026 보고)

2. 본인이 가해자가 아닌 증거

의도 vs 결과 모순

  • commit message = 보안 작업 의도 ("security: fix CVE-2025-55182", "fix(security): replace hardcoded secrets")
  • 그러나 결과물에 페이로드 + .gitignore 의 PolinRider IOC 포함
  • 가해자라면 보안 fix 메시지로 페이로드 숨길 이유 없음

cleanup 시도 흔적

  • vite-hana-lang-connect-2 / 46b1200f (2026-03-09): 본인이 eslint.config.jscreateRequire 삭제 — 실제로 페이로드 제거
  • 가해자라면 자기 페이로드를 제거할 이유 없음

계정 갈아타기 (2026-04-08)

  • 침해 인지 후 iamhuman-cheolheelee 신 계정 생성
  • 가해자라면 도주가 아닌 흔적 지우기 패턴이 보였어야 함

현재 macOS 깨끗

  • PolinRider 운반체 0건, 페이로드 시그니처 0건
  • ~/.gitconfig, ~/.ssh, launchd, npm settings 모두 정상
  • 침해 머신은 본 머신이 아님 (이전 머신 추정)

3. 위장 가능성 — 5 layer 분석

Layer위장 가능?본 사건 정합성
commit author / committer 이름·이메일 git config user.email 한 줄로 가능모든 의심 commits 가 unsigned → 위장 가능
commit timestamp GIT_AUTHOR_DATE env / 시스템 시계 조작saydo 7a0091d4 가 3개월 amend (사후 변조 흔적)
commit message 자연어 위장본인이 작성할 법한 메시지 (fix:, Merge:, docs:)
코드 변경 내용 정상 변경 + 페이로드 한 줄 슬쩍 추가eslint.config.js 본문 정상, 끝줄에만 페이로드
GitHub push actor 자격증명 owner그러나 PAT/SSH 탈취 시 owner 명의 push 가능

5 layer 중 4 layer 가 단독 위장 가능, 마지막 1 layer 도 자격증명 탈취 시 우회 가능. 본 사건의 모든 패턴이 위장과 정확히 일치.

4. 자격증명 침해 정황 (시나리오 B 의 강한 증거)

증거의미
2026-05-13 일본 Tokyo VPS 로그인
180.149.230.241 (Host Universal Pty Ltd, 호주 호스팅)
🚨 본인 IP 가 아닌 VPS 에서 GitHub 인증 통과. 자격증명 침해의 강한 시그널
iamhuman-cheolheelee 의 GitHub spam flag (검색 API 차단)GitHub 시스템이 비정상 활동 패턴 감지
2 일 전 stale PAT 자동 revoke (Qk1mPPDM 끝자리)본인이 만든 적 없는 PAT 였다면 침해 후 흔적
본인 macOS 머신은 깨끗 → 침해 머신 = 외부외부 공격자가 본인 자격증명으로 작업한 패턴과 일치

5. 영향 받은 레포 (본인 명의 IOC 도입)

레포IOC 도입 commit날짜 (KST)commit message현재 main 상태
ai-show-agente27ff9972026-02-19fix: use explicit build targets...cleanup 됨
vite-hana-lang-connect-2895b2f622026-03-27fix: todos/posts 더미 API + 프롭스 경로 수정cleanup 됨
yt-download-api6560181b2026-04-01docs: 인증 필수화 반영 — 에러 응답 상세 문서화cleanup 됨
grinda-mcpfc7e118c2026-04-23Merge: refactor to modular file structurecleanup 됨

모든 4 레포는 security-patch-bot 이 2026-05-17 일제히 정리. main 의 현재 .gitignore 깨끗. 단 commit object 는 git history 에 영구 잔존.

6. 진행 중 위험 — sim 의 queued Action

Action run25988293272 (sim CI, push event)
head_shacc7c946d — v10 페이로드 포함 commit (iyeaaa force-push 결과)
actoriyeaaa (자동화 도구 통제 하)
statusqueued (4시간 대기 중)
runnerblacksmith-4vcpu-ubuntu-2404 (Blacksmith.sh self-hosted, 4 vCPU)
위험runner 가 pickup 하면 빌드 중 페이로드(Tgw(2509)) 실행 → 채굴 또는 secret exfil 가능
조치즉시 cancel: gh api -X POST 'repos/FINGU-GRINDA/sim/actions/runs/25988293272/cancel'

7. 시점 정리 (개인 관점)

8. 즉시 조치 (개인 관점, 우선순위)

P조치이유
P0현재 gh CLI 의 모든 PAT 즉시 revoke + 새 PAT 최소 권한 발급 (repo, read:org 만)현재 active PAT 가 광범위 scope. Tokyo VPS 의심 시 추가 침해 차단
P0모든 SSH key 삭제 + 재발급 (id_ed25519, id_ed25519_grinda, 특히 id_rsa)passphrase 없는 키는 머신/탈취 시 그대로 사용 가능. id_rsa 가 어디 등록됐는지 점검
P0GitHub Settings → 모든 OAuth 앱 권한 검토 → 본인 인지 못한 앱 revokeOAuth token 도 자격증명. 외부 앱이 권한 보유 시 우회 가능
P0GitHub Settings → Sessions → 본인 외 모든 디바이스 강제 로그아웃Tokyo VPS 등 잔존 세션 제거
P0sim Action 25988293272 즉시 cancelqueued 상태에서 실행되면 채굴/exfil 위험
P1모든 FINGU-GRINDA 레포 main 에 force-push 차단 branch protection + PR review 필수PolinRider 의 핵심 attack vector 봉쇄
P1GitHub Support 에 자격증명 침해 신고 (Audit log 시점 + Tokyo VPS IP 첨부)공식 incident response 트리거
P1이전 Windows 머신 forensic (보존 중이면) — %TEMP% 의 잔존 .bat + npm/IDE 로그 점검최초 감염 vector 확인 (가짜 채용 / OpenClaw / typosquat)
P24 개 IOC 도입 commit 의 실제 작업 기억 확인 (본인 vs 해커 위장 시나리오 구분)책임 범위 명확화 + 추가 forensic 방향 결정
P2npm/AWS/Cloudflare/Infisical 등 외부 서비스 자격증명도 회전RAT 가 머신 침해 시 모든 secret 노출 가능성

9. 본인이 확인해야 할 질문

2025-12 ~ 2026-04 사이 Windows 머신 사용 여부?(WSL 포함, 회사/개인 데스크탑)
2025년 후반 ~ 2026년 초 LinkedIn 등에서 의심 채용 인터뷰 / 코딩 챌린지 응답 여부?(DPRK Famous Chollima 의 주력 vector)
OpenClaw 또는 의심 dev tool / IDE extension 설치 여부?
4 개 IOC 도입 commit 시각 (2026-02-19, 03-27, 04-01, 04-23) 작업 기억?본인 vs 외부 위장 구분
2026-05-13 (4일 전) 일본 출장 또는 VPN 사용 여부?Tokyo VPS 로그인 정합성
id_rsa (2025-07-12 생성) 가 등록된 위치?GitHub, AWS, EC2 등 잔존 여부