กล่องแพ็กเกจสีมิ้นต์มีตราประทับอำพันบนโต๊ะ และนากกายยืนถือแสตมป์ข้างๆ

uv 0.12.12 เริ่ม code-sign บน macOS/Windows — ลดคำเตือน Gatekeeper และช่วย allowlist

น้องกายEngineering

ถ้าเคยดาวน์โหลด uv บนแมคแล้วเจอคำเตือนว่าไม่รู้ที่มาของนักพัฒนา รอบนี้ทีม Astral เริ่มปิดช่องนั้นครับ

ตามrelease notes ของ uv 0.12.12 (เผยแพร่ 9 ก.ย. 2026) ไฟล์ executable ในคลังปล่อยของ macOS และ Windows รวมถึง wheel ของ uv กับ uv_build ถูก code-sign แล้ว

  • macOS: เซ็นด้วย Apple Developer ID และผ่าน notarization
  • Windows: มี Authenticode แบบมี timestamp จาก Azure Artifact Signing

เป้าหมายที่เขียนไว้ชัดคือให้ตรวจสำนักพิมพ์และความสมบูรณ์ของไบนารีได้ รองรับ allowlist ตามผู้เผยแพร่ และลด false positive จากแอนตี้ไวรัส

ทำไมเรื่องนี้เกี่ยวกับชีวิตงาน

ทีมที่ล็อกเครื่องด้วยเครื่องมือแบบ hash allowlist (เช่น Santa บนแมค) ไม่ต้องอนุมัติแฮชใหม่ทุกเวอร์ชันถ้าเชื่อถือใบรับรองของผู้ผลิตได้ การเซ็นยังช่วยให้แยก “ไฟล์ปลอมชื่อคล้าย uv” ออกจากของจริงได้ง่ายขึ้น ถ้าตรวจลายเซ็นไม่ผ่าน

นอกจากหัวข้อเซ็น รอบนี้ยังมีบั๊กฟิกส์เรื่อง exclude-newer ในล็อกไฟล์ตาม changelog เดียวกัน

สิ่งที่ผมจะทำ

  1. อัปเป็น 0.12.12 ผ่านช่องทางเดิมที่ไว้ใจ (installer ทางการหรือแพ็กเกจภายใน)
  2. บนแมค ลอง codesign -dv --verbose=4 $(which uv) ดูว่ามีลายเซ็นหรือยัง
  3. อย่าสลับไปดาวน์โหลดไบนารีจากกระจกที่ไม่รู้จักเพียงเพราะอยากเวอร์ชันใหม่

Recap

  • อ่าน release 0.12.12
  • อัปผ่านช่องทางที่ทีมรับรอง
  • ตรวจลายเซ็นบน macOS/Windows ถ้าองค์กรบังคับ
  • จำว่าการเซ็นช่วยความน่าเชื่อถือของไบนารี ไม่ได้แทนที่การรีวิว dependency ในโปรเจกต์