นักพัฒนา Python หลีกเลี่ยงการโจมตีซัพพลายเชนด้วยสัญชาตญาณและ AI

ที่มาภาพ: The Register

Security-อ่าน 6 นาที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

Related

บทความที่เกี่ยวข้อง

ช่องโหว่วิกฤต Splunk Enterprise ให้รันโค้ดโดยไม่มีการยืนย…Security
15 มิถุนายน 2569 เวลา 20:00

ช่องโหว่วิกฤต Splunk Enterprise ให้รันโค้ดโดยไม่มีการยืนย…

Splunk ปล่อยแพตช์แก้ช่องโหว่ CVE‑2026‑20253 ที่ให้ผู้ไม่ประสงค์ดีรันโค้ดโดยไม่ต้องยืนยันตัวตนและได้คะแนนความรุนแรง 9.8 ผู้ดูแลระบบควรอัปเดตเป็นเวอร์ชัน 10.2.4…

The Hacker News5 นาที
ผู้ป่วย NHS ไม่สามารถเลือกไม่ให้ข้อมูลเข้าสู่แพลตฟอร์ม Pa…Security
15 มิถุนายน 2569 เวลา 15:30

ผู้ป่วย NHS ไม่สามารถเลือกไม่ให้ข้อมูลเข้าสู่แพลตฟอร์ม Pa…

ผู้ป่วยอังกฤษไม่สามารถ opt‑out ข้อมูลจาก Palantir‑built NHS Federated Data Platform ได้ แม้ว่าการใช้เพื่อการวิจัยจะอยู่ภายใต้ National Data Opt‑Out แต่ NHS…

The Register5 นาที
Microsoft Teams กลับมานำ Wi‑Fi Tracking พร้อมการปรับปรุงค…Security
15 มิถุนายน 2569 เวลา 12:30

Microsoft Teams กลับมานำ Wi‑Fi Tracking พร้อมการปรับปรุงค…

Microsoft Teams นำฟีเจอร์ Wi‑Fi tracking กลับสู่ตลาดด้วยการให้ผู้ใช้ควบคุมข้อมูลตำแหน่งเอง หลังจากถูกระงับหลายครั้งเนื่องจากข้อกังวลเรื่องความเป็นส่วนตัว.…

XDA Developers6 นาที
Microsoft ปล่อยแพตช์ความปลอดภัย Windows 10 และ 11 ประจำเด…Security
15 มิถุนายน 2569 เวลา 09:30

Microsoft ปล่อยแพตช์ความปลอดภัย Windows 10 และ 11 ประจำเด…

Microsoft ได้ปล่อยแพตช์ความปลอดภัยสำหรับ Windows 10 และ 11 รอบมิถุนายน 2026 เพื่ออุดช่องโหว่ 200 รายการ รวมถึง Zero-Day 3 ตัว…

DroidSans8 นาที
คัดลอกลิงก์แล้ว!