วิธีปฏิบัติที่ดีที่สุดในการจัดการกับ PRs คือการจัดการกับช่องโหว่ความปลอดภัยใน repo สาธารณะ


22

โครงการโอเพ่นซอร์สที่ควรมีพื้นที่เก็บข้อมูลสาธารณะจัดการกับคำขอดึง (PRs) ที่ดีที่สุดที่อยู่รายงานอย่างปลอดภัย แต่ยังไม่เปิดเผยช่องโหว่ความปลอดภัยสาธารณะ

ฉันเกี่ยวข้องกับโครงการโอเพ่นซอร์สที่มีผู้ร่วมให้ข้อมูลหลายร้อยคน เราเผยแพร่ประกาศเกี่ยวกับความปลอดภัยและช่องโหว่หลายครั้งต่อปีโดยเป็นส่วนหนึ่งของการวางจำหน่ายรายเดือนตามกำหนด เราจะไม่เผยแพร่ข้อมูลเกี่ยวกับช่องโหว่จนกว่าเราจะเผยแพร่เวอร์ชันที่ได้รับการแก้ไข เราสามารถจัดการปัญหาด้านความปลอดภัยได้อย่างปลอดภัยในระบบการจัดการโครงการ (JIRA) แต่เราไม่ได้มีกระบวนการที่ดีในการปิดบัง PRs ที่แก้ไขจุดอ่อนด้านความปลอดภัยเมื่อส่งไปยัง GitHub เรากังวลว่าผู้คนสามารถค้นหาการแก้ไขเหล่านี้ได้ก่อนที่จะเผยแพร่และสร้างการหาประโยชน์ที่ไม่มีวันหยุด

เราได้พิจารณาการใช้ repos ส่วนตัวที่แยก repo หลัก แต่ส่วนใหญ่ของการตรวจสอบของเราในปัจจุบันและเวิร์กโฟลว์ QA เกิดขึ้นใน PRs ถ้าเราย้ายเวิร์กโฟลว์ไปที่ทีมรักษาความปลอดภัยเฉพาะ repo ส่วนตัวซึ่งจะลดหน้าต่างเมื่อการแก้ไขเป็นแบบสาธารณะลงจนถึงเวลาที่ใช้ในการสร้าง tarball และเผยแพร่บน sourceforge ซึ่งจะเป็นการปรับปรุงครั้งใหญ่ นอกจากนี้เรายังอาจต้องหลีกเลี่ยงการรวม PR เข้ากับเบต้าสาธารณะของเรา

ก่อนที่จะไปในทิศทางนั้นฉันต้องการทราบว่าวิธีที่ดีที่สุดในการจัดการแพทช์แก้ไขข้อบกพร่องด้านความปลอดภัยก่อนวางจำหน่ายในโครงการโอเพ่นซอร์สที่มี repos แบบเปิดคืออะไร หากปัญหาสามารถแก้ไขได้ดีขึ้นโดยใช้แพลตฟอร์มอื่นที่ไม่ใช่ GitHub ฉันควรพูดถึงว่าเรากำลังประเมินการโยกย้ายไปยัง GitLab


1
ฉันไม่แน่ใจว่ามีการตั้งค่าวิธีปฏิบัติที่ดีที่สุดหรือไม่ GitLab นั้นเป็น GitHub ส่วนตัว การปรับสมดุลความกังวลของโอเพ่นซอร์สและการแก้ไขความปลอดภัยไม่ใช่เรื่องง่าย การแก้ไขความปลอดภัยของคุณมีกี่คนที่ไม่ได้อยู่ในทีมรักษาความปลอดภัยของคุณ?
Berin Loritsch

ปัญหาส่วนใหญ่มีการรายงานโดยผู้อื่น แต่อาจน้อยกว่าหนึ่งในห้าของการแก้ไขมาจากที่ไม่ได้อยู่ในทีมรักษาความปลอดภัย
Joe Murray

1
ในความเห็นของฉันหากคุณต้องการให้กระบวนการบางส่วนของคุณเป็นแบบส่วนตัวก็ควรทำนอก GitHub (เพราะ GH เป็นสาธารณะ) หลังจากส่วนเฉพาะนี้เสร็จสิ้นและทุกคนตรวจสอบรหัสแล้ว คุณสามารถสร้าง PR บน GH ที่จะถูกรวมเข้าด้วยกันให้เร็วที่สุดเพียงเพื่อ 'คืน' ให้กับกระบวนการอย่างเป็นทางการ คุณสามารถใช้เครื่องมืออื่นเพื่อจัดการข้อยกเว้นเหล่านั้นในกระบวนการ
Emerson Cardoso

2
การเปิดเผยทันทีอย่างสมบูรณ์ (เช่นการเปิดเผยต่อสาธารณชนโดยไม่ล่าช้า) เป็นสิ่งที่ถูกต้องตามกฎหมายอย่างสมบูรณ์แบบ
Miles Rout

1
คำถามนี้ดูเหมือนว่าจะถือว่าตราบใดที่ปัญหาความปลอดภัยไม่ได้ถูกเปิดเผยโดยทีมงาน นั่นไม่จริงเลย ปัญหาด้านความปลอดภัยใด ๆ ที่ค้นพบควรได้รับการสันนิษฐานว่าเป็นที่รู้จักของใครบางคนที่มีเจตนาไม่ดีอยู่ที่ไหนสักแห่ง ทีนี้ถ้าคุณคิดว่ามีคนอื่นรู้เรื่องของปัญหาแล้วและอาจใช้ประโยชน์จากมันคุณจะไม่สามารถเลื่อนการแก้ไขได้อีกต่อไปจนกว่าจะมีการปล่อยรายเดือนตามปกติ คุณต้องปล่อย ASAP นั่นหมายความว่าไม่มีปัญหากับการติดตามการไหลของ PR ปกติ เพียงประชาสัมพันธ์กับสาขาประชาสัมพันธ์ล่าสุดผสานติดแท็กวางจำหน่าย
Jory Geerts

คำตอบ:


1

โพรโทคอลนี้คือการตัดสินใจปัจจัยเสี่ยงในการแสดงช่องโหว่สาธารณะ สำหรับความปลอดภัยที่เกี่ยวข้อง PRs เหล่านั้นจำเป็นต้องอยู่ใน repo ส่วนตัวที่มีเพียงทีมรักษาความปลอดภัยของคุณเท่านั้นที่เห็น สิ่งนี้ยืนโดยไม่คำนึงถึงแพลตฟอร์มที่คุณใช้สำหรับการสร้างและดำเนินการคำขอดึง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.