เฟซบุ๊กเปิดตัวโครงการ Pysa (Python Static Analyzer, อ่านว่าพิซา แบบเดียวกับ Pisa) เป็นซอฟต์แวร์สำหรับวิเคราะห์ความปลอดภัยของโค้ดภาษาไพธอนโดยมุ่งหาเฉพาะช่องโหว่ที่มีความเสี่ยงจริง ไม่ใช่การวิเคราะห์โค้ดไปทั้งหมดจนเกิดการรายงานช่องโหว่เกินความเป็นจริง
กระบวนการของ Pysa อาศัยการป้ายสีข้อมูล (tainted data) ว่าข้อมูลอินพุตที่มีความเสี่ยงจะสร้างเอาท์พุตที่อันตรายกลับไปยังคนร้ายได้หรือไม่ ตัวอย่างเช่น การดึงค่า cookie จาก HTTP request อาจจะมองเป็นแหล่งอินพุตเสี่ยง (source) หากข้อมูลนี้เข้าไปถึงจุดอันตราย (sink) เช่นฟังก์ชั่น eval
หรือ execute
สำหรับรัน SQL ได้ก็แสดงว่าโค้ดมีความเสี่ยง แต่หากผ่านจุดคัดกรองก่อน เช่นฟังก์ชั่น escape
ก็ถือว่าไม่เสี่ยงอีกต่อไป
เฟซบุ๊กใช้ Pysa วิเคราะห์โค้ดของ Instagram เอง และพบว่ามันพบช่องโหว่ 44% ของรายการที่วิศวกรพบเอง และยังมีอัตราการรายงานช่องโหว่ที่ไม่ใช่ช่องโหว่จริง (false positive) อยู่ 45%
Pysa โอเพนซอร์สโดยวางโค้ดเป็นส่วนหนึ่งของ Pyre ระบบตรวจสอบชนิดตัวแปรภาษาไพธอนที่เฟซบุ๊กโอเพนซอร์สมาก่อนหน้านี้ แต่ทางเฟซบุ๊กระบุว่า Pysa เป็นแอปพลิเคชั่นแยกต่างหากที่อาศัยฟีเจอร์ของ Pyre อย่างหนักเท่านั้น
ที่มา - Facebook
ภาพระบบการติดตามข้อมูลจาก source ไปยัง sink ของ Pysa