Anthropic ลงทุน 1.5 ล้านดอลลาร์ใน PSF (Python Software Foundation) และร่วมมือเสริมความปลอดภัยให้ PyPI
(pyfound.blogspot.com)สรุป:
- Anthropic ทำข้อตกลงความร่วมมือระยะเวลา 2 ปีกับ PSF และลงทุนรวม 1.5 ล้านดอลลาร์สหรัฐ (ประมาณ 2.1 พันล้านวอน) เพื่อความปลอดภัยและความยั่งยืนของระบบนิเวศ Python
- เป้าหมายหลักคือการเสริมความปลอดภัยของซัพพลายเชน PyPI (Python Package Index) โดยมุ่งพัฒนาเครื่องมือ
automated proactive reviewสำหรับตรวจสอบอัตโนมัติเชิงรุกขณะอัปโหลดแพ็กเกจ - มีแผนสร้างชุดข้อมูลมัลแวร์ที่ทราบอยู่แล้ว เพื่อออกแบบเครื่องมือความปลอดภัยบนพื้นฐานของการวิเคราะห์ความสามารถ (
capability analysis) และจะขยายไปยังระบบนิเวศโอเพนซอร์สอื่นด้วย
สรุปรายละเอียด:
-
ภาพรวมการลงทุนและที่มา
Anthropic ผู้พัฒนาโมเดล AI อย่าง Claude ได้ทำความร่วมมือระยะเวลา 2 ปีกับ Python Software Foundation (PSF) และบริจาคเงิน 1.5 ล้านดอลลาร์สหรัฐ นี่สะท้อนการยอมรับถึงความสำคัญของ Python ในฐานะ 'lingua franca (ภาษากลาง)' ของการพัฒนา AI และเงินทุนดังกล่าวจะถูกใช้เพื่อยกระดับความปลอดภัยและความยั่งยืนของระบบนิเวศ Python โดยรวม -
นวัตกรรมด้านความปลอดภัยโอเพนซอร์ส: การป้องกันซัพพลายเชนของ PyPI
หัวใจสำคัญของการลงทุนคือการยกระดับความปลอดภัยของ CPython และ PyPI
- เปลี่ยนสู่การตรวจสอบเชิงรุก (Proactive Review): ก้าวออกจากแนวทางเดิมที่เป็นการตอบสนองภายหลัง (
reactive) ไปสู่การพัฒนาเครื่องมือใหม่ที่สามารถตรวจสอบแพ็กเกจทั้งหมดที่อัปโหลดขึ้น PyPI แบบอัตโนมัติก่อนล่วงหน้า - แนวทางทางเทคนิค: เพื่อสิ่งนี้ จะมีการสร้างชุดข้อมูลมัลแวร์ที่ทราบอยู่แล้วขึ้นใหม่ และออกแบบเครื่องมือตรวจจับโดยอาศัย
capability analysis - ความสามารถในการขยายสู่ระบบนิเวศอื่น: ผลลัพธ์ของโครงการนี้จะไม่จำกัดอยู่แค่ Python แต่จะถูกออกแบบให้สามารถนำกลับไปใช้กับคลังแพ็กเกจโอเพนซอร์สอื่น ๆ (เช่น npm, Cargo เป็นต้น) ได้ เพื่อยกระดับความปลอดภัยของระบบนิเวศโอเพนซอร์สโดยรวม
-
การเชื่อมโยงกับโรดแมปเดิม
งานเสริมความปลอดภัยครั้งนี้จะต่อยอดจากโรดแมปความปลอดภัยเดิมของ Seth Larson ซึ่งเป็น Security Developer in Residence ของ PSF ที่ได้รับการสนับสนุนจากโครงการ Alpha-Omega และ Mike Fiedler วิศวกรด้านความปลอดภัยและความมั่นคงของ PyPI โดยเงินทุนจาก Anthropic จะถูกนำไปใช้เพื่อเร่งโรดแมปของพวกเขา -
การสนับสนุนโครงสร้างพื้นฐานหลักและชุมชนของ Python
เงินลงทุนนี้ยังจะช่วยสนับสนุนงานดำเนินงานหลักของ PSF นอกเหนือจากเรื่องความปลอดภัย
- สนับสนุนโปรแกรม
Developer in Residenceที่ขับเคลื่อนการพัฒนา CPython - สนับสนุนเงินช่วยเหลือชุมชน (Grants) และการดำเนินงานของโครงการต่าง ๆ
- รองรับค่าใช้จ่ายในการบำรุงรักษาและการดำเนินงานของโครงสร้างพื้นฐานสำคัญ เช่น PyPI
4 ความคิดเห็น
"เครื่องมือด้านความปลอดภัยที่อิงกับการวิเคราะห์ความสามารถ (capability analysis)" คืออะไรหรือ?
ผมเลยลองให้ Gemini ช่วยอธิบายดูเหมือนกันครับ ผมเองก็ไม่ได้ดูแลงานด้านความปลอดภัยโดยตรงเลยไม่ค่อยรู้เหมือนกัน
[รายงานเชิงลึก: เทคโนโลยีความปลอดภัยยุคถัดไปที่ PyPI และ OpenSSF กำลังจับตาอย่าง
Capability Analysis]ในช่วงหลังมานี้ การโจมตีแบบ supply chain ที่คุกคามระบบนิเวศโอเพนซอร์สมีความซับซ้อนมากขึ้น ทำให้ PyPI (Python Package Index) และ OpenSSF (Open Source Security Foundation) เร่งผลักดันการนำ
Capability Analysis(การวิเคราะห์ความสามารถ/ศักยภาพ) มาใช้ แทนการพึ่งพาวิธีจับคู่แพตเทิร์นแบบเดิมเพียงอย่างเดียวหัวใจสำคัญของเทคโนโลยีนี้คือ การมองทะลุให้ได้ว่าแพ็กเกจ “ทำอะไรได้จริง” ไม่ใช่แค่ “แสร้งว่าเป็นอะไร”
Capability Analysis(การวิเคราะห์ความสามารถ) คืออะไร?ถ้าเปรียบการสแกนไวรัสแบบเดิมเป็นการตรวจเทียบกับ “รายชื่อผู้ต้องหา” (signature ของมัลแวร์ที่รู้จักแล้ว)
Capability Analysisก็คือการตรวจสอบ “ความสามารถในการกระทำ” ของแพ็กเกจโดยตรงไม่ว่าแพ็กเกจจะปลอมตัวเป็นยูทิลิตีปกติเพียงใด ถ้าต้องการยึดระบบหรือขโมยข้อมูล ก็จำเป็นต้องใช้ทรัพยากรบางอย่างของระบบปฏิบัติการอยู่ดี เช่น เครือข่าย ไฟล์ หรือโปรเซส เทคโนโลยีการวิเคราะห์นี้จะติดตามว่าเมื่อแพ็กเกจรันโค้ด มันมีการใช้ “สิทธิ์อ่อนไหว (
Capabilities)” ต่อไปนี้หรือไม่Exfiltration) หรือพยายามสื่อสารภายนอกหรือไม่?/etc/passwdหรือไม่?eval,exec) เพื่อแตกโปรเซสลูกหรือไม่?ปัจจุบัน ในโครงการของ OpenSSF และกลุ่มวิจัยด้านความปลอดภัย มีการพัฒนาและนำเครื่องมือต่อไปนี้ไปใช้ใน pipeline เพื่อทำการวิเคราะห์ลักษณะนี้
A. OpenSSF Package Analysis (โครงการทางการ)
- ภาพรวม: เป็นโครงการที่ OpenSSF เป็นผู้ผลักดัน โดยจะนำแพ็กเกจจาก PyPI หรือ NPM มาติดตั้งและรันจริงในสภาพแวดล้อม sandbox ที่แยกออกมา
- หลักการทำงาน: ดักจับ system call ที่เกิดขึ้นระหว่างการรันของแพ็กเกจในระดับเคอร์เนล เพื่อเก็บข้อมูลพฤติกรรม เช่น “แพ็กเกจนี้พยายามเชื่อมต่อไปยัง 192.168.x.x ระหว่างการติดตั้ง”
- เทคโนโลยีที่ใช้: ใช้ gVisor (sandbox), Strace (ติดตาม system call) เป็นต้น
B. Packj
- ภาพรวม: เป็นเครื่องมือที่พัฒนาจากงานวิจัยในภาควิชาการ (เช่น Georgia Tech) และเชี่ยวชาญด้านการติดแท็ก “ความสามารถเสี่ยง (
Risky Capabilities)” ของแพ็กเกจ- หลักการทำงาน: ใช้ทั้ง static analysis และ dynamic analysis ควบคู่กัน โดยค้นหา sensitive API call ในซอร์สโค้ด และวิเคราะห์ metadata ของแพ็กเกจเพื่อระบุว่าเป็น “แพ็กเกจที่ถูกทิ้งร้าง” หรือเป็น “typosquatting (ปลอมชื่อเลียนแบบ)” หรือไม่
- จุดเด่น: สามารถตรวจจับชุดสิทธิ์ที่ดูผิดปกติได้ เช่น “แพ็กเกจนี้เป็นไลบรารีเสียง แต่กลับมีความสามารถด้านการสื่อสารเครือข่ายและเข้าถึงสมุดรายชื่อ”
C. GuardDog
- ภาพรวม: เป็นเครื่องมือ CLI ที่ Datadog เปิดซอร์สไว้ โดยใช้ Semgrep (เอนจิน static analysis) เพื่อตรวจหารูปแบบที่เป็นอันตราย
- หลักการทำงาน: ระบุรูปแบบโค้ดเชิงฮิวริสติก (
Heuristics) ที่สะท้อน “ฟังก์ชันอันตราย” เช่น โค้ดที่ถูกทำให้อ่านยาก, สคริปต์ขุดเหรียญ, ตัวดาวน์โหลดไฟล์ปฏิบัติการที่ถูกซ่อนไว้ในแพ็กเกจD. Falco & Sysdig
- ภาพรวม: เป็นเครื่องมือด้าน runtime security สำหรับสภาพแวดล้อมแบบ cloud-native
- บทบาท: ใช้เป็นเอนจินสำหรับตรวจจับพฤติกรรมผิดปกติแบบเรียลไทม์เมื่อแพ็กเกจทำงานอยู่ในคอนเทนเนอร์ (เช่น การเปิดเชลล์โดยไม่คาดคิด หรือการอ่านไฟล์สำคัญ)
หากต้องการทำความเข้าใจเทคโนโลยีนี้ให้ลึกขึ้น สามารถดูโครงการต้นฉบับและบทความบล็อกต่อไปนี้ได้
บล็อกทางการของ OpenSSF Package Analysis (ประกาศและอธิบายหลักการ)
https://openssf.org/blog/2022/…
GitHub ของ OpenSSF Package Analysis (ซอร์สโค้ดและสถาปัตยกรรม)
https://github.com/ossf/package-analysis
GitHub ของ Packj (ดาวน์โหลดเครื่องมือและดูความสามารถโดยละเอียด)
https://github.com/ossillate-inc/packj
GitHub ของ GuardDog (เครื่องมือตรวจจับแพ็กเกจอันตรายบน PyPI/NPM ของ Datadog)
https://github.com/DataDog/guarddog
รายงานความปลอดภัยของ PyPI (ขั้นตอนการรายงานและจัดการแพ็กเกจอันตราย)
https://pypi.org/security/
ขอบคุณสำหรับข้อมูลและสรุปที่ละเอียดครับ ตอนแรกผมนึกว่าเป็นอะไรที่คล้ายกับ Capabilities ของ Linux เสียอีก แต่ดูเหมือนว่าจะเป็นแนวทางที่รวมการวิเคราะห์แบบไดนามิกเข้าไปด้วยสินะครับ
เท่าที่ผมเข้าใจ น่าจะเป็นการดึงแพ็กเกจมารันโค้ด แล้วก็แตกไฟล์หรือทำ static analysis, dynamic analysis อะไรทำนองนั้น เพื่อดูว่าโค้ดนั้นทำอะไรอยู่ เพราะส่วนใหญ่มัลแวร์ก็มักจะแพร่กระจายในลักษณะนั้นครับ