GlassWorm: มัลแวร์ล่องหนที่ซ่อนตัวใน GitHub 151+ Repos ด้วย Unicode มองไม่เห็น

ลองนึกภาพว่าคุณกำลัง review โค้ดบน GitHub ทุกบรรทัดดูปกติ diff ก็สะอาด ไม่มีอะไรผิดสังเกต แต่ระหว่างบรรทัดที่ดูเหมือนว่างเปล่านั้น มี payload มัลแวร์ซ่อนอยู่ และคุณไม่มีทางเห็นมันด้วยตาเปล่า
นี่ไม่ใช่เรื่องสมมติ ช่วง 3-9 มีนาคม 2026 ทีมนักวิจัยจาก Aikido Security เปิดเผยว่า GitHub repositories อย่างน้อย 151 แห่งถูกฝังโค้ดอันตรายด้วย invisible Unicode characters ที่ผ่านทุก code editor, terminal และ GitHub diff view โดยไม่ทิ้งร่องรอยใดๆ
แคมเปญนี้มีชื่อว่า GlassWorm และถ้าถามผม มันคือ supply chain attack ที่น่ากลัวที่สุดในปี 2026
repos ที่โดนไม่ใช่ repos เล็กๆ นะครับ มี pedronauck/reworm ที่มี 1,460 stars, anomalyco/opencode-bench ที่ 56 stars รวมถึง official Wasmer example repo อย่าง wasmer-examples/hono-wasmer-starter ด้วย และที่น่ากลัวกว่านั้นคือมัลแวร์ตัวนี้ใช้ Solana blockchain เป็น command server ที่ไม่มีใครลบได้
ผมขุดข้อมูลจากหลายแหล่งมารวมให้ครบที่นี่แล้ว มาดูกันว่ามันทำงานยังไง ทำไมมันถึงหลุดรอดทุกด่านตรวจ และ developer อย่างเราจะป้องกันตัวเองได้ยังไง
จุดเริ่มต้นที่ Cambridge ปี 2021
เรื่องนี้มีรากฐานมาจากปี 2021 เมื่อ Nicholas Boucher กับ Ross Anderson จาก University of Cambridge เผยแพร่งานวิจัยชื่อ Trojan Source ที่โชว์ว่า Unicode bidirectional characters สามารถหลอก compilers ของทุกภาษาหลักได้ ตั้งแต่ C, C++, JavaScript, Python, Rust, Go ไปจนถึง SQL
หลักการง่ายมาก Unicode มี Bidi override characters เช่น U+202A, U+202D, U+202E ที่ออกแบบมาให้รองรับภาษาอาหรับกับฮิบรูที่เขียนจากขวาไปซ้าย แต่เมื่อแทรกในโค้ดที่ parse จากซ้ายไปขวา สิ่งที่คุณเห็นบนหน้าจอกับสิ่งที่ compiler อ่าน จะเป็นคนละเรื่องกัน
"A very simple, elegant set of attacks that could make supply chain attacks much, much worse" - Nicholas Weaver, UC Berkeley
งานวิจัยนี้ได้ CVE-2021-42574 กับ CVE-2021-42694 มี 19 software suppliers ได้รับแจ้ง แต่มีเพียง 5 จาก 11 ที่มี bug bounty แล้วจ่ายจริง ค่า bounty เฉลี่ยแค่ $2,246 เท่านั้นเอง
Matthew Green จาก Johns Hopkins ก็ยืนยันตรงๆ ว่า compilers ส่วนใหญ่ถูกหลอกได้ด้วย Unicode
GlassWorm ถือกำเนิด ตุลาคม 2025
ห้าปีผ่านไป งานวิจัยนั้นก็กลายเป็นอาวุธจริง Koi Security ค้นพบ GlassWorm เมื่อ 20 ตุลาคม 2025 และมันเป็น worm ตัวแรกของโลกที่แพร่กระจายตัวเองผ่าน VS Code extensions บน OpenVSX marketplace
ระลอกแรกที่เริ่มจาก Open VSX มียอดติดตั้งที่ได้รับผลกระทบอย่างน้อย 35,800 installations แต่นั่นแค่เริ่มต้น
ถึงมีนาคม 2026 มันกระจายไปกว่า 400+ code repos ข้าม GitHub, npm, VS Code และ OpenVSX โดย Aikido Security ให้ความรุนแรงของภัยคุกคามนี้ที่ 100 จาก 100
Unicode ที่ตาเปล่าไม่มีทางเห็น
GlassWorm ใช้ Unicode characters สองช่วงที่ฉลาดมาก คือ Variation Selectors (U+FE00 ถึง U+FE0F) จำนวน 16 ตัว กับ Variation Selectors Supplement (U+E0100 ถึง U+E01EF) อีก 240 ตัว
characters พวกนี้แสดงผลเป็น zero-width whitespace ทำให้ดูเหมือนบรรทัดว่างหรือ empty string ธรรมดา ผ่าน syntax highlighting ทุกตัว ผ่าน diff tools ทุกตัว ผ่านตาคุณทุกครั้ง
พูดง่ายๆ คือโค้ดบรรทัดที่ดูว่างเปล่า จริงๆ แล้วอาจมี payload ซ่อนอยู่ข้างในเต็มไปหมด
Solana Blockchain ที่ลบไม่ได้
ส่วนที่ผมคิดว่าอัจฉริยะที่สุดคือ command-and-control server ปกติถ้าเจอ malware server ตำรวจก็ขอ takedown domain ได้ แต่ GlassWorm ใช้ Solana blockchain เป็น C2 แทน
วิธีทำงานคือ payload ที่ถูก decode จาก invisible characters จะ query Solana blockchain อ่าน transaction memos จาก wallet address ที่ hardcode ไว้ ใน memo มี JSON object ที่เข้ารหัส Base64 ซึ่งบรรจุ URL สำหรับดาวน์โหลด payload ขั้นถัดไป
ทำไมถึงน่ากลัว? เพราะ blockchain เป็น immutable ลบไม่ได้ censorship-resistant ฟรี ไม่มี rate limiting ไม่มี IP logging และ takedown ไม่ได้ด้วยวิธีทางกฎหมายหรือเทคนิคปกติ
ลองคิดดูนะครับ C2 server ที่ไม่มีใครปิดได้ เพราะมันอยู่บน blockchain สาธารณะ แถมยังมี Google Calendar เป็น backup C2 อีกด้วย
ZOMBI RAT: เปลี่ยนเครื่องคุณเป็นหุ่นเชิด
เป้าหมายสุดท้ายของ GlassWorm คือการฝัง ZOMBI RAT (Remote Access Trojan) ลงในเครื่องเหยื่อ ซึ่งมันทำได้เยอะมาก ตั้งแต่เปลี่ยนเครื่องคุณเป็น proxy node ทำ Hidden VNC servers ไปจนถึง P2P command channels ผ่าน WebRTC กับ BitTorrent
แต่ที่โหดสุดคือมันขโมย credentials จาก NPM, GitHub, OpenVSX และ Git แล้วยังกวาด keys จาก crypto wallet extensions ถึง 49 ตัว รวมถึง MetaMask, Phantom และ Coinbase Wallet
credentials ที่ขโมยไปถูกนำไปใช้ compromise packages และ extensions เพิ่มเติมแบบอัตโนมัติ ทำให้เกิดการเติบโตแบบ exponential นี่แหละที่ทำให้มันเป็น "worm" ในความหมายจริงๆ
AI สร้าง cover commits ให้ดูปกติ
คำถามคือ ทำไม 151+ repos ถึงไม่มีใครสังเกตเห็น? คำตอบง่ายมาก ผู้โจมตีใช้ AI/LLM สร้าง cover commits ที่ดูเป็นธรรมชาติสำหรับแต่ละ project
documentation tweaks, version bumps, small refactors, bug fixes ที่เข้ากับสไตล์ของ project นั้นๆ ทั้งหมดนี้ถูก customize ด้วย LLM ให้ดูเหมือน commit ปกติของ maintainer ส่วน invisible payload ก็ซ่อนอยู่ระหว่างบรรทัดที่ดูเหมือนว่างเปล่า
ผมว่าตรงนี้คือจุดที่เปลี่ยนเกมเลย เพราะการ scale supply chain attack ไป 150+ repos พร้อมกันด้วย commits ที่ดูเนียนระดับนี้ ต้องใช้ AI ช่วยแน่นอน
Rules File Backdoor: เมื่อ AI Coding Agent โดนหลอก
เรื่องมันไม่จบแค่ GlassWorm กุมภาพันธ์ถึงมีนาคม 2025 นักวิจัย Ziv Karliner จาก Pillar Security ค้นพบ Rules File Backdoor ที่ใช้ invisible Unicode ซ่อนคำสั่งอันตรายใน configuration files ของ GitHub Copilot กับ Cursor
วิธีการคือผู้โจมตีฝัง invisible characters ไว้ใน .cursorrules หรือ .mdc files payload ที่ซ่อนอยู่มี jailbreak narratives สั่งให้ AI ไม่ log การกระทำ เมื่อ developer ขอให้ AI สร้างโค้ด rules ที่ถูก poison ก็จะสั่งให้ AI แทรก malicious code เข้าไปเงียบๆ
ทดสอบจริง เมื่อ prompt ว่า "Create a simple HTML only page" AI สร้างโค้ดที่มี script tag ชี้ไปยัง attacker-controlled site โดยไม่กล่าวถึงใน chat เลยสักคำ
"Rules file เดียวที่ถูก poison สามารถ poison countless lines of AI-generated code across multiple projects" - Pillar Security
แล้ว vendors ตอบยังไง? Cursor ตอบกลับว่า "ผู้ใช้ต้องรับผิดชอบเอง" ส่วน GitHub ก็ตอบทำนองเดียวกัน แต่สุดท้ายเมื่อ 1 พฤษภาคม 2025 GitHub ก็เพิ่ม warning สำหรับ hidden Unicode text ในไฟล์
Timeline ที่ต้องรู้
มีนาคม 2025: Aikido ค้นพบ npm packages อันตรายที่ใช้ PUA Unicode เป็นครั้งแรก
ตุลาคม 2025: Koi Security ค้นพบ GlassWorm พบ extensions ที่ถูก compromise บน Open VSX ก่อนจะขยายไป GitHub repos
พฤศจิกายน 2025 ถึง กุมภาพันธ์ 2026: ระลอก PhantomRaven ใช้ 50 disposable accounts อัปโหลด 88 npm packages อันตราย
31 มกราคม 2026: พบ 72 malicious Open VSX extensions ระลอกใหม่เริ่มต้น
3-9 มีนาคม 2026: ระลอกใหญ่ที่สุด ฝังโค้ดใน 151+ GitHub repositories
มีนาคม 2026: ยอดรวมกว่า 400+ code repos ข้าม GitHub, npm, VS Code และ OpenVSX โครงสร้างพื้นฐานของ GlassWorm ยังคง active อยู่ทุกวันนี้
Copy-Paste จาก GitHub อาจเป็นจุดจบ
สิ่งที่ผมคิดว่า developer ไทยต้องตระหนักมากที่สุดคือเรื่อง copy-paste เพราะ Bidi override characters จะติดไปด้วยอัตโนมัติเมื่อคุณ copy โค้ดจาก browser หรือ editor
หมายความว่าถ้าคุณ copy โค้ดจาก GitHub หรือ Stack Overflow ที่มี invisible characters ฝังอยู่ คุณก็นำ vulnerability เข้าสู่ project ของคุณเองโดยไม่รู้ตัว
สมมติฐานที่ว่า "ผม review diff แล้ว ดูปกติดี" ใช้ไม่ได้อีกต่อไปครับ เพราะมันพิสูจน์แล้วว่า diff ที่ดูปกติอาจมีมัลแวร์ซ่อนอยู่
วิธีป้องกันตัวเอง
1. ใช้ anti-trojan-source จาก Snyk ที่ตรวจจับ confusable characters 277 ตัว, Bidi controls และ zero-width characters สั่ง npx anti-trojan-source ได้เลยพร้อม GitHub Actions integration
2. ใช้ Aikido Safe Chain เครื่องมือ open-source ฟรีที่ wrap npm, npx, yarn, pnpm ใช้ AI กับ human malware researchers บล็อก supply chain risks ก่อนติดตั้ง
3. เพิ่ม Unicode linting ใน pre-commit hooks กับ CI/CD pipelines ใช้ Python scanner ตรวจ Unicode ranges ที่น่าสงสัย และ Git pre-commit hooks บล็อก variation selectors
4. Configure IDE ให้ highlight non-ASCII characters อย่าพึ่งพา visual code review เพียงอย่างเดียว
5. ตรวจ AI configuration files อย่าง .cursorrules, .mdc เหมือน executable code อย่ารับ rules files จาก untrusted sources โดยไม่ตรวจสอบ
6. Monitor Solana blockchain calls จาก developer environments ถ้าเครื่อง dev ของคุณ call Solana RPC แบบไม่มีเหตุผล นั่นคือ red flag
เกมเปลี่ยนไปแล้วสำหรับ Developer
ผมคิดว่าเรื่องนี้สำคัญมากสำหรับ developer ไทยที่ใช้ AI coding tools ทุกวัน เพราะภัยคุกคามแบบนี้ทวีความรุนแรงในยุค AI-assisted coding developer เราเชื่อใจทั้ง IDE และ AI assistants โดยปริยาย
Compromised extensions หรือ poisoned config files สามารถแทรก hidden characters เข้ามาแบบอัตโนมัติ Rules file เดียวที่โดน poison อาจทำลายโค้ดได้ข้ามหลาย projects
สถานะตอนนี้? Solana transaction ยังชี้ไปที่ payload server ที่ทำงานอยู่ Google Calendar link ยังใช้ได้ และ exfiltration address ยังคงรวบรวมข้อมูลอยู่ GlassWorm ยังไม่ตาย
ถ้าถามผม ยุคที่ "อ่าน diff แล้วดูปกติ" พอจะรับประกันความปลอดภัยได้ จบลงแล้วครับ ต่อจากนี้ต้อง scan ทุก commit ทุก dependency ทุก extension ด้วยเครื่องมือที่มองลึกกว่าตามนุษย์
โค้ดที่อันตรายที่สุดคือโค้ดที่คุณมองไม่เห็น และตอนนี้มันอยู่บน GitHub แล้ว
แหล่งอ้างอิง
- Aikido Security: Glassworm Returns: Invisible Unicode Malware Found in 150+ GitHub Repositories
- The Hacker News: GlassWorm Supply-Chain Attack Abuses 72 Open VSX Extensions to Target Developers
- Snyk: Defending Against Glassworm: The Invisible Malware That's Rewriting Supply Chain Security
- WinBuzzer: GitHub: Glassworm Hides Malware in Invisible Unicode Across 151+ Repos
- Krebs on Security: Trojan Source Bug Threatens the Security of All Code
- DEV Community: Glassworm: How Invisible Unicode Characters and Solana Are Powering the Biggest Supply Chain Attack of 2026
- Knostic: Zero Width Unicode Characters: the Risks you Can't See
- Pillar Security: New Vulnerability in GitHub Copilot and Cursor: How Hackers Can Weaponize Code Agents
- Security Online: GlassWorm Supply Chain Worm Uses Invisible Unicode and Solana Blockchain for Stealth C2
บทความที่เกี่ยวข้อง

Claude Code Channels: สั่ง AI สร้างแอป iPhone จากห้องน้ำผ่าน Telegram ทำได้จริงแล้ว
Anthropic เปิดตัว Channels เชื่อม Telegram กับ Claude Code สั่ง AI เขียนโค้ดจากมือถือได้ มีคนทดสอบสร้างแอป iPhone จริงแล้ว


WordPress เปิดให้ AI เขียนและจัดการเว็บได้แล้ว: 42.5% ของอินเทอร์เน็ตจะไม่เหมือนเดิม
WordPress.com เปิดให้ AI สร้างและจัดการเนื้อหาบนเว็บได้แล้ว เว็บ 42.5% ของโลกกำลังเข้าสู่ยุคที่หุ่นยนต์เขียนแทนคน


ความคิดเห็น
ยังไม่มีความคิดเห็น เป็นคนแรกที่แสดงความเห็น!