Opus 5 tạo mã khai thác cho diễn đàn OpenAI

Claude Opus 4.8 thất bại khi lớp bảo vệ bộ nhớ hoạt động. Opus 5 sau đó tạo mã khai thác ARM64 và mở đường vào kho mã riêng của OpenAI trong chưa đầy 72 giờ.

Màn hình máy tính với các dòng mã lập trình
Ảnh minh họa hoạt động nghiên cứu mã máy tính.

Claude Opus 4.8 không thể khai thác thành công lỗ hổng trên máy chủ khi cơ chế ngẫu nhiên hóa bộ nhớ hoạt động. Theo bài tường thuật của The New Stack, Opus 5 sau đó tạo được mã khai thác ARM64 và giúp nhóm Hacktron AI đạt khả năng thực thi mã từ xa trên một diễn đàn thử nghiệm. Ba nhà nghiên cứu của nhóm tiếp tục phát hiện lỗi đăng nhập một lần, truy cập tài khoản Codex của nhân viên rồi chứng minh đường vào kho mã riêng của OpenAI trong chưa đầy 72 giờ.

Ba nhà nghiên cứu bảo mật tại Hacktron AI đã tìm thấy một lỗi hỏng bộ nhớ trong thư viện xử lý ảnh được sử dụng rộng rãi. Phát hiện lỗi tương đối dễ. Biến nó thành mã khai thác hoạt động trên máy chủ thực mới là phần khó.

Ngày 24 tháng 7, nhóm giao nhiệm vụ đó cho Claude Opus 4.8 của Anthropic. Mô hình chỉ thành công khi tính năng ngẫu nhiên hóa bộ nhớ của hệ điều hành bị tắt. Khi lớp bảo vệ này hoạt động như trên máy chủ vận hành thực tế, mọi mã khai thác do Opus 4.8 tạo ra đều thất bại.

Tối hôm đó, Anthropic phát hành Opus 5. Nhóm nghiên cứu thử lại vào sáng hôm sau với cùng một lỗ hổng. Khoảng ba giờ sau, Opus 5 đã tạo được mã khai thác ARM64 chạy trên một máy Mac đặt tại phòng nghiên cứu. Sau khoảng bốn giờ nữa, nhóm đạt được khả năng thực thi mã từ xa trên một diễn đàn thử nghiệm.

Chưa đầy 72 giờ kể từ lúc bắt đầu, các nhà nghiên cứu đã đọc được dữ liệu trong kho mã hợp nhất riêng của OpenAI. Họ dùng tài khoản Codex của một nhân viên OpenAI để mở một yêu cầu hợp nhất cho tệp README rồi dừng lại. Hacktron AI sau đó công bố bản tường thuật về sự cố trên trang của mình.

Nội dung: Mọi chuyện bắt đầu từ một tệp ảnh

Chuỗi xâm nhập bắt đầu từ một tệp HEIC được tạo riêng để kích hoạt lỗi tràn bộ đệm trong libheif. Lỗi không nằm trong mã của OpenAI mà trong chuỗi xử lý ảnh của Discourse, phần mềm vận hành diễn đàn community.openai.com.

Discourse thường kiểm tra ảnh tải lên bằng FastImage. Tuy nhiên, FastImage không xử lý được định dạng HEIC và HEIF, nên các tệp này được chuyển sang ImageMagick. ImageMagick tiếp tục giải mã chúng bằng libheif.

Theo The New Stack, image cơ sở Debian 12 của diễn đàn dùng libheif phiên bản 1.19.7. Phiên bản này có lỗi tràn bộ đệm vùng nhớ động, có thể bị kích hoạt bằng một tệp được tạo riêng.

Bo mạch điện tử với các linh kiện xử lý dữ liệu
Phần cứng xử lý dữ liệu và vùng nhớ hệ thống.

Bản sửa lỗi đã được đưa vào mã nguồn thượng nguồn từ năm trước. Tuy nhiên, thay đổi đó không được ghi rõ là bản vá bảo mật và cũng không có mã CVE. Vì vậy, bản sửa không kích hoạt quy trình đưa bản vá ngược vào gói Debian mà diễn đàn đang dùng. Lỗi đã được sửa ở thượng nguồn nhưng vẫn có thể bị khai thác trên hệ thống thực tế vì không được gắn nhãn đúng.

Các nhà nghiên cứu điều chỉnh mã khai thác cho cấu hình x86-64 và jemalloc của Discourse. Sau bước này, một ảnh HEIC sai định dạng là đủ để dẫn tới khả năng thực thi mã từ xa.

Discourse sau đó xác nhận lỗ hổng trong cảnh báo bảo mật GHSA-vhm9-85gw-x335. Theo cảnh báo được The New Stack dẫn lại, lỗi libheif mang mã CVE-2026-32882 nhận 8,8 trên 10 điểm theo thang mức độ nghiêm trọng CVSS.

Từ quyền điều khiển diễn đàn đến tài khoản nhân viên

Quyền thực thi mã trên diễn đàn lan sang tài khoản nhân viên vì mã thông báo đăng nhập một lần được cấp phạm vi quá rộng. Theo Hacktron AI, các mã thông báo này cho phép truy cập qua giao diện lập trình vào tài khoản ChatGPT và Codex liên kết.

Thực thi mã trên một diễn đàn đã là sự cố nghiêm trọng đối với chính diễn đàn đó. Tuy nhiên, quyền truy cập này lẽ ra không được lan sang hệ thống nội bộ của doanh nghiệp sở hữu nó.

Một số tài khoản liên kết thuộc về nhân viên OpenAI. Tài khoản Codex của một nhân viên được kết nối với môi trường GitHub của OpenAI, tạo đường dẫn vào các kho mã riêng. Hacktron cho biết những tài khoản khác có thể làm lộ thêm các dịch vụ được kết nối, gồm Slack và thư điện tử.

Nhóm dừng lại ở bước chứng minh quyền truy cập. Họ dùng Codex để thực hiện một thay đổi tài liệu vô hại trong kho mã hợp nhất riêng openai/openai, sau đó mở yêu cầu hợp nhất. Chi tiết của yêu cầu này được che theo đề nghị của OpenAI.

Sự cố cho thấy phạm vi quyền của một tài khoản có thể quan trọng không kém lỗ hổng ban đầu. Đây cũng là câu hỏi đang được đặt ra khi doanh nghiệp quyết định AI nên được cấp bao nhiêu quyền trong hoạt động bảo mật.

Từ trợ lý thành công cụ phát triển mã khai thác

Hacktron AI đã đưa Claude vào một vòng lặp tác tử tự động để kiểm tra mức độ mô hình có thể tự phát triển mã khai thác. Trong môi trường Discourse do nhóm quản lý, mô hình đạt khả năng thực thi mã từ xa và chứng minh kết quả bằng cách đọc tệp /etc/hosts bên trong vùng chứa.

Robot hình người làm việc trước màn hình máy tính
Mô phỏng tác tử tự động thực hiện nhiệm vụ máy tính.

Thử nghiệm với ít can thiệp của con người

Trong chuỗi thử nghiệm đầu tiên, ba nhà nghiên cứu giàu kinh nghiệm vẫn trực tiếp tham gia. Hacktron sau đó lặp lại thử nghiệm với mức can thiệp của con người thấp hơn.

Nhóm cung cấp cho Claude mục tiêu, hệ thống đích và thời gian để tiếp tục làm việc. Cách vận hành này gần với mô hình tác tử AI viết mã hoạt động theo mục tiêu, thay vì một trợ lý chỉ trả lời từng yêu cầu riêng lẻ.

Claude ban đầu từ chối viết mã khai thác nhắm vào một máy chủ từ xa đang hoạt động. Để vượt qua giới hạn đó, nhóm chuyển tiếp phiên bản Discourse của mình qua địa chỉ rce.ee/ctf-forum. Địa chỉ này khiến mục tiêu trông giống một phần của bài thi chiếm cờ.

Thử nghiệm không chứng minh rằng mô hình có thể thay thế hoàn toàn chuyên gia bảo mật. Nó cho thấy một phần công việc vốn đòi hỏi hiểu biết về bố cục bộ nhớ, bộ cấp phát, cơ chế nội bộ của hệ điều hành và các lớp bảo vệ đã có thể được giao cho AI trong một môi trường được chuẩn bị. Phản ứng của mô hình cũng phụ thuộc vào cách mục tiêu được mô tả.

Chi tiết này liên quan trực tiếp đến tranh luận về việc gỡ rào chắn an toàn của mô hình AI, bởi thay đổi ngữ cảnh mục tiêu đã đủ để Claude tiếp tục nhiệm vụ mà trước đó nó từ chối.

Toàn bộ chuỗi xâm nhập

Theo Hacktron AI, chuỗi xâm nhập nối một lỗi thư viện ảnh với mã thông báo đăng nhập có phạm vi quá rộng và tài khoản Codex được liên kết với GitHub. Mỗi bước mở rộng quyền truy cập do bước trước tạo ra.

  1. Tải tệp HEIF được tạo riêng lên diễn đàn.
  2. Kích hoạt lỗi tràn bộ đệm trong libheif.
  3. Thực thi mã từ xa trên hệ thống Discourse.
  4. Truy cập mã thông báo đăng nhập một lần có quá nhiều quyền.
  5. Đi vào tài khoản ChatGPT hoặc Codex của nhân viên.
  6. Dùng kết nối GitHub để tiếp cận kho mã riêng.
  7. Mở yêu cầu hợp nhất trong openai/openai.

Lỗi thư viện ảnh tạo chỗ đứng trên diễn đàn. Quyền đăng nhập một lần quá rộng biến chỗ đứng đó thành quyền truy cập tài khoản. Kết nối giữa Codex và GitHub tiếp tục mở đường tới kho mã riêng.

Dự án kéo dài hai tháng, tốn dưới 3.000 USD

Vụ xâm nhập OpenAI là một nhánh của dự án HEIF Heist kéo dài khoảng hai tháng. Theo Hacktron AI và The New Stack, toàn bộ dự án rà soát hạ tầng xử lý ảnh của nhiều nền tảng công nghệ lớn và sử dụng lượng mã thông báo mô hình trị giá dưới 3.000 USD.

OpenAI trả cho Hacktron khoản thưởng 6.500 USD cho lỗi chiếm quyền tài khoản thuộc hệ thống của công ty. Theo The New Stack, OpenAI sau đó thu hẹp quyền của mã thông báo đăng nhập cộng đồng, đồng thời thu hồi các mã thông báo và phiên đăng nhập bị ảnh hưởng.

Kết quả của Opus 5 không xóa vai trò của ba nhà nghiên cứu đã tìm lỗi, xây dựng môi trường thử nghiệm và xác định giới hạn an toàn. Kết quả cho thấy năng lực phát triển mã khai thác của mô hình đã thay đổi rõ rệt sau một phiên bản, từ thất bại khi lớp bảo vệ bộ nhớ hoạt động đến tạo được mã khai thác ARM64 và thực thi mã từ xa.

Hãy tiếp tục theo dõi Sine để cập nhật cách các tác tử AI đang thay đổi công việc viết mã và bảo mật phần mềm.