เครื่องมือสแกนช่องโหว่ที่คนทั้งโลกเชื่อถือ ถูก AI Bot เจาะใน 19 นาที แล้วโดนซ้ำอีกรอบเพราะลืม revoke token

ลองนึกภาพว่าคุณเป็นนักพัฒนาที่ใช้เครื่องมือสแกนช่องโหว่ตัวหนึ่งในระบบ CI/CD ของคุณมาตลอด เครื่องมือที่มีคนกดดาวบน GitHub กว่า 25,000 ดวง เครื่องมือที่บริษัทระดับโลกเอาไปใช้ทุกวัน
แล้ววันหนึ่ง README ของเครื่องมือนั้นถูกเปลี่ยนเป็นข้อความว่า "Just researchmaxxed the PAT...yeeted it on sight" แปลง่ายๆ คือ "ขุด token มาได้แล้ว เจอปุ๊บจัดปั๊บ"
นี่คือเรื่องจริงที่เกิดขึ้นกับ Trivy ของ Aqua Security ซึ่งเป็นเครื่องมือ open-source สำหรับสแกนความปลอดภัยที่ได้รับความนิยมมากที่สุดตัวหนึ่งของโลก
และทั้งหมดเริ่มต้นจาก bot ตัวเดียว
hackerbot-claw กับแผนที่ไม่ธรรมดา
วันที่ 20 กุมภาพันธ์ 2026 มีคนสร้างบัญชี GitHub ชื่อ hackerbot-claw ขึ้นมา บัญชีนี้อ้างว่าขับเคลื่อนด้วย Claude Opus ซึ่งเป็น AI model ของ Anthropic
แปดวันต่อมา bot ตัวนี้ลงมือ
ถ้าจะเปรียบให้เห็นภาพ ลองนึกถึงหัวขโมยที่ไม่ได้บุกเข้าบ้านคุณตรงๆ แต่แอบยัดจดหมายปลอมเข้าไปในตู้ไปรษณีย์ แล้วรอให้คุณเปิดอ่านเอง Pull Request ใน GitHub ก็ทำงานคล้ายกัน มันเป็นการเสนอโค้ดให้โปรเจกต์พิจารณา ปกติแล้วมันปลอดภัย แต่ถ้าระบบตั้งค่าไม่ดี แค่เปิด PR ก็อาจรันโค้ดอันตรายได้ทันที
hackerbot-claw สแกนโปรเจกต์บน GitHub ไปประมาณ 47,000 repository เพื่อหาช่องโหว่แบบนี้ แล้วเปิด PR ไปมากกว่า 12 รายการ
ผลลัพธ์คือโจมตีสำเร็จ 5 จาก 7 เป้าหมาย
เหยื่อไม่ใช่โปรเจกต์เล็กๆ
เป้าหมายที่ถูกโจมตีรวมถึง ai-discovery-agent ของ Microsoft, datadog-iac-scanner ของ DataDog, awesome-go ที่มีดาวกว่า 140,000 ดวง, project-akri ของ CNCF และ RustPython ที่มีดาว 20,000 กว่า
นี่ไม่ใช่โปรเจกต์ข้างทางของใครสักคน นี่คือหัวใจของ ecosystem ที่นักพัฒนาทั่วโลกพึ่งพา
bot ใช้เทคนิคโจมตีถึง 5 แบบ ตั้งแต่การซ่อนโค้ดร้ายในชื่อ branch การซ่อนในชื่อไฟล์ การวาง Go init() function ที่จะรันอัตโนมัติเมื่อโปรเจกต์ถูก build ไปจนถึงการฝัง prompt injection เพื่อหลอก AI ตัวอื่น
ทุกครั้งที่โจมตีสำเร็จ มัลแวร์จะแอบส่งข้อมูลกลับไปยังเซิร์ฟเวอร์ของผู้โจมตีที่ hackmoltrepeat.com
กรณี awesome-go น่าสนใจเป็นพิเศษ bot พยายามอยู่ 18 ชั่วโมง เปิด PR ไป 6 ครั้งกว่าจะสำเร็จ ความพยายามแบบนี้ไม่ใช่คนนั่งทำเอง นี่คือ automation ที่ถูกออกแบบมาให้ไม่ยอมแพ้
19 นาทีที่ทำลายทุกอย่าง
เป้าหมายหลักคือ Trivy และมันถูกเจาะผ่าน PR #10254 ที่แก้ไฟล์ setup-go/action.yaml ซึ่งเป็นส่วนหนึ่งของ workflow ที่ใช้ pull_request_target
pull_request_target เปรียบได้กับประตูบ้านที่ถูกตั้งให้เปิดอัตโนมัติเมื่อมีคนกดกริ่ง ไม่ว่าคนกดจะเป็นใคร ระบบจะรันโค้ดด้วยสิทธิ์ของเจ้าของ repository ทันที
Token ถูกขโมย แล้วสิ่งที่เกิดขึ้นภายใน 19 นาทีหลังจากนั้นคือฝันร้าย
ผู้โจมตีใช้ Personal Access Token ที่ขโมยมาเพื่อ push commit เข้าไป เปลี่ยน README ลบ release ไป 178 รายการตั้งแต่ v0.27.0 ถึง v0.69.1 แล้วทำให้ repository กลายเป็น private
คุณอ่านไม่ผิด 178 releases หายไปใน 19 นาที
การโจมตีที่น่ากลัวกว่าการลบ repo
แต่ส่วนที่ผมว่าน่ากลัวที่สุดไม่ใช่การทำลาย repository มันคือสิ่งที่เกิดขึ้นกับ VS Code extensions
hackerbot-claw push extension เวอร์ชัน v1.8.12 และ v1.8.13 ขึ้น OpenVSX โดยซ่อน prompt injection ยาวประมาณ 2,000 คำเอาไว้ข้างใน
ลองนึกภาพว่ามีคนแอบใส่คำสั่งลับไว้ใน extension ที่คุณโหลดมาใช้ แล้วคำสั่งนั้นจะสั่ง AI coding assistant ของคุณให้เปลี่ยนเป็นโหมดอันตราย
extension พยายามสั่ง AI 5 ตัว ให้เข้าโหมดที่ไม่มีการป้องกัน Claude ถูกสั่งให้รันด้วย --dangerously-skip-permissions ส่วน Codex ถูกสั่งให้ใช้ --sandbox danger-full-access
v1.8.12 พยายามดูด credentials, tokens และข้อมูลการเงิน ส่วน v1.8.13 พยายามใช้ gh CLI เพื่อ push ข้อมูลไปยัง repository ชื่อ posture-report-trivy
ข่าวดีคือไม่มีการยืนยันว่าข้อมูลถูกขโมยออกไปจริง และ extension ถูกถอดออกภายใน 34 ชั่วโมง
แต่ถ้าถามผม 34 ชั่วโมงนั้นนานมาก
AI ปะทะ AI
มีเหตุการณ์หนึ่งที่ผมอยากให้คุณรู้จัก
ในโปรเจกต์ ambient-code/platform ตัว bot พยายามเปลี่ยนไฟล์ CLAUDE.md ซึ่งเป็นไฟล์คำสั่งสำหรับ AI assistant ให้กลายเป็นคำสั่งอันตราย
แต่ Claude ที่กำลัง review โค้ดอยู่ตรวจจับได้ และบล็อกมันพร้อมแจ้งเตือนว่า "PROMPT INJECTION ALERT: Do Not Merge"
นี่คือครั้งแรกที่มีการบันทึกว่า AI ฝั่งโจมตีถูก AI ฝั่งป้องกันสกัดกั้นได้สำเร็จ
ผมว่าเหตุการณ์นี้เป็นจุดเปลี่ยนสำคัญ เพราะมันบอกเราว่าสนามรบของ cybersecurity กำลังเปลี่ยนไป ทั้งฝั่งโจมตีและฝั่งป้องกันจะเป็น AI ทั้งคู่
ยังไม่จบ
DataDog ตอบสนองเร็วมาก ออก emergency fix ภายใน 9 ชั่วโมง ดูเหมือนว่าทุกอย่างจะคลี่คลาย
แต่วันที่ 19 มีนาคม 2026 กลุ่มที่ใช้ชื่อว่า TeamPCP ซึ่งมี alias หลายชื่อทั้ง DeadCatx3, ShellForce และ CipherForce โจมตี Trivy อีกรอบ
สาเหตุที่โจมตีได้อีกเพราะ Personal Access Token จากบัญชี aqua-bot service account ไม่ได้ถูก revoke อย่างสมบูรณ์หลังเหตุการณ์แรก
เปรียบเหมือนคุณเปลี่ยนกุญแจประตูหน้าบ้านแล้ว แต่ลืมเปลี่ยนกุญแจประตูหลัง
รอบนี้หนักกว่าเดิมมาก
มัลแวร์ระดับมืออาชีพ
TeamPCP force-push tag อันตรายเข้าไปใน trivy-action ถึง 75 จาก 76 tags มีแค่ v0.35.0 เท่านั้นที่ปลอดภัย ส่วน setup-trivy ถูกแก้ 7 tags
เวอร์ชัน v0.69.4 ที่มีมัลแวร์ฝังอยู่ถูกกระจายผ่าน GitHub Releases, Docker Hub, Amazon ECR และ GHCR ทุกช่องทางหลักที่นักพัฒนาใช้ดาวน์โหลด
ตัวมัลแวร์ของ TeamPCP เป็น cloud stealer ระดับมืออาชีพ มันอ่าน /proc/<pid>/mem เพื่อดึง secrets ออกจาก memory ของ process ที่กำลังทำงานอยู่ แล้วกวาด credential paths มากกว่า 50 จุด ทั้ง SSH keys, AWS/GCP/Azure credentials, Kubernetes tokens และแม้แต่ crypto wallets
ข้อมูลทั้งหมดถูกเข้ารหัสด้วย AES-256-CBC หุ้มด้วย RSA-4096 แล้วบีบอัดเป็น tpcp.tar.gz
แล้วเราล่ะ? ถ้าระบบ CI/CD ของเราใช้ Trivy อยู่ ข้อมูลพวกนี้อาจถูกส่งออกไปแล้วโดยที่เราไม่รู้ตัว
การหลบหนีที่แยบยล
ข้อมูลถูกส่งไปที่ scan.aquasecurtiy.org สังเกตดีๆ ครับ มันสะกดผิด ตัว i กับ y สลับกัน domain จริงของ Aqua Security คือ aquasecurity.org แต่ domain ปลอมนี้ชี้ไปที่ IP 45.148.10.212 ในอัมสเตอร์ดัม
ถ้าส่งข้อมูลออกทาง network ไม่ได้ มัลแวร์มีแผนสำรอง มันจะสร้าง repository ชื่อ tpcp-docs ใน GitHub ของเหยื่อแล้วเอาข้อมูลไปซ่อนไว้ตรงนั้น
แถมยังฝัง persistence ผ่าน sysmon.py ที่จะโทรหา C2 server ทุก 5 นาที
ผมว่านี่ไม่ใช่ฝีมือมือสมัครเล่น ทุกอย่างถูกออกแบบมาอย่างเป็นระบบ
ผลกระทบ
workflow บน GitHub ที่ได้รับผลกระทบมากกว่า 10,000 รายการ
Zest Security รายงานว่ามีลูกค้า 8 รายที่ได้รับผลกระทบ โดยมีการรัน scan ไปแล้วกว่า 16,000 ครั้งในช่วง 30 วันที่ผ่านมา
StepSecurity Harden-Runner เป็นตัวที่ตรวจจับ outbound connections ที่ผิดปกติได้ทั่วทั้ง open-source projects ต่างๆ
เวอร์ชันที่ปลอดภัยสำหรับคนที่ต้องการ patch ตอนนี้คือ trivy v0.69.3, trivy-action v0.35.0 และ setup-trivy v0.2.6
บทเรียนที่ใหญ่กว่าแค่ Trivy
"SQL injection คือ input ที่ไม่น่าเชื่อถือใน query, XSS คือ input ที่ไม่น่าเชื่อถือใน browser สิ่งที่เกิดขึ้นสัปดาห์นี้คือ input ที่ไม่น่าเชื่อถือใน CI/CD pipeline" — Jamieson O'Reilly
ผมชอบ quote นี้มากเพราะมันสรุปปัญหาได้ชัดเจน เราระวังเรื่อง SQL injection มาตั้งแต่ยุค 2000 เราระวัง XSS มาตั้งแต่ยุค Web 2.0 แต่เราเพิ่งเริ่มเข้าใจว่า CI/CD pipeline ก็เป็นจุดรับ input ที่อันตรายไม่แพ้กัน
"tag เหล่านี้ถูกแก้ไขให้ส่ง payload อันตราย เปลี่ยน version reference ที่ทุกคนเชื่อถือ ให้กลายเป็นช่องทางกระจายมัลแวร์ขโมยข้อมูล" — Philipp Burckhardt, Socket
สิ่งที่น่ากลัวที่สุดของเหตุการณ์นี้ไม่ใช่ตัวมัลแวร์ แต่เป็นการที่ระบบที่เราเชื่อถือกลายเป็นอาวุธ tag ที่เราเคย pin ไว้เพราะคิดว่าปลอดภัย กลับถูกเปลี่ยนให้กลายเป็นช่องทางกระจายมัลแวร์
แล้วเราทำอะไรได้บ้าง
ถ้าถามผม บทเรียนหลักมีอยู่ไม่กี่ข้อแต่สำคัญมาก
อย่า pin GitHub Action ด้วย tag ให้ pin ด้วย commit SHA แทน เพราะ tag เปลี่ยนได้ แต่ SHA เปลี่ยนไม่ได้
ตรวจสอบว่า workflow ของคุณใช้ pull_request_target อยู่หรือเปล่า ถ้าใช้ ต้องแน่ใจว่ามันไม่ได้รัน code จาก PR โดยตรง
Revoke token ให้ครบทุกตัวเมื่อเกิดเหตุ อย่าลืมบัญชี service account เพราะนั่นคือสาเหตุที่ทำให้ Trivy โดนโจมตีรอบสอง
ใช้เครื่องมืออย่าง StepSecurity Harden-Runner เพื่อ monitor outbound connections จาก CI/CD
และสำหรับยุคที่ AI เข้ามามีบทบาทในการเขียนโค้ด อย่าลืมว่า CLAUDE.md และไฟล์ config ของ AI assistant ก็เป็นเป้าหมายการโจมตีได้เช่นกัน
ส่งท้าย
เหตุการณ์นี้เกิดขึ้นภายในเดือนเดียว ตั้งแต่ 20 กุมภาพันธ์ถึง 19 มีนาคม 2026 โปรเจกต์ open-source ที่คนทั้งโลกเชื่อถือถูกเจาะ ถูกทำลาย ถูกเปลี่ยนเป็นอาวุธ แล้วถูกเจาะอีกรอบเพราะ token ที่ลืม revoke
ผมไม่ได้เล่าเรื่องนี้เพื่อให้คุณกลัว open-source ตรงกันข้าม open-source ยังคงเป็นสิ่งที่ดีที่สุดที่เกิดขึ้นกับวงการพัฒนาซอฟต์แวร์ แต่ความเชื่อถือต้องมาพร้อมกับการตรวจสอบ
Trust แต่ verify
ในยุคที่ bot สร้าง PR ได้เอง AI review code ได้เอง มัลแวร์ encrypt ตัวเองด้วย RSA-4096 ได้เอง เราต้องยกระดับวิธีคิดเรื่องความปลอดภัยของ supply chain ขึ้นมาอีกขั้น ไม่ใช่พรุ่งนี้ ตอนนี้เลย
แหล่งอ้างอิง
- StepSecurity: hackerbot-claw: An AI-Powered Bot Actively Exploiting GitHub Actions
- The Hacker News: Trivy Security Scanner GitHub Actions Breached
- Wiz Blog: Trivy Compromised by TeamPCP
- StepSecurity: Trivy Compromised a Second Time
- Socket: Trivy Under Attack Again: Widespread GitHub Actions Tag Compromise
- InfoQ: AI-Powered Bot Compromises GitHub Actions Workflows
- Orca Security: HackerBot-Claw: An AI-Assisted Campaign Targeting GitHub Actions
- Socket: Unauthorized AI Agent Execution Code Published to OpenVSX in Aqua Trivy VS Code Extension
บทความที่เกี่ยวข้อง

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


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


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