
ที่มาภาพ: The Register
นักพัฒนา Python หลีกเลี่ยงการโจมตีซัพพลายเชนด้วยสัญชาตญาณและ AI
⚡ สรุป 30 วิ
Roman Imankulov นักพัฒนา Python รับข้อเสนองานปลอมบน LinkedIn แต่ด้วยสัญชาตญาณและระบบ AI code‑vetting หยุดรันโค้ดที่ซ่อน backdoor…
นักพัฒนา Python ชื่อ Roman Imankulov เพิ่งหลุดพ้นจากการโจมตีแบบซอฟต์แวร์ซัพพลายเชนที่มาจากการรับข้อเสนองานปลอมบน LinkedIn โดยอาศัยทั้งสัญชาตญาณของมนุษย์และระบบ AI code‑vetting ซึ่งเตือนให้หยุดการทำงานของโค้ดที่เป็นอันตราย การเปิดเผยกรณีนี้ให้เห็นถึงความเสี่ยงใหม่ของการใช้เครื่องมือพัฒนาอัตโนมัติในกระบวนการตรวจสอบโค้ด
Overview
Imankulov ได้รับข้อความจากผู้ที่อ้างว่าเป็นผู้สรรหาพนักงานของสตาร์ทอัพคริปโตขนาดเล็กบน LinkedIn โดยอธิบายว่าต้องการความช่วยเหลือในการแก้ปัญหาโค้ด proof‑of‑concept ที่ไม่ทำงาน ผู้สรรหานี้ได้ขอให้เขาตรวจสอบโมดูล Node ที่ถูกยกเลิกใช้งานแล้ว การสนทนานี้ทำให้ Imankulov สังเกตเห็นความผิดปกติบางอย่างจากประสบการณ์กับการโจมตีแบบคล้ายคลึงในอดีต
ตามที่ Imankulov บรรยายในบล็อกโพสต์ของเขา เขาเลือกที่จะสร้าง VPS บน Hetzner เพื่อคลอนรีโพสิตอรีที่ได้รับและทำการวิเคราะห์โดยไม่ให้โค้ดทำงานจริง การตัดสินใจนี้เป็นการเพิ่มชั้นความปลอดภัยเพิ่มเติมก่อนที่จะดำเนินการใด ๆ บนเครื่องของตนเอง
AI‑Powered Vetting
Imankulov ใช้ “Pi coding agent” ที่ทำงานบนโมเดล Codex เพื่อทำการวิเคราะห์โค้ดในโหมดอ่าน‑อย่าง‑เดียว (read‑only) ระบบ AI ให้ผลลัพธ์ในทันทีว่าไฟล์หนึ่งในรีโพสิตอรีควรหลีกเลี่ยงและไม่ควรรัน เนื่องจากมี “กับดัก” ปิดบังอยู่
เขาอธิบายว่า “ฉันคาดว่า AI จะบอกว่าโค้ดดูแย่แต่ปลอดภัย” แต่แทนที่จะเป็นเช่นนั้น AI ได้แจ้งว่า “Don’t run this code, just walk away” อย่างรวดเร็ว การตอบสนองนี้ทำให้ Imankulov หยุดการดำเนินการและทำการตรวจสอบต่อไปโดยละเอียด
ตามข้อมูลที่ได้จาก Imankulov ระบบ AI ยังสามารถชี้ให้เห็นถึงช่องโหว่ที่มนุษย์มองข้ามได้ – ในกรณีนี้คือไฟล์ app/test/index.js ที่ซ่อน backdoor ไว้ภายใน
Technical Details of the Backdoor
ไฟล์ app/test/index.js มีโค้ดที่ประกอบด้วย URL ของเซิร์ฟเวอร์ซึ่งถูกแยกเป็นส่วนย่อย ๆ ทำให้ดูเหมือนเป็นการกำหนดค่าชุดทดสอบทั่วไป แต่จริง ๆ แล้วเมื่อโค้ดนี้ถูกรัน จะส่งคำขอไปยังเซิร์ฟเวอร์นั้นและทำให้เซิร์ฟเวอร์กำหนดโค้ดใด ๆ ให้ทำงานบนเครื่องของผู้ใช้
นอกจากนี้ไฟล์ package.json ของรีโพสิตอรีมีการกำหนด “prepare” post‑installation hook ซึ่งจะเรียกสคริปต์อันเป็นอันตรายหลังจากการรันคำสั่ง npm install ทำให้ผู้ใช้ที่เพียงแค่ติดตั้งแพคเกจโดยอัตโนมัติอาจเปิดช่องให้โค้ดอันตรายทำงานได้
ตามที่ Devashri Datta ผู้เชี่ยวชาญด้านความปลอดภัยอิสระให้ข้อมูลในอีเมล เธอชี้ว่า การฝังตรรกะการทำงานไว้ใน lifecycle hook ของ npm เป็นเทคนิคที่ไม่ใหม่ แต่ยังคงมีประสิทธิภาพสูง เนื่องจากนักพัฒนามักรัน npm install โดยอัตโนมัติและไม่ตรวจสอบสคริปต์ที่รันในขั้นตอนนี้
Supply Chain Attack Landscape
การโจมตีเช่นนี้เป็นส่วนหนึ่งของกระแสการใช้ social engineering ในซอฟต์แวร์ซัพพลายเชนที่เพิ่มขึ้นอย่างต่อเนื่อง ตัวอย่างล่าสุดคือกลุ่มแฮกเกอร์ที่เชื่อมโยงกับเกาหลีเหนือที่ใช้ข้อเสนองานปลอมเพื่อเข้าถึงบัญชีผู้พัฒนา
LinkedIn เองได้เปิดเผยว่าตั้งแต่มกราคมถึงมิถุนายน 2025 มีการจำกัดบัญชีปลอม 386,000 รายการ ซึ่งเพิ่มขึ้นจาก 266,000 รายการในช่วงหกเดือนก่อนหน้าและจาก 86,000 รายการในช่วงเดียวกันของปี 2021 ตัวเลขเหล่านี้บ่งบอกถึงการเติบโตของบัญชีปลอมที่อาจใช้เป็นเวกเตอร์ของการโจมตี
นักพัฒนาหลายคนได้รายงานว่าแม้จะหลีกเลี่ยงการตกเป็นเหยื่อด้วยการใช้ AI agent แต่ก็ยังคงต้องเผชิญกับความเสี่ยงจากโค้ดที่มาจากแหล่งที่ไม่น่าเชื่อถือ การรับรู้และตรวจสอบอย่างต่อเนื่องจึงเป็นสิ่งสำคัญ
Platform and Tool Responses
เพื่อรับมือกับปัญหาเหล่านี้ ผู้ให้บริการและเครื่องมือพัฒนากำลังปรับเปลี่ยนนโยบายและคุณลักษณะสำคัญ
- npm 12 ที่คาดว่าจะเปิดตัวเดือนหน้า จะตั้งค่า allowScripts ให้เป็น off โดยค่าเริ่มต้น ทำให้สคริปต์ preinstall, install, หรือ postinstall ไม่ทำงานโดยอัตโนมัติ ยกเว้นจะได้รับการอนุญาตอย่างชัดเจนจากโครงการ
- GitHub ซึ่งเป็นผู้ดูแล npm อธิบายว่า “install‑time lifecycle scripts เป็นพื้นผิวการทำงานของโค้ดที่กว้างที่สุดใน ecosystem ของ npm” และมุ่งเน้นให้ผู้ใช้ควบคุมการรันสคริปต์เหล่านี้อย่างระมัดระวัง
นอกจากนี้ LinkedIn ยังคงพัฒนาระบบตรวจจับบัญชีปลอมเพื่อให้ผู้ใช้ได้รับการปกป้องก่อนที่จะมีการติดต่อในลักษณะสังคมเชิงวิศวกรรม
Summary
กรณีของ Roman Imankulov แสดงให้เห็นว่าการใช้ AI ในการตรวจสอบโค้ดสามารถป้องกันการโจมตีซัพพลายเชนได้อย่างมีประสิทธิภาพ พร้อมกับย้ำถึงความสำคัญของการตรวจสอบขั้นตอนการติดตั้งแพคเกจและการปรับปรุงนโยบายของแพลตฟอร์มเพื่อให้สภาพแวดล้อมการพัฒนาปลอดภัยยิ่งขึ้น.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- Python dev saved from disaster by intuition...and AI
- ผู้เขียน
- Unknown
- แหล่ง
- The Register
- วันที่เผยแพร่
- 17 มิถุนายน 2569 เวลา 03:15



