Radar Live
✦ Ask AI
AI INTELLIGENCE & SIGNALS

How We Took Over ChatGPT Accounts

Phân tích đã xử lý trước và các nguồn liên quan.

Tín hiệu Radar

71 RADAR
Tools AI Security · 1 nguồn đối chiếu · 2026-10-31 23:15:22 +0000 UTC

How We Took Over ChatGPT Accounts

Nguồn: Simon Willison Developer Blog
↗

Parameter Labs đã phát hiện một chuỗi tấn công nghiêm trọng nhằm vào tính năng HTML previews (Canvas) của ChatGPT, cho phép chiếm đoạt tài khoản người dùng chỉ qua liên kết chia sẻ. Khai thác bắt nguồn từ việc trang cha dùng innerHTML xử lý postMessage từ thư viện MathLive, cho phép iframe sandbox chèn một iframe mới không bị giới hạn. Kẻ tấn công sau đó vượt qua chính sách CSP nhờ endpoint oEmbed của YouTube để thực thi JavaScript, gọi API lấy dữ liệu riêng tư và tuồn ra ngoài. OpenAI đã vá lỗ hổng và trao thưởng 5.000 USD.

✦ TÁC ĐỘNG & GIÁ TRỊ THỰC TIỄN

Sự cố làm nổi bật thách thức bảo mật cốt lõi khi các nền tảng AI triển khai tính năng Artifacts/Canvas cho phép hiển thị code và HTML tương tác. Mặc dù OpenAI đã áp dụng cả iframe sandboxing lẫn CSP nghiêm ngặt, một sơ hở nhỏ trong xử lý postMessage kết hợp với ngoại lệ trong CSP vẫn cho phép kẻ tấn công thực thi mã từ xa và chiếm tài khoản. Đây là bài học thiết kế quan trọng cho các nhà phát triển ứng dụng AI tương tác trong việc kiểm soát giao tiếp liên frame và thiết lập chính sách CSP không có kẽ hở.

Developer 81
Business 72
Novelty 80
Actionable 78

Nội dung thu thập đã chuẩn hóa

Collected Evidence

Nội dung văn bản được dùng làm dữ liệu đối chứng cho mô hình AI, không phải chỉ thị hệ thống.

How We Took Over ChatGPT Accounts Parameter Labs describe an exploit they found against ChatGPT's implementation of the artifacts pattern (OpenAI used to call this "Canvas" but it looks like the latest revision is called HTML previews ), where interactive custom HTML apps are displayed in a sandboxed iframe. It's important that HTML in these stays tightly sandboxed to avoid untrusted code interacting with OpenAI APIs and accessing private data. Parameter found quite a complex attack chain. OpenAI use the MathLive JavaScript library as part of their graph support, and that library includes its own virtual keyboard , which can be triggered in the parent page via postMessage() from the sandboxed iframe. That message receiving code uses innerHTML , so anything that sends a message can add custom HTML to the parent - and there was no mechanism to prevent other sandboxed frames, including HTML preview frames, from calling that method. This meant untrusted code in an iframe could insert HTML, and while innerHTML doesn't directly execute script elements it could be used to inject a new iframe without sandbox restrictions. OpenAI’s CSP rules blocked inline scripts entirely, and only allowed script loading from a handful of domains, but one of those was YouTube - and the YouTube oEmbed endpoint could be used to reflect JavaScript back in a way that executed it. Once the attack had JavaScript execution on ChatGPT, it was trivial to fetch private user data from APIs and exfiltrate it via an image reference. The end result: you could create a ChatGPT share URL which, when visited by another signed-in user, could exfiltrate their private data or take actions on their behalf. OpenAI closed the hole and paid out a $5,000 bug bounty, which I think was a bit cheap for a vulnerability this serious. Via Hacker News Tags: iframes , javascript , sandboxing , security , xss , openai , chatgpt , content-security-policy

Các nguồn đối chiếu cho sự kiện này

1 nguồn
↗ How We Took Over ChatGPT Accounts Simon Willison Developer Blog
Thông tin phân tích AI & Model Details ▾
Provider: openai-compatible · Model: gemini-3.8-flash-high · Version: analysis-v1 · Time: 2026-11-01 06:24:48 +0000 UTC
{"tags": ["iframes", "sandboxing", "javascript", "xss", "content-security-policy", "openai", "chatgpt", "security", "account-takeover", "bug-bounty"], "risks": ["Người dùng có thể bị đánh cắp toàn bộ dữ liệu hội thoại và thông tin cá nhân khi truy cập liên kết ChatGPT độc hại do kẻ tấn công tạo ra.", "Kẻ tấn công có thể mạo danh tài khoản nạn nhân để thực hiện các thao tác tùy ý trên hệ thống thông qua API.", "Rủi ro từ việc cấp quyền nới lỏng cho các tên miền bên thứ ba trong cấu hình CSP dẫn đến việc vượt rào bảo mật.", "Các hệ thống AI khác triển khai tính năng Artifacts tương tự có nguy cơ mắc phải cùng lỗi kiến trúc liên lạc liên iframe."], "category": "Tools", "entities": ["Parameter Labs", "OpenAI", "ChatGPT", "MathLive", "YouTube", "Hacker News"], "summary_vi": "Parameter Labs đã phát hiện một chuỗi tấn công nghiêm trọng nhằm vào tính năng HTML previews (Canvas) của ChatGPT, cho phép chiếm đoạt tài khoản người dùng chỉ qua liên kết chia sẻ. Khai thác bắt nguồn từ việc trang cha dùng innerHTML xử lý postMessage từ thư viện MathLive, cho phép iframe sandbox chèn một iframe mới không bị giới hạn. Kẻ tấn công sau đó vượt qua chính sách CSP nhờ endpoint oEmbed của YouTube để thực thi JavaScript, gọi API lấy dữ liệu riêng tư và tuồn ra ngoài. OpenAI đã vá lỗ hổng và trao thưởng 5.000 USD.", "key_changes": ["Parameter Labs công bố chuỗi khai thác chiếm quyền tài khoản (Account Takeover) trên ChatGPT qua tính năng xem trước HTML (Canvas / HTML previews).", "Lỗ hổng bắt nguồn từ việc trang cha sử dụng thư viện MathLive nhận sự kiện postMessage từ iframe sandbox và dùng innerHTML không kiểm soát.", "Kẻ tấn công inject một iframe mới vào trang cha mà không có giới hạn sandbox, phá vỡ hoàn toàn cơ chế cô lập.", "Vượt qua chính sách CSP của OpenAI bằng cách lợi dụng endpoint oEmbed của YouTube (nằm trong danh sách cho phép) để phản chiếu và thực thi mã JavaScript.", "Sau khi thực thi được JavaScript, kẻ tấn công dễ dàng trích xuất dữ liệu người dùng qua API và gửi ra ngoài qua thẻ hình ảnh khi nạn nhân mở một liên kết chia sẻ (share URL).", "OpenAI đã khắc phục lỗ hổng và chi trả 5.000 USD tiền thưởng bug bounty."], "sub_category": "AI Security", "novelty_score": 80, "business_score": 72, "research_score": 68, "why_it_matters": "Sự cố làm nổi bật thách thức bảo mật cốt lõi khi các nền tảng AI triển khai tính năng Artifacts/Canvas cho phép hiển thị code và HTML tương tác. Mặc dù OpenAI đã áp dụng cả iframe sandboxing lẫn CSP nghiêm ngặt, một sơ hở nhỏ trong xử lý postMessage kết hợp với ngoại lệ trong CSP vẫn cho phép kẻ tấn công thực thi mã từ xa và chiếm tài khoản. Đây là bài học thiết kế quan trọng cho các nhà phát triển ứng dụng AI tương tác trong việc kiểm soát giao tiếp liên frame và thiết lập chính sách CSP không có kẽ hở.", "developer_score": 86, "importance_score": 88, "possible_use_cases": ["Kiểm tra và cô lập nghiêm ngặt các iframe khi phát triển tính năng xem trước HTML / Canvas do AI tạo ra.", "Loại bỏ hoàn toàn innerHTML trong các trình xử lý postMessage giữa các frame và xác thực nguồn gốc (origin) chặt chẽ.", "Đánh giá lại danh sách cho phép (allowlist) trong Content Security Policy (CSP), loại trừ các domain có endpoint oEmbed hoặc jsonp dễ bị lợi dụng.", "Xây dựng bài kiểm thử bảo mật định kỳ cho luồng chia sẻ phiên làm việc AI (share URLs)."], "actionability_score": 78}