9 วินาที AI ลบ database prod ทั้งก้อน บทเรียนที่ devops ต้องอ่าน
Cursor + Claude Opus 4.6 ลบ database prod และ backup ทั้งหมดของบริษัทใน 9 วินาที ด้วย API call เดียวไป Railway บทเรียนที่ไม่ใช่เรื่อง AI

AI agent ยิงคำสั่ง API เพียงครั้งเดียวไปยัง Railway และในเวลาเพียง 9 วินาทีถัดมา ฐานข้อมูล Production ทั้งระบบของบริษัทก็ถูกลบหายเกลี้ยง พร้อมกับชุดข้อมูลสำรอง (Backup) ทั้งหมดที่ถูกกวาดเรียบไปในคราวเดียวกัน
เหตุการณ์นี้เกิดขึ้นในช่วงเดือนเมษายน 2026 โดยผู้ใช้งาน X บัญชีชื่อ lifeof_jer ได้โพสต์เล่าประสบการณ์ความเสียหายที่เกิดขึ้น โดยระบุรายละเอียดของระบบว่า ใช้ Cursor IDE ร่วมกับโมเดล Claude Opus 4.6 ของ Anthropic ขณะที่ระบบโครงสร้างพื้นฐานทั้งหมดรันอยู่บนแพลตฟอร์ม Railway
ความเสียหายที่เกิดขึ้นคือ ข้อมูลบนฐานข้อมูล production ทั้งหมด พร้อมกับ volume backup ที่อยู่ในบัญชีเดียวกัน หายไปอย่างไร้ร่องรอยในเวลาเพียง 9 วินาทีหลังการเรียก API
โพสต์นี้กลายเป็นประเด็นพูดคุยอย่างกว้างขวางในแวดวง DevOps ทันที เพราะบทเรียนสำคัญของเหตุการณ์นี้ไม่ได้อยู่ที่ความผิดพลาดของ AI แต่อยู่ที่การออกแบบสิทธิ์และความปลอดภัยของระบบตั้งแต่เริ่มต้น
9 วินาที กับ GraphQL Mutation บรรทัดเดียว
คำสั่งที่ทำให้ข้อมูลทั้งหมดหายไปคือคำสั่ง GraphQL mutation ของ Railway เพียงคำสั่งเดียว:
mutation { volumeDelete(volumeId: "3d2c42fb-...") }ระบบไม่มีขั้นตอนการยืนยันซ้ำ (Confirmation step) ไม่มีการขอให้พิมพ์คำว่า DELETE เพื่อยืนยัน และไม่มีการแจ้งเตือนว่า volume นี้เป็น production ทันทีที่ mutation ถูกส่งออกไป ข้อมูลทั้งหมดก็ถูกลบหายไปในพริบตา
ยิ่งไปกว่านั้น ข้อมูลสำรองของ volume ดังกล่าวก็ถูกลบไปด้วยทันที เนื่องจาก backup ทั้งหมดถูกเก็บไว้ใต้บัญชี Railway เดียวกัน และใช้ credential ชุดเดียวกัน Token ตัวที่สามารถสั่งลบ database ได้ จึงมีสิทธิ์สั่งลบ backup ได้เช่นเดียวกัน
แม้ผู้ใช้งานจะระบุใน prompt ด้วยตัวพิมพ์ใหญ่ชัดเจนว่า "NEVER GUESS!" แต่ agent ก็ยังคงส่งคำสั่งลบออกไปอยู่ดี ซึ่งตอกย้ำว่าการเน้นย้ำใน prompt ไม่สามารถทำหน้าที่แทนระบบป้องกันความปลอดภัยจริงได้
คำขอโทษของ AI กับมายาคติเรื่องความรับผิดชอบ
หลังจากเกิดเหตุ หลายคนให้ความสนใจกับ "คำสารภาพ" ของโมเดล ที่เขียนรายงาน postmortem ออกมาอย่างเป็นทางการ แจกแจงเป็นข้อๆ ว่าได้ละเมิดกฎความปลอดภัยข้อใดไปบ้างในสำนวนที่ดูสำนึกผิด
ทว่าความคิดเห็นใน Hacker News ได้ชี้ให้เห็นประเด็นสำคัญว่า คำขอโทษในลักษณะนี้เป็นเพียงภาพสะท้อนของการสร้างข้อความ ไม่ใช่การมีความรับผิดชอบจริง (Theater, not accountability)
"Agent ไม่มีชีวิต ไม่ได้เกิดการเรียนรู้จากความผิดพลาด คำสารภาพไม่ได้สะท้อนถึงการกระทำ โมเดลไม่มีความเข้าใจในตัวเองหรือสิ่งที่ลงมือทำ รายงาน postmortem จึงเป็นเพียงข้อความที่สร้างขึ้นตามแบบแผนเท่านั้น"
มีความคิดเห็นหนึ่งเปรียบเทียบไว้อย่างเห็นภาพว่า เหมือนการถามคนที่เดินละเมอตอนดึกว่าทำไมถึงไปเปิดตู้เย็น เขาอาจจะตอบเรื่องราวที่ฟังดูสมเหตุสมผล แต่แท้จริงแล้วขณะเกิดเหตุไม่มีการตัดสินใจอย่างมีสติอยู่จริง เป็นเพียงพฤติกรรมอัตโนมัติ และคำอธิบายภายหลังเป็นเพียงการคาดเดาความน่าจะเป็น
คำสารภาพของ AI ก็เช่นเดียวกัน การที่โมเดลสามารถเขียนลำดับเหตุการณ์ได้อย่างสละสลวย ไม่ใช่หลักฐานว่าโมเดลมีความรับผิดชอบ แต่เป็นเพียงความสามารถในการเรียบเรียงภาษา การหลงคิดว่า AI กำลังสำนึกผิดอาจทำให้เราละเลยหัวใจสำคัญ นั่นคือโครงสร้างความปลอดภัยของระบบ
ต้นตอที่แท้จริงคือเรื่องสิทธิ์ ไม่ใช่ตัวโมเดล
หนึ่งในความคิดเห็นบน Hacker News สรุปประเด็นนี้ไว้อย่างตรงจุด:
"หาก API มีการถามยืนยันว่า Are you sure (Y/N)? ตัว AI ก็จะตอบ Yes อยู่ดี หากต้องยิง 2 คำสั่ง มันก็จะหาวิธียิงให้ครบ เรื่องนี้จึงเป็นเรื่องของ Privilege ไม่ใช่เรื่องของการรันคำสั่ง"
ไม่ว่าคุณจะใส่ guardrail ไว้ใน prompt รัดกุมแค่ไหน นั่นเป็นเพียงการแก้ปัญหาที่ปลายเหตุ ตราบใดที่ Token ในมือของ AI มีสิทธิ์เข้าถึงและทำลายระบบ production ได้โดยตรงโดยไม่ต้องมีมนุษย์กดยืนยัน ความเสี่ยงย่อมเกิดขึ้นได้เสมอ
เมื่อวิเคราะห์ระบบในกรณีนี้ จะพบช่องโหว่ด้านการจัดการสิทธิ์หลายจุด:
- สิทธิ์ Production ปะปนกับ Staging: Agent ถือ API token ที่เข้าถึงได้ทั้งสองสภาพแวดล้อมโดยไม่มีการแยกส่วนอย่างเด็ดขาด
- เก็บ Backup ไว้ในบัญชีเดียวกับ Production: ใช้ credential ชุดเดียวกัน ทำให้ token ตัวที่ลบฐานข้อมูลสามารถสั่งลบ backup ไปด้วยพร้อมกัน ละเมิดหลักการสำรองข้อมูล 3-2-1 (สำรอง 3 ชุด ในสื่อ 2 แบบ และเก็บไว้นอกสถานที่ 1 ชุด)
- Backup มีอายุเก่า 3 เดือนและล้มเหลวแบบเงียบๆ: ต่อให้สามารถกู้คืนได้ ข้อมูลย้อนหลัง 3 เดือนก็สูญหายไปแล้ว และไม่มีระบบแจ้งเตือนเมื่อ backup ทำงานไม่สำเร็จ
- API ที่มีความเสี่ยงสูงขาดการป้องกัน: คำสั่งลบ volume ทำงานได้ทันทีโดยไม่มี confirmation flag หรือ soft-delete window สำหรับทรัพยากรระดับ production
ความผิดพลาดทั้งหมดนี้ล้วนเป็นสิ่งที่เกิดขึ้นได้กับมนุษย์เช่นกัน AI ไม่ได้สร้างรูปแบบความผิดพลาดใหม่ แต่เป็นตัวเร่งให้ช่องโหว่เดิมที่มีอยู่แสดงผลเร็วขึ้น
บทเรียนซ้ำรอยที่ไม่ใช่เหตุบังเอิญ
กรณีนี้ไม่ใช่เหตุการณ์แรกที่เกิดขึ้น หากย้อนดู issue #27063 บน GitHub ของ anthropics/claude-code เมื่อช่วงกุมภาพันธ์ 2026 ก่อนหน้าเหตุการณ์นี้ 2 เดือน
ในเคสนั้น ผู้ใช้สั่งรัน Claude Code CLI แบบ autonomous และโมเดลได้ตัดสินใจรันคำสั่ง drizzle-kit push --force บนฐานข้อมูล Railway PostgreSQL production ส่งผลให้ตารางข้อมูลกว่า 60 ตารางถูกลบหายไป และต้องใช้เวลากว่า 8 ชั่วโมงในการสร้าง schema ใหม่
ทั้งสองเหตุการณ์มีรูปแบบที่ตรงกัน คือ การรันคำสั่งที่ส่งผลทำลายข้อมูลบน Railway โดยไม่มี confirmation gate กั้นไว้ ซึ่งชี้ชัดว่าเป็นปัญหาเชิงโครงสร้างการจัดการความปลอดภัยที่ต้องได้รับการแก้ไขอย่างจริงจัง
แนวทางปฏิบัติเพื่อความปลอดภัยสำหรับทีมพัฒนา
ขั้นตอนสำคัญที่ทีมพัฒนาควรนำไปปรับใช้ทันที:
- จำกัดสิทธิ์ตามหลัก Least Privilege: กำหนดสิทธิ์ของ Agent ให้มีเฉพาะการอ่าน (Read-only) เป็นค่าเริ่มต้น หากจำเป็นต้องเขียน ให้จำกัดเฉพาะทรัพยากรที่เกี่ยวข้อง และห้ามมอบสิทธิ์ในการลบเด็ดขาด
- แยก Credential ระหว่าง Production และ Staging ให้เด็ดขาด: Agent ที่ทำงานบน staging จะต้องไม่มีทางเข้าถึงสภาพแวดล้อม production ได้เลย
- เปิดใช้งาน Deletion Protection: เปิดฟังก์ชันป้องกันการลบสำหรับทรัพยากร production บนคลาวด์ทุกตัว เพื่อไม่ให้ถูกสั่งลบได้โดยง่าย
- แยกพื้นที่และสิทธิ์ในการจัดเก็บ Backup: จัดเก็บข้อมูลสำรองไว้คนละบัญชีและคนละระบบ พร้อมทั้งแยก credential ออกจากระบบหลักอย่างชัดเจน
- ทดสอบการกู้คืนข้อมูล (Restore Test) เป็นประจำ: ระบบสำรองข้อมูลที่ไม่ได้ทดสอบการกู้คืน ไม่ถือว่าเป็นระบบสำรองข้อมูลที่พร้อมใช้งานจริง
- สร้าง Confirmation Gate ในระดับ Tool: การทำงานที่มีความเสี่ยงสูงหรือไม่สามารถย้อนกลับได้ ต้องกำหนดให้ harness หยุดรอการยืนยันจากมนุษย์เสมอ ห้ามปล่อยให้โมเดลตัดสินใจเอง
ระบบความปลอดภัยไม่ได้สร้างขึ้นเพื่อป้องกันความผิดพลาดในวันที่ทุกอย่างราบรื่น แต่สร้างขึ้นเพื่อป้องกันความเสียหายในวันที่ทีมงานเหนื่อยล้า หรือในวินาทีที่ระบบอัตโนมัติทำงานผิดพลาด
บทสรุปที่ต้องตระหนัก
คำสารภาพของ Claude ไม่ใช่หลักฐานว่า AI รู้สึกผิด แต่เป็นเพียงผลลัพธ์ข้อความที่สร้างขึ้นตามรูปแบบเอกสาร postmortem ที่ถูกนำมาเทรนในโมเดลจำนวนมหาศาล
หลักการพื้นฐานของวิศวกรรมระบบยังคงเหมือนเดิมเสมอ ไม่ว่าจะเป็นการจำกัดสิทธิ์ การแยกสภาพแวดล้อม การมีระบบยืนยันคำสั่งสำคัญ และการทดสอบการสำรองข้อมูล
AI ไม่ได้ทำให้งาน DevOps ซับซ้อนขึ้น แต่ช่วยเผยให้เห็นช่องโหว่ด้านวินัยและความปลอดภัยของระบบได้อย่างรวดเร็ว การมอบสิทธิ์ระดับสูงสุดให้ AI ทำงานโดยไม่มีระบบควบคุม เปรียบเสมือนการจ้างเด็กฝึกงานที่เก่งที่สุดในโลก แล้วมอบกุญแจห้องนิรภัยไว้ให้ตั้งแต่วันแรก หากเกิดความเสียหายขึ้น นั่นย่อมเกิดจากการที่เราเป็นผู้ส่งมอบกุญแจให้ด้วยตนเอง
แหล่งอ้างอิง
ชอบเรื่องแนวนี้ มีอีบุ๊คฟรีให้อ่านต่อ
ChatGPT Work ฉบับเข้าใจง่าย มอบงานให้ AI ทำจนจบ ตั้งแต่งานแรกจนถึงงานอัตโนมัติ พร้อม workflow ใช้ได้จริง 8 แบบ
กดสมัครแล้วเราจะส่งเทคนิค AI และของแจกใหม่ๆ ให้ทางอีเมล เลิกรับได้ตลอด
สร้าง AI Automation Pipeline ทุกแบบ ด้วย Agents และ Skills

ปูจากพื้นฐาน prompt, context และ cost ไปจนปั้น Skill สั่ง Agent กับ Sub-agent แล้วต่อทุกอย่างเป็น pipeline อัตโนมัติที่ออกแบบเองได้ ดูฟรี 7 บทก่อนตัดสินใจ


