การใช้งาน Codex อย่างปลอดภัยที่ OpenAI
เจาะลึกระบบควบคุม ขอบเขตการทำงาน และระบบติดตามข้อมูลทางไกลที่ OpenAI ใช้ในการกำกับดูเอเจนต์เขียนโค้ดในเวิร์กโฟลว์จริง
ในขณะที่ระบบ AI มีขีดความสามารถเพิ่มสูงขึ้น ระบบเหล่านี้เริ่มปฏิบัติหน้าที่ในฐานะตัวแทนของผู้ใช้มากขึ้นอย่างเห็นได้ชัด ปัจจุบันเอเจนต์เขียนโค้ดสามารถตรวจสอบ Repository รันคำสั่ง และใช้งานเครื่องมือพัฒนาซอฟต์แวร์ต่าง ๆ ได้ด้วยตนเอง ซึ่งล้วนเป็นงานที่เมื่อก่อนมนุษย์ต้องลงมือทำด้วยตัวเองทั้งสิ้น
สำหรับ Codex เราสร้างความสามารถต่างๆ ควบคู่ไปกับกลไกควบคุมเพื่อให้องค์กรนำไปใช้ได้อย่างมั่นใจ ทีมความปลอดภัยต้องมีช่องทางกำกับดูแลการปฏิบัติงานของเอเจนต์ เช่น การกำหนดว่าเข้าถึงอะไรได้บ้าง ต้องมีคนอนุมัติเมื่อใด เชื่อมต่อกับระบบไหนได้บ้าง และมีข้อมูลบันทึกทางไกลอย่างไรเพื่อวิเคราะห์การทำงาน
OpenAI มีวัตถุประสงค์ที่ชัดเจนในการปรับใช้ Codex ไม่กี่ข้อ การควบคุมให้เอเจนต์ทำงานอยู่ภายในขอบเขตทางเทคนิคที่กำหนดไว้ การเปิดทางให้เหล่านักพัฒนาทำงานได้อย่างรวดเร็วในส่วนที่ความเสี่ยงต่ำ และการกำหนดขั้นตอนที่ชัดเจนสำหรับงานที่มีความเสี่ยงสูง นอกจากนี้เรายังจัดเก็บข้อมูลทางไกลจากตัวเอเจนต์โดยตรงเพื่อให้เข้าใจและตรวจสอบย้อนหลังได้ว่าเอเจนต์ทำอะไรไปบ้าง ซึ่งในทางปฏิบัติหมายรวมถึงการจัดการการตั้งค่า การจำกัดการรันคำสั่ง การกำหนดนโยบายเครือข่าย และการเก็บบันทึกข้อมูลจากตัวเอเจนต์เอง
เราปรับใช้ Codex โดยยึดหลักการง่ายๆ คือ ระบบต้องสร้างผลงานได้ดีภายใต้สภาพแวดล้อมที่จำกัดไว้ การทำงานทั่วไปที่มีความเสี่ยงต่ำต้องดำเนินไปได้อย่างราบรื่นไม่มีสะดุด ส่วนการกระทำที่มีความเสี่ยงสูงกว่านั้น ระบบต้องหยุดรอเพื่อให้มีการตรวจสอบก่อนเสมอ
กลไกการอนุมัติและการจำกัดสภาพแวดล้อมหรือแซนด์บ็อกซ์ มีการทำงานที่สัมพันธ์กัน แซนด์บ็อกซ์ทำหน้าที่กำหนดขอบเขตการทำงานทางเทคนิค ทั้งในส่วนของสิทธิ์การบันทึกข้อมูล การเชื่อมต่อเครือข่าย และการคุ้มครองเส้นทางข้อมูลสำคัญ ในขณะที่นโยบายการอนุมัติจะเป็นตัวกำหนดเงื่อนไขที่ Codex จะต้องขออนุญาตก่อนดำเนินการ เช่น เมื่อจำเป็นต้องปฏิบัติงานนอกขอบเขตแซนด์บ็อกซ์ที่กำหนดไว้ โดยผู้ใช้สามารถเลือกอนุมัติเป็นรายกรณี หรืออนุมัติการกระทำประเภทนั้นๆ ตลอดระยะเวลาการใช้งานในเซสชันนั้นได้
สำหรับคำขอที่ข้ามขอบเขตของแซนด์บ็อกซ์ เราใช้โหมดตรวจสอบอัตโนมัติ(เปิดในหน้าต่างใหม่) ซึ่งเป็นฟีเจอร์ที่ช่วยอนุมัติคำขอพื้้นฐานได้ทันทีเมื่อเปิดใช้งาน เพื่อลดความถี่ที่ผู้ใช้ต้องหยุดกดอนุมัติการทำงานของ Codex Codex จะส่งแผนการทำงานและบริบทล่าสุดไปให้เอเจนต์ย่อยที่ดูแลการอนุมัติอัตโนมัติ ซึ่งเอเจนต์นี้จะอนุมัติงานที่มีความเสี่ยงต่ำให้เองโดยไม่ขัดจังหวะผู้ใช้ วิธีนี้ช่วยให้ Codex ทำงานประจำต่อไปได้ไม่สะดุด ในขณะที่ยังคงมีการระงับการทำงานในส่วนที่มีความเสี่ยงสูงหรือการกระทำที่อาจส่งผลกระทบที่ไม่ได้ตั้งใจ
เราไม่ได้ปล่อยให้ Codex เข้าถึงเครือข่ายภายนอกได้อย่างอิสระ แต่เราใช้นโยบายเครือข่ายแบบบริหารจัดการที่อนุญาตให้เข้าถึงเฉพาะปลายทางที่กำหนดไว้ บล็อกปลายทางที่เราไม่ต้องการให้ Codex เข้าถึง และกำหนดให้ต้องขออนุมัติก่อนเสมอหากเป็นโดเมนที่ไม่คุ้นเคย วิธีนี้ช่วยให้ Codex ทำงานทั่วไปที่ยืนยันความปลอดภัยแล้วได้จนเสร็จสมบูรณ์ โดยไม่ต้องเปิดสิทธิ์ให้เข้าถึงเครือข่ายเป็นวงกว้าง
เรายังมีการบริหารจัดการระบบการยืนยันตัวตนของ Codex โดยจัดเก็บสิทธิการใช้งาน OAuth ทั้งในส่วนของ CLI และ MCP ไว้ในระบบจัดเก็บรหัสผ่านที่ปลอดภัยของระบบปฏิบัติการ (OS Keyring) พร้อมทั้งบังคับการลงชื่อเข้าใช้งานผ่าน ChatGPT และจำกัดการเข้าถึงให้อยู่ภายในเวิร์กสเปซระดับองค์กรของเราเท่านั้น มาตรการนี้ช่วยให้การใช้งาน Codex เชื่อมโยงกับระบบควบคุมระดับพื้นที่ทำงาน และทำให้กิจกรรมทั้งหมดของ Codex ปรากฏอยู่ในแพลตฟอร์มบันทึกข้อมูลเพื่อการปฏิบัติตามข้อกำหนดขององค์กร
เราใช้กฎเกณฑ์ต่าง ๆ เพื่อไม่ให้ Codex มองว่าคำสั่งเชลล์ทุกคำสั่งมีความปลอดภัยเท่ากัน โดยเราอนุญาตให้ใช้คำสั่งทั่วไปที่วิศวกรใช้ในการพัฒนาซอฟต์แวร์ประจำวันได้ทันทีนอกแซนด์บ็อกซ์โดยไม่ต้องขออนุมัติ ในขณะที่คำสั่งอันตรายบางอย่างอาจถูกบล็อกหรือต้องขออนุมัติก่อน วิธีนี้ช่วยให้ Codex จัดการงานวิศวกรรมทั่วไปได้อย่างรวดเร็ว แต่ยังคงบังคับให้มีการตรวจสอบหรือบล็อกรูปแบบคำสั่งที่เราไม่ต้องการให้รันนอกแซนด์บ็อกซ์
เราใช้มาตรการความปลอดภัยนี้ผ่านการผสมผสานระหว่างข้อกำหนดที่จัดการโดยระบบคลาวด์ การกำหนดค่าที่บริหารจัดการบน macOS และไฟล์ข้อกำหนดเฉพาะภายในเครื่อง โดยข้อกำหนดเหล่านี้เป็นระบบควบคุมที่บังคับใช้โดยผู้ดูแลระบบซึ่งผู้ใช้งานไม่สามารถเปลี่ยนแปลงแก้ไขได้ ทั้งนี้การใช้ค่าที่กำหนดบน macOS และไฟล์ข้อกำหนดในเครื่องช่วยให้เราคงมาตรฐานพื้นฐานให้เป็นไปในทิศทางเดียวกัน ในขณะที่ยังสามารถทดสอบการตั้งค่าที่แตกต่างกันตามรายทีม กลุ่มผู้ใช้ หรือสภาพแวดล้อมการทำงานได้ โดยการตั้งค่าเหล่านี้จะถูกบังคับใช้ในทุกช่องทางของ Codex รวมถึงแอปพลิเคชันบนเดสก์ท็อป เครื่องมือ CLI และส่วนขยาย IDE
การควบคุมเป็นเพียงครึ่งเดียวของงานเท่านั้น เพราะเมื่อติดตั้งใช้งานเอเจนต์แล้ว ทีมรักษาความปลอดภัยยังต้องมองเห็นด้วยว่าเอเจนต์เหล่านี้กำลังทำอะไรและทำไปเพื่ออะไร แม้บันทึกข้อมูลความปลอดภัยแบบดั้งเดิมจะยังคงมีประโยชน์ในการดูการกระทำของ Codex แต่ข้อมูลเหล่านั้นมักบอกได้แค่ว่าเกิดอะไรขึ้น เช่น กระบวนการทำงานเริ่มต้นขึ้น มีการเปลี่ยนแปลงไฟล์ หรือมีความพยายามในการเชื่อมต่อเครือข่าย ทว่าฝ่ายป้องกันยังคงต้องเผชิญกับภาระในการตีความว่าเหตุใด Codex จึงดำเนินการเช่นนั้น หรือเจตนาที่แท้จริงของผู้ใช้คืออะไร
Codex ช่วยให้ทีมรักษาความปลอดภัยมองเห็นภาพรวมการทำงานที่เข้าใจบริบทของเอเจนต์ได้ดีขึ้น โดย Codex รองรับการส่งออกบันทึกข้อมูลในรูปแบบ OpenTelemetry สำหรับเหตุการณ์ต่างๆ เช่น พรอมต์ของผู้ใช้ การตัดสินใจอนุมัติเครื่องมือ ผลการรันเครื่องมือ การใช้งานเซิร์ฟเวอร์ MCP และเหตุการณ์การอนุญาตหรือปฏิเสธการเชื่อมต่อผ่านพร็อกซีเครือข่าย นอกจากนี้ลูกค้ากลุ่มองค์กรและสถานศึกษายังสามารถตรวจสอบบันทึกกิจกรรมของ Codex ได้ผ่านแพลตฟอร์มการปฏิบัติตามข้อกำหนดของ OpenAI อีกด้วย
ที่ OpenAI เราใช้ล็อกของ Codex ควบคู่กับเอเจนต์คัดกรองความปลอดภัยที่ขับเคลื่อนด้วย AI ของเรา เมื่อการแจ้งเตือนของ Endpoint ระบุว่า Codex ทำบางสิ่งผิดปกติ เครื่องมือความปลอดภัยของ Endpoint จะบอกเราว่ามีเหตุการณ์น่าสงสัยเกิดขึ้น จากนั้นล็อกของ Codex จะช่วยอธิบายเจตนาโดยรอบของผู้ใช้และเอเจนต์ เอเจนต์คัดกรองความปลอดภัยด้วย AI ของเราใช้ล็อกของ Codex เพื่อตรวจสอบคำขอต้นฉบับ กิจกรรมของเครื่องมือ การตัดสินใจอนุมัติ ผลลัพธ์ของเครื่องมือ และการตัดสินใจหรืการบล็อกใดๆ ของนโยบายเครือข่ายที่เกี่ยวข้อง เอเจนต์คัดกรองความปลอดภัยด้วย AI จะแสดงการวิเคราะห์ให้ทีมความปลอดภัยของเราตรวจสอบ เพื่อแยกแยะระหว่างพฤติกรรมของเอเจนต์ที่คาดหมายได้ ความผิดพลาดที่ไม่เป็นอันตราย และกิจกรรมที่ควรยกระดับอย่างแท้จริง
เรายังใช้ข้อมูลทางไกลแบบเดียวกันนี้ในแง่ของการปฏิบัติงานด้วย โดยเราใช้บันทึกข้อมูลเหล่านี้เพื่อทำความเข้าใจว่าการนำระบบมาใช้ภายในองค์กรเปลี่ยนแปลงไปอย่างไร มีการใช้เครื่องมือและเซิร์ฟเวอร์ MCP ตัวไหนบ้าง รวมถึงติดตามความถี่ของการปิดกั้นหรือการขออนุมัติจากแซนด์บ็อกซ์เครือข่าย และมีจุดไหนที่ยังต้องปรับจูนการติดตั้งใช้งานเพิ่มเติม ซึ่งเราสามารถรวบรวมบันทึกข้อมูล OpenTelemetry เหล่านี้ไว้ในระบบ SIEM และระบบบันทึกข้อมูลเพื่อการปฏิบัติตามข้อกำหนดได้จากส่วนกลาง
เมื่อเอเจนต์ช่วยเขียนโค้ดอย่าง Codex เข้ามาเป็นส่วนหนึ่งของกระบวนการพัฒนาซอฟต์แวร์ ทีมรักษาความปลอดภัยจึงจำเป็นต้องมีเครื่องมือที่ออกแบบมาเพื่อจัดการกับการเปลี่ยนแปลงนี้โดยเฉพาะ Codex มอบทั้งส่วนประสานงานเพื่อการควบคุม การบริหารจัดการการตั้งค่า ระบบแซนด์บ็อกซ์ และข้อมูลทางไกลที่เข้าใจบริบทของเอเจนต์อย่างละเอียด เพื่อให้มั่นใจว่าการนำมาใช้งานจะเป็นไปอย่างปลอดภัย การมีขีดความสามารถดังกล่าวทำให้ทีมความปลอดภัยเลือกใช้ Codex ได้ด้วยความมั่นใจที่มากขึ้น ซึ่งจะช่วยสร้างจุดสมดุลระหว่างประสิทธิภาพของนักพัฒนากับความโปร่งใสและการควบคุมที่จำเป็นสำหรับความปลอดภัยระดับองค์กร คุณสามารถอ่านข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า Codex ได้ที่นี่(เปิดในหน้าต่างใหม่) และอ่านข้อมูลเกี่ยวกับ API สำหรับตรวจสอบการปฏิบัติตามข้อกำหนดได้ที่นี่(เปิดในหน้าต่างใหม่)


