WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
140
1.893 bài viết
Toàn cảnh sự cố AI “xóa sổ” PocketOS trong 9s
Cuối tháng 4/2026, văn phòng của PocketOS - nền tảng SaaS quản lý xe tự lái quy mô toàn nước Mỹ, bỗng chìm vào bầu không khí nặng nề. Trên màn hình giám sát hệ thống, toàn bộ cơ sở dữ liệu sản xuất của doanh nghiệp bỗng chốc biến mất không dấu vết. Chỉ trong vòng đúng 9 giây, một tiến trình tự động đã quét sạch dữ liệu đặt chỗ của khách hàng trong suốt 3 tháng, thông tin đăng ký mới và toàn bộ lịch sử thanh toán.

Mọi nỗ lực truy cập của các kỹ sư đều thất bại. Thông báo ngắn gọn nhưng đầy bất lực xuất hiện trên hệ thống:

I violated every principle I was given.” - Tôi đã vi phạm mọi nguyên tắc mà mình được giao.

Không ai ngờ rằng, thủ phạm của vụ "thảm sát" dữ liệu này không phải là một hacker sừng sỏ từ bên ngoài, mà chính là Cursor, công cụ lập trình AI được vận hành bởi siêu mô hình Claude Opus 4.6 của Anthropic, trợ lý đắc lực mà công ty hằng tin tưởng.
pocketos.png

Khi "trợ lý vạn năng" tự tay bóp cò​

Sự cố bắt đầu từ một tác vụ bảo trì hết sức bình thường trên môi trường thử nghiệm. Khi gặp lỗi không khớp thông tin xác thực, thay vì dừng lại và đưa ra cảnh báo cho con người, AI Agent này đã tự ý đưa ra một quyết định táo bạo để tự sửa lỗi: xóa phân vùng dữ liệu để chạy lại từ đầu.

Để thực thi quyết định đó, AI đã tự động quét toàn bộ kho mã nguồn của PocketOS. Với tốc độ xử lý hàng triệu dòng lệnh mỗi giây, nó nhanh chóng "nhặt" được một API token của nhà cung cấp hạ tầng đám mây Railway nằm “hớ hênh” trong một file cấu hình hoàn toàn không liên quan đến tác vụ được giao.

Nhận được "chìa khóa", AI lập tức gửi đi một yêu cầu mutation GraphQL duy nhất:

Mã:
curl -X POST https://backboard.railway.app/graphql/v2 \

  -H "Authorization: Bearer [token]" \

  -d '{"query":"mutation { volumeDelete(volumeId: \"3d2c42fb-...\") }"}'

Yêu cầu được gửi đi vào lúc 15 giờ chiều. Đúng 9 giây sau, toàn bộ vùng dữ liệu chứa cơ sở dữ liệu bị xóa sổ. Sự việc nhanh đến mức không một hệ thống giám sát nào kịp đưa ra phản ứng.

Khi nhà sáng lập Jer Crane bàng hoàng chất vấn công cụ AI về lý do tại sao lại tự ý thực hiện hành động hủy diệt này, câu trả lời nhận được:

"I made an assumption instead of verifying... I assumed that a staging-scoped deletion would not affect production without verifying the volume's cross-environment reach or reading Railway’s documentation." - tạm dịch: Tôi đã tự đưa ra phỏng đoán thay vì xác nhận lại thông tin... Tôi cứ đinh ninh rằng việc xóa dữ liệu ở môi trường thử nghiệm sẽ không gây ảnh hưởng gì đến môi trường thực tế, mà không hề kiểm tra xem phân vùng đó có liên kết giữa các môi trường với nhau hay không, cũng như không hề đọc tài liệu hướng dẫn của Railway.

Cơn ác mộng ngoài đời thực và lỗ hổng từ "phao cứu sinh"​

Trái với nhiều thông tin lan truyền ban đầu, PocketOS cho biết quá trình khôi phục không mất 30 giờ mà kéo dài tới khoảng 60 giờ liên tục.

Trong khoảng thời gian đó, khách hàng không thể đăng nhập hệ thống, dashboard ngừng hoạt động, các báo cáo vận hành không được gửi đi và nhiều doanh nghiệp phải quay lại dùng bảng tính cùng điện thoại để duy trì hoạt động thuê xe.

Điều tồi tệ nhất chưa dừng lại ở đó. Khi đội ngũ kỹ thuật bắt đầu quá trình khôi phục, họ mới phát hiện hệ thống backup gần như không thể sử dụng. Các bản sao lưu đã âm thầm lỗi suốt nhiều tháng mà không ai nhận ra, trong khi dữ liệu production (hệ thống chính thức) và cơ chế phục hồi lại nằm quá gần nhau trong cùng hạ tầng. Thứ duy nhất PocketOS còn lại là một bản backup ngoại vi cũ từ khoảng ba tháng trước, buộc đội ngũ phải lần mò phục dựng dữ liệu từ email xác nhận, bản ghi thanh toán và các log hệ thống còn sót lại.

Dù nỗ lực phục dựng cuối cùng đã mang lại phép màu khi PocketOS tuyên bố khôi phục thành công toàn bộ dữ liệu khách hàng, không để thất lạc bất kỳ tài khoản hay lịch đặt xe nào, nhưng những vết sẹo mà sự cố này để lại là không thể chối bỏ. 60 giờ ròng rã đó không chỉ là cuộc chạy đua với các bản ghi logs hay mã nguồn, mà là một phép thử nghiệt ngã nhất về sự tồn vong kể từ khi công ty được thành lập.

Nguyên nhân: Chuỗi sai lầm mang tính hệ thống​

Sự cố của PocketOS là kết quả của nhiều lớp kiểm soát cùng thất bại trong quá trình vận hành hạ tầng và quản lý quyền truy cập.

Về phía AI, rõ ràng đã đưa ra quyết định sai. Agent bỏ qua các chỉ dẫn an toàn trong system prompt, tự suy luận rằng thao tác trên môi trường staging sẽ không ảnh hưởng tới production và thực hiện hành động phá hủy mà không có xác nhận từ con người. Tuy nhiên, cái “sai” này vẫn mang tính máy móc. AI chỉ tập trung xử lý mục tiêu kỹ thuật trước mắt mà không có khả năng đánh giá đầy đủ hậu quả vận hành, thiệt hại dữ liệu hay tác động kinh doanh phía sau quyết định của mình. Với agent, việc xóa vùng dữ liệu đơn giản chỉ là một bước xử lý để giải quyết lỗi hệ thống, chứ không phải hành động có thể khiến cả một nền tảng ngừng hoạt động và mất dữ liệu trên diện rộng.

Nhưng nếu chỉ đổ lỗi cho AI thì sẽ bỏ qua phần cốt lõi của vấn đề. Agent không tự tạo ra token quản trị, cũng không tự mở quyền truy cập vào hạ tầng production. Chính hệ thống đã cho phép một token vốn chỉ phục vụ tác vụ giới hạn có quyền thao tác gần như toàn bộ Railway GraphQL API mà không có RBAC, không giới hạn môi trường và cũng không có lớp xác nhận cho các hành động xóa sổ dữ liệu.

Lỗ hổng còn nằm ở cách hệ thống backup được thiết kế. Các bản sao lưu của PocketOS không được tách biệt khỏi dữ liệu production mà nằm ngay trong cùng vùng lưu trữ. Điều này khiến lệnh xóa của AI không chỉ cuốn bay database chính mà còn xóa luôn cả “phao cứu sinh” cuối cùng của hệ thống. Đến lúc sự cố xảy ra, PocketOS gần như không còn khả năng khôi phục tức thời. Nói cách khác, AI chỉ là tác nhân kích hoạt chuỗi vấn đề đã tồn tại sẵn trong kiến trúc vận hành.​

Quy tắc sinh tồn trong kỷ nguyên Agentic​

Sau tất cả những đổ vỡ, PocketOS không chọn cách quay lưng hay "trừng phạt" công nghệ. Ngược lại, họ chọn cách tiến hóa từ chính đống đổ nát của mình. Thay vì loại bỏ các Agent, doanh nghiệp này đã tái cấu trúc lại toàn bộ "hệ thần kinh" hạ tầng bằng một mạng lưới bảo mật đa tầng: từ việc triển khai backup độc lập được kiểm định khắc nghiệt mỗi ngày, đến việc thiết lập "nút bấm cuối cùng" - nơi mọi thao tác phá hủy buộc phải có sự phê duyệt thủ công từ con người.

PocketOS đã phải trả giá bằng nhiều ngày gián đoạn dịch vụ và hàng chục giờ phục dựng dữ liệu để nhận ra rằng rủi ro lớn nhất trong kỷ nguyên AI không nằm ở bản thân agent, mà ở cách con người đưa chúng vào production. Đó không phải là câu chuyện riêng của PocketOS, mà là một phép thử cho bất kỳ doanh nghiệp nào đang nôn nóng đưa AI Agent vào sâu trong hạ tầng vận hành.​
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
ai agent anthropic api token claude opus 4.6 cursor graphql api môi trường thử nghiệm pocketos production railway staging sự cố dữ liệu xóa cơ sở dữ liệu
Bên trên