Skip to content
KitploitKITPLOIT
๋„๊ตฌ๋ธ”๋กœ๊ทธ
์ œ์ถœ
๋„๊ตฌ๋ธ”๋กœ๊ทธ
์ œ์ถœ

ํ•ดํ‚น, ์นจํˆฌ ํ…Œ์ŠคํŠธ ๋ฐ ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ๋„๊ตฌ๋ฅผ ๋‹น์‹ ์˜ ๋ณด์•ˆ ๋ฌด๊ธฐ๊ณ ์—!

Kitploit์€ ํ•ดํ‚น, ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ๋ฐ ์นจํˆฌ ํ…Œ์ŠคํŠธ ๋„๊ตฌ ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ตœ์‹  ํ”„๋กœ์ ํŠธ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐœ๊ฒฌํ•˜์—ฌ ์ทจ์•ฝ์ ์„ ์ฐพ๊ณ , ์‹œ์Šคํ…œ์„ ๋ถ„์„ํ•˜๊ณ , ํ…Œ์ŠคํŠธ๋ฅผ ์ž๋™ํ™”ํ•˜๊ณ , ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜์„ธ์š”.

ยทยทํ”ผ๋“œยท๋ฌธ์˜ยท๊ฐœ์ธ์ •๋ณดยทยฉ 2026 Kitploit

๋„๊ตฌ ๋””๋ ‰ํ† ๋ฆฌ

์นดํ…Œ๊ณ ๋ฆฌ

๋ชจ๋“  ์นดํ…Œ๊ณ ๋ฆฌ ๋ณด๊ธฐ
Loading categories
๋„๊ตฌ/GitHubGitHub/caixa-git/tanstack-shield
Vulnerability ScannersMalware AnalysisSecret DetectionThreat IntelligenceSupply Chain SecurityIncident Response
GitHubcaixa-git/tanstack-shield

tanstack-shield

๐Ÿ›ก๏ธ CVE-2026-45321์„ ์œ„ํ•œ ์›์ปค๋งจ๋“œ ์Šค์บ๋„ˆ โ€” TanStack npm ๊ณต๊ธ‰๋ง ๊ณต๊ฒฉ

์ €์žฅ์†Œ ๋ณด๊ธฐ
44๊ฐœ์›” ์ „์•„์ง ๊ฒ€ํ† ๋˜์ง€ ์•Š์Œ

์ธ๊ธฐ

๋ชจ๋‘ ๋ณด๊ธฐ โ†’

์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋„๊ตฌ๋ฅผ ์ฐพ์•„๋ณด์„ธ์š”.

๋ชจ๋“  ๋„๊ตฌ ํƒ์ƒ‰

๋„๊ตฌ ์ปฌ๋ ‰์…˜์„ ๋‘˜๋Ÿฌ๋ณด์„ธ์š”

๋ชจ๋“  ๋„๊ตฌ ๋ณด๊ธฐ โ†’
๊ณต์œ 

๐Ÿ›ก๏ธ tanstack-shield

์›-์ปค๋งจ๋“œ ๊ณต๊ธ‰๋ง ๊ณต๊ฒฉ ์Šค์บ๋„ˆ for CVE-2026-45321 / GHSA-g7cv-rxg3-hmpx

2026๋…„ 5์›” 11์ผ 42๊ฐœ์˜ @tanstack/* npm ํŒจํ‚ค์ง€(84๊ฐœ์˜ ์•…์„ฑ ๋ฒ„์ „)๋ฅผ ์†์ƒ์‹œํ‚จ "๋ฏธ๋‹ˆ ์ƒค์ด-ํ›Œ๋ฃจ๋“œ" ์›œ์„ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค.

root@kitploit:~
# ํ•œ ์ค„ โ€” ํ”„๋กœ์ ํŠธ ์Šค์บ”
curl -fsSL https://raw.githubusercontent.com/Caixa-git/tanstack-shield/main/tanstack-shield.sh | bash

# ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ ์Šค์บ”
curl -fsSL https://raw.githubusercontent.com/Caixa-git/tanstack-shield/main/tanstack-shield.sh | bash -s -- /path/to/project

# ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์ง์ ‘ ์‚ฌ์šฉ
git clone https://github.com/Caixa-git/tanstack-shield.git
cd tanstack-shield
python3 tanstack-shield.py .

๋ฐฐ๊ฒฝ

2026๋…„ 5์›” 11์ผ, ๊ณต๊ฒฉ์ž๋Š” ์„ธ ๊ฐ€์ง€ ์•Œ๋ ค์ง„ ์ทจ์•ฝ์  ํด๋ž˜์Šค โ€” pull_request_target (Pwn Request) ์˜ค์„ค์ •, GitHub Actions ์บ์‹œ ์ค‘๋…, OIDC ํ† ํฐ ๋ฉ”๋ชจ๋ฆฌ ์ถ”์ถœ โ€” ์„ ์—ฐ์‡„์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ TanStack์˜ ์‹ ๋ขฐ๋ฐ›๋Š” npm ์‹ ์› ํ•˜์— 42๊ฐœ์˜ @tanstack/* ํŒจํ‚ค์ง€์— ๊ฑธ์ณ 84๊ฐœ์˜ ์•…์„ฑ ๋ฒ„์ „์„ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฉ€์›จ์–ด๋Š” ์ž๊ฒฉ ์ฆ๋ช…(GitHub ํ† ํฐ, npm ํ† ํฐ, SSH ํ‚ค, AWS/GCP/Kubernetes/Vault)์„ ์ˆ˜์ง‘ํ•˜๊ณ  Session ๋ฉ”์‹ ์ €๋ฅผ ํ†ตํ•ด ์œ ์ถœํ–ˆ์œผ๋ฉฐ, ํ”ผํ•ด์ž๊ฐ€ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋กœ ์ž๊ฐ€ ์ „ํŒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋™์ผํ•œ ์บ ํŽ˜์ธ์€ Mistral AI(npm + PyPI), UiPath(65๊ฐœ ํŒจํ‚ค์ง€), (์ฃผ๊ฐ„ npm ๋‹ค์šด๋กœ๋“œ 130๋งŒ), ๊ทธ๋ฆฌ๊ณ  ์™€ 2๊ฐœ์˜ PyPI ํŒจํ‚ค์ง€์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์ณค์Šต๋‹ˆ๋‹ค.

OpenSearch
์ด 170๊ฐœ ์ด์ƒ์˜ npm ํŒจํ‚ค์ง€
  • CVE: CVE-2026-45321
  • ๋ณด์•ˆ ๊ถŒ๊ณ : GHSA-g7cv-rxg3-hmpx
  • ์‚ฌํ›„ ๋ถ„์„: tanstack.com/blog/npm-supply-chain-compromise-postmortem
  • ๊ณต๊ฒฉ์ž: TeamPCP ("Mini Shai-Hulud" ์›œ)
  • StepSecurity ๋ถ„์„: stepsecurity.io/blog/mini-shai-hulud

๊ธฐ๋Šฅ

ํ”„๋กœ์ ํŠธ์—์„œ ๋‹ค์Œ์„ ํ™•์ธํ•˜๋Š” ์ฝ๊ธฐ ์ „์šฉ ์Šค์บ๋„ˆ:

ํ•ญ๋ชฉํŒŒ์ผ๊ฒฐ๊ณผ
npm ์ž ๊ธˆ ํŒŒ์ผpackage-lock.json, npm-shrinkwrap.json๐Ÿ”ด ์ •ํ™•ํ•œ ์•…์„ฑ ๋ฒ„์ „ ์ผ์น˜
pnpm ์ž ๊ธˆ ํŒŒ์ผpnpm-lock.yaml๐Ÿ”ด ์ •ํ™•ํ•œ ์•…์„ฑ ๋ฒ„์ „ ์ผ์น˜
yarn ์ž ๊ธˆ ํŒŒ์ผyarn.lock๐Ÿ”ด ์ •ํ™•ํ•œ ์•…์„ฑ ๋ฒ„์ „ ์ผ์น˜
๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ข…์†์„ฑpackage.json (๋ฃจํŠธ + ์›Œํฌ์ŠคํŽ˜์ด์Šค)๐ŸŸก ํŒจํ‚ค์ง€ ์กด์žฌ ๊ฒฝ๊ณ 
๋ฉ€์›จ์–ด ํ•‘๊ฑฐํ”„๋ฆฐํŠธ@tanstack/setup in optionalDependencies๐Ÿ”ด ํ™•์ธ๋œ ๋ฉ€์›จ์–ด
์˜์‹ฌ์Šค๋Ÿฌ์šด git ์ข…์†์„ฑgithub:tanstack/router#<commit>๐Ÿ”ด ํ™•์ธ๋œ ๋ฉ€์›จ์–ด
๋ผ์ดํ”„์‚ฌ์ดํด ์Šคํฌ๋ฆฝํŠธprepare with bun + router_init๐Ÿ”ด ํ™•์ธ๋œ ๋ฉ€์›จ์–ด
node_modulesnode_modules/@tanstack/* (fallback)๐Ÿ”ด ์ •ํ™•ํ•œ ๋ฒ„์ „ ์ผ์น˜

์ฐธ๊ณ : ์ž ๊ธˆ ํŒŒ์ผ์€ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์—์„œ๋งŒ ์Šค์บ”๋ฉ๋‹ˆ๋‹ค. ์„œ๋ธŒ๋””๋ ‰ํ† ๋ฆฌ(์˜ˆ: packages/web/package-lock.json)์— ์ž ๊ธˆ ํŒŒ์ผ์ด ์žˆ๋Š” ๋ชจ๋…ธ๋ ˆํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋‚ด์—์„œ ์Šค์บ๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜, ์ตœ์ƒ์œ„ ์ž ๊ธˆ ํŒŒ์ผ์ด ์žˆ๋Š” ๋ชจ๋…ธ๋ ˆํฌ ๋ฃจํŠธ์—์„œ ์‹คํ–‰ํ•˜์„ธ์š”.

์ถœ๋ ฅ

  • ๐Ÿ”ด CRITICAL โ€” ๋ฉ€์›จ์–ด ํƒ์ง€๋จ. ๋ณต๊ตฌ ๊ฐ€์ด๋“œ(์ž๋™ ์ถœ๋ ฅ)๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.
  • ๐ŸŸก WARNING โ€” @tanstack/*์ด(๊ฐ€) package.json์—์„œ ๋ฐœ๊ฒฌ๋จ. ์ž ๊ธˆ ํŒŒ์ผ์„ ํ™•์ธํ•˜์„ธ์š”.
  • ๐ŸŸข SAFE โ€” ์•Œ๋ ค์ง„ ์•…์„ฑ ํŒจํ‚ค์ง€๊ฐ€ ํƒ์ง€๋˜์ง€ ์•Š์Œ.

โš ๏ธ ์ค‘์š”: ์ด ๋ฉ€์›จ์–ด๋Š” PC๋ฅผ ํŒŒ๊ดดํ•˜๋Š” ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์•„๋‹Œ ์ž๊ฒฉ ์ฆ๋ช… ๋„๋‚œ ๋ฉ€์›จ์–ด์ž…๋‹ˆ๋‹ค. ๐Ÿ”ด๊ฐ€ ํƒ์ง€๋œ ๊ฒฝ์šฐ:

  • ํŒŒ์ผ๊ณผ ์‹œ์Šคํ…œ์€ ์†์ƒ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค
  • ํ•˜์ง€๋งŒ ํ•ด๋‹น ๋จธ์‹ ์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ž๊ฒฉ ์ฆ๋ช…์ด ๋„๋‚œ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • GitHub ํ† ํฐ, npm ํ† ํฐ, SSH ํ‚ค, ํด๋ผ์šฐ๋“œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ฆ‰์‹œ ๊ต์ฒดํ•˜์„ธ์š”

JSON ์ถœ๋ ฅ

root@kitploit:~
curl -fsSL https://raw.githubusercontent.com/Caixa-git/tanstack-shield/main/tanstack-shield.sh | bash -s -- --json

์•ˆ์ „์„ฑ

์ด ๋„๊ตฌ๋Š” ์ฝ๊ธฐ ์ „์šฉ์ž…๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์—์„œ ํŒŒ์ผ์„ ์ƒ์„ฑ, ์ˆ˜์ • ๋˜๋Š” ์‚ญ์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์š”๊ตฌ ์‚ฌํ•ญ

  • Python 3.8+
  • curl (์›-๋ผ์ด๋„ˆ ๋ชจ๋“œ์šฉ)

๋ผ์ด์„ ์Šค

MIT

๋„๊ตฌ ๋‹ค์šด๋กœ๋“œ