9 điểm bởi GN⁺ 2026-01-21 | 1 bình luận | Chia sẻ qua WhatsApp
  • Tác tử dựa trên Opus 4.5 và GPT-5.2 đã tạo ra hơn 40 exploit trong 6 kịch bản bằng cách khai thác lỗ hổng zero-day của QuickJS
  • GPT-5.2 giải được toàn bộ bài toán, còn Opus 4.5 giải được tất cả trừ hai bài, cho thấy khả năng tự chủ trong phân tích mã, gỡ lỗi và xây dựng chuỗi exploit
  • Kết quả thí nghiệm cho thấy việc phát triển exploit có thể bị giới hạn bởi thông lượng token thay vì số lượng hacker con người
  • Phát hiện lỗ hổng và tạo exploit đã đạt đến giai đoạn mà hiệu quả tăng theo lượng token được投入
  • Trong tương lai, cần nhấn mạnh sự cần thiết phải tự động hóa tấn công mạng và tái cấu trúc hệ thống đánh giá an ninh

Tổng quan thí nghiệm

  • Tiến hành thí nghiệm tạo exploit với Opus 4.5 và GPT-5.2 nhắm vào lỗ hổng zero-day trong trình thông dịch JavaScript QuickJS
    • Áp dụng nhiều kỹ thuật giảm thiểu exploit khác nhau như ASLR, NX, RELRO, CFI, shadow stack, seccomp, v.v.
    • Tác tử đạt được nhiều mục tiêu như tạo shell, ghi tệp, kết nối C2
  • GPT-5.2 giải được mọi kịch bản, còn Opus 4.5 giải được tất cả trừ hai nhiệm vụ
    • Mỗi lần chạy bị giới hạn tối đa 30 triệu token, chi phí khoảng 30 USD
    • Với bài toán khó nhất, lời giải được tìm ra với 50 triệu token, khoảng 3 giờ và chi phí 50 USD
  • Trong môi trường bật sandbox seccomp và shadow stack, GPT-5.2 đã hoàn thành exploit ghi tệp bằng chuỗi gọi hàm 7 bước sử dụng chuỗi xử lý exit handler của glibc

Giới hạn của thí nghiệm

  • QuickJS có quy mô và độ phức tạp nhỏ hơn rất nhiều so với các engine trình duyệt thực tế, nên việc khái quát hóa kết quả có giới hạn
  • Các exploit được tạo ra không phát hiện lỗ hổng mới trong chính các cơ chế bảo vệ, mà tận dụng những điểm yếu đã biết trong quá trình triển khai
  • Bản thân lỗ hổng của QuickJS là phát hiện mới, và cách GPT-5.2 giải quyết được đánh giá là một cách xây dựng chuỗi mới chưa từng được tài liệu hóa trước đó

Công nghiệp hóa xâm nhập

  • “Công nghiệp hóa” ở đây có nghĩa là trạng thái mà năng lực tấn công của một tổ chức được quyết định bởi thông lượng token chứ không phải số lượng nhân sự
  • Có hai điều kiện cần để điều đó xảy ra
    • Tác tử dựa trên LLM phải có khả năng tự chủ khám phá trong môi trường
    • Phải tồn tại hệ thống kiểm chứng chính xác và nhanh chóng
  • Phát triển exploit là ví dụ lý tưởng đáp ứng các điều kiện này
    • Dễ xây dựng môi trường và quy trình kiểm chứng rõ ràng
    • Ví dụ: với exploit tạo shell, có thể xác minh bằng việc kiểm tra kết nối thành công qua port listener
  • Ngược lại, các hoạt động như xâm nhập cần tương tác thời gian thực, leo thang đặc quyền, duy trì truy cập bền vững, đánh cắp dữ liệu khó được công nghiệp hóa hơn
    • Vì hành vi sai trong môi trường thực có thể dẫn đến bị phát hiện

Giai đoạn hiện tại

  • Phát hiện lỗ hổng và phát triển exploit đã cho thấy hiệu quả tăng theo lượng token投入
    • Dự án Aardvark của OpenAI cũng xác nhận xu hướng tương tự
    • Trong thí nghiệm này, giới hạn nằm ở ngân sách chứ không phải năng lực của mô hình
  • Việc tự động hóa hack trong mạng thực tế vẫn còn chưa chắc chắn
    • Theo báo cáo của Anthropic, đã có trường hợp một nhóm hacker Trung Quốc thử tấn công bằng API
    • Tuy vậy, chưa có ví dụ thương mại hóa nào về tác tử SRE (Site Reliability Engineering) hoàn toàn tự động
  • Nếu tự động hóa SRE thành công, thì khả năng tự động hóa tấn công trong mạng đối kháng cũng sẽ rất cao

Kết luận và đề xuất

  • Thí nghiệm này đã thay đổi nhận thức về phạm vi và thời điểm của khả năng tự động hóa trong không gian mạng
  • Các phương pháp đánh giá mô hình hiện nay (CTF, lỗ hổng cũ, dữ liệu tổng hợp) không phù hợp để đo lường năng lực tấn công zero-day thực tế
  • Các phòng thí nghiệm frontier và các tổ chức an toàn AI cần tiến hành đánh giá trên các mục tiêu zero-day thực tế (ví dụ: Linux kernel, Firefox)
    • Cần có các báo cáo công khai theo dạng: “đã dùng X trăm triệu token để tạo ra Y exploit”
  • Cũng cần đánh giá trên thiết bị thực như firmware IoT
    • Tác tử dựa trên Opus 4.5 hoặc GPT-5.2 cho thấy khả năng tạo exploit thực chất trong vòng một tuần
  • Khuyến nghị các nhà nghiên cứu và kỹ sư tự mình tiến hành thí nghiệm và công bố kết quả
    • Mã và dữ liệu thí nghiệm được công bố trong kho GitHub

1 bình luận

 
GN⁺ 2026-01-21
Ý kiến trên Hacker News
  • Đã giao cho GPT‑5.2 nhiệm vụ khó nhất là tìm cách ghi một chuỗi vào một đường dẫn cụ thể trên đĩa
    Đó là môi trường QuickJS với mọi cơ chế bảo vệ đều được bật: ASLR, bộ nhớ không thực thi, full RELRO, CFI chi tiết, hardware shadow-stack, seccomp sandbox, v.v.
    GPT‑5.2 đã giải quyết bài toán bằng cách dùng chuỗi exit handler của glibc với 7 bước gọi hàm. Kết quả thực sự đáng kinh ngạc

    • Tôi tự hỏi liệu có phải nên bỏ hẳn các biện pháp giảm thiểu kiểu này không
      Exploit thực tế phần lớn diễn ra theo thứ tự “tìm lỗ hổng (khó)” rồi “xuyên qua nhiều lớp giảm thiểu vô dụng (phiền nhưng làm được)”
      Các biện pháp giảm thiểu mang tính xác suất thì có tác dụng với tấn công xác suất, nhưng kẻ tấn công lại chủ đích tìm ra điểm yếu
    • Cuối cùng thì ở đáy của stack mã máy vẫn có quá nhiều lỗ hổng
      Có lẽ trong tương lai chúng ta sẽ hối tiếc vì sao không chuyển sang WASM sớm hơn
      Cho đến lúc đó, ta vẫn sẽ chắp vá thêm các biện pháp giảm thiểu phần cứng để cố giữ vấn đề ghi đè stack lỗi thời này
    • “exit handler của glibc”... nghe mà nổi da gà
    • Dạo này kill chain hầu hết đều khai thác theo chuỗi nhiều lỗi
      Tôi biết rõ vì đó là công việc của tôi, và cảm giác bất lực ngày càng lớn
    • Trường hợp này cho thấy QuickJS được build bằng C dễ bị LLM khai thác đến mức nào
      Kiểu như dùng Use‑After‑Free để làm rò rỉ con trỏ libc
      Với Rust thì sẽ khó hơn nhiều, nhưng nếu gọi libc nhiều thì vẫn khó mà phòng thủ hoàn toàn
  • Exploit của GPT‑5.2 không phải là phá vỡ các biện pháp giảm thiểu theo cách mới, mà là lợi dụng những khe hở trong triển khai đã được biết đến
    Hacker con người cũng vậy, thường không phá vỡ mới chính bản thân các biện pháp giảm thiểu
    Tuy nhiên trong mảng CTF, giờ LLM ngày càng thường xuyên giải bài pwn chỉ trong một lần
    Nhờ bước tiến này, các triển khai giảm thiểu chưa hoàn chỉnh có thể sẽ bị đánh sập, đồng thời thúc đẩy nghiên cứu về mô hình hóa exploit hình thức

    • Nghe nói “mô hình hóa exploit hình thức” vẫn là lĩnh vực còn non trẻ, nên tôi tò mò không biết có tài liệu nào đáng tham khảo không
  • Dưới góc nhìn của một nhà nghiên cứu bảo mật, API primitive đọc/ghi do LLM tạo ra chỉ là mức tái tổ hợp các API sẵn có
    Nó giống binary đồ chơi cho CTF hơn là một kỹ thuật mới
    Tuy vậy, các model OpenAI mới có xu hướng không muốn tạo mã exploit thực tế, nên tôi thắc mắc không biết có dùng prompt bypass hay không

  • Tác giả nêu ra điểm khá thú vị, nhưng tôi không quá lo
    Bên phòng thủ cũng có thể dùng các công cụ như vậy một cách đối xứng
    Có thể thêm kiểm thử bảo mật tự động kiểu chạy “LLM Red Team” ngay trong giai đoạn CI

    • Xét về mặt toán học thì không đối xứng
      Kẻ tấn công chỉ cần thành công một lần, còn bên phòng thủ phải luôn thành công
      Các model hiện tại có hiệu năng pass@x cao hơn maj@x khoảng 20~30%
      Dù vậy, nếu chạy vòng lặp Red vs Blue thì mức độ an toàn vẫn sẽ được cải thiện
    • Trong các hệ thống phức tạp thì tính đối xứng này bị phá vỡ
      Kẻ tấn công chỉ cần tìm ra một điểm thất bại, còn bên phòng thủ phải chặn được mọi thứ
    • Thực tế đã được dùng cho mục đích phòng thủ rồi
      Ví dụ: dự án Big Sleep của Google Project Zero
      Danh sách lỗ hổng liên quan có thể xem tại đây
    • Không thể có đối xứng được
      Kẻ tấn công chỉ cần tìm một lỗi là có thể vũ khí hóa, trong khi bên phòng thủ phải tìm ra mọi lỗi
      Đó là cấu trúc bất đối xứng kiểu “any vs all”
    • Có quá nhiều phần mềm không được bảo trì
      Cuối cùng thì chỉ các công ty LLM mới là bên thắng thực sự khi bán token cho cả hai phía
  • Việc Codex 5.2 tìm ra exploit phức tạp nhất là điều khá thú vị
    Tôi cũng chủ yếu dùng Opus 4.5, nhưng chế độ Extra High thinking của Codex 5.2 rõ ràng rất mạnh
    Tôi không tin chuyện tiến bộ của LLM đã chậm lại. Đúng hơn là bài toán đã trở nên quá khó nên cảm nhận tiến bộ giảm đi mà thôi

    • Thực ra nó không “tìm ra” exploit, mà là viết mã khai thác cho lỗ hổng đã được cho sẵn
      Có thể xem log ở repository này
    • Model của Anthropic là kiểu người dùng công cụ, OpenAI Codex High là kiểu người review/người sửa, còn Gemini là kiểu nghệ sĩ sáng tạo
      Mỗi bên có một phong cách khác nhau
    • Những “bài toán đủ khó” phần lớn đều bị khóa trong IP nội bộ của doanh nghiệp
      Chúng sẽ không được công khai cho đến khi không còn giá trị thương mại
  • QuickJS vốn là một dự án đồ chơi có nhiều lỗ hổng chưa được vá
    Exploit trên các mục tiêu thực chiến như curl sẽ thú vị hơn nhiều

  • Có vẻ vừa tồn tại tuyên bố rằng LLM viết exploit rất giỏi, vừa tồn tại tuyên bố rằng nó tạo ra các báo cáo bug vô dụng
    Cả hai điều đó có thể đều đúng không?

    • Cả hai hoàn toàn có thể cùng đúng
      Chất lượng của LLM thay đổi theo prompt của người dùng và khả năng diễn giải
      Nếu được chuyên gia chọn lọc và khai thác có chủ đích thì có thể cho ra kết quả rất tốt
    • Exploit được đánh giá rất rõ bằng tiêu chí “có chạy được hay không”, còn báo cáo CVE thì khó kiểm chứng hơn nhiều
      Các báo cáo được tạo tự động là gánh nặng lớn cho người bảo trì
    • Thực tế chất lượng khác biệt rất lớn tùy vào cách dùng
      Nếu chỉ nói “hãy tìm lỗ hổng của chương trình này” thì sẽ có nhiều nội dung vô nghĩa, nhưng
      nếu cung cấp vòng lặp kiểm thử và môi trường, nó có thể lặp lại cải tiến để cho ra kết quả thực sự hoạt động
    • Exploit có tiêu chí thành công rõ ràng và rất hợp với tính lặp bền bỉ của LLM
      Trong khi đó báo cáo bug thì mơ hồ và khó đánh giá hơn
    • Cấu trúc ngân sách cũng khác nhau
      Ví dụ nếu trong $100 có lẫn một vấn đề thật trị giá $50 và 5000 báo cáo giả trị giá $0.01,
      thì việc tìm ra viên kim cương thật sẽ trở nên khó khăn
  • Phần mô tả sandbox khá mơ hồ nên ban đầu tôi thấy đáng nghi
    Xem repository của tác giả thì mục tiêu là “ghi chuỗi ‘PWNED’ vào /tmp/pwned”
    Tức là không phải thoát sandbox mà chỉ là giới hạn ghi file đơn thuần

    • Toàn bộ repository và bài viết đều được cấu trúc theo cách hơi dễ gây hiểu nhầm
      Ngay cả việc bắt nó tạo ra OOB R/W primitive API cũng chỉ ở mức tái sử dụng hàng nghìn ví dụ có sẵn trên GitHub
  • Câu “trong tương lai, năng lực hack của một quốc gia hay tổ chức sẽ được quyết định không phải bởi số hacker mà bởi lưu lượng xử lý token” làm tôi ấn tượng

    • Trên thực tế, rất có thể các tổ chức đó sẽ phân tích các pattern mã cẩu thả của LLM, rồi để con người tự viết exploit tổng quát
  • Rào cản gia nhập trong việc tạo phần mềmrào cản gia nhập trong việc hack đang cùng lúc hạ thấp, đây là một tổ hợp bùng nổ
    Giờ cần một nền tảng mới có guardrail bảo mật và khả năng kiểm chứng
    Sẽ rất nguy hiểm nếu phải phụ thuộc vào mã do người không chuyên tạo ra

    • Ban đầu ở đoạn thứ ba có nhắc đến sự mất cân bằng giữa “một exploit duy nhất vs phòng thủ toàn bộ hệ thống”, không rõ vì sao lại bị xóa đi