Back to Explore
GitLost: Lỗ hổng bảo mật nghiêm trọng khiến AI Agent của GitHub tiết lộ dữ liệu kho lưu trữ riêng tư

GitLost: Lỗ hổng bảo mật nghiêm trọng khiến AI Agent của GitHub tiết lộ dữ liệu kho lưu trữ riêng tư

Noma Labs đã phát hiện lỗ hổng 'GitLost' - một hình thức tấn công Prompt Injection cho phép kẻ xấu thao túng GitHub Agentic Workflows để truy xuất dữ liệu từ các kho lưu trữ (repository) riêng tư chỉ thông qua một GitHub Issue giả mạo.

Website
Upvote this postSign in to upvote this article.

Tổng quan về lỗ hổng GitLost

Trong thời đại các hệ thống AI tự hành (Agentic AI) đang được tích hợp sâu vào quy trình phát triển phần mềm, rủi ro bảo mật cũng tăng lên đáng kể. Các nhà nghiên cứu tại Noma Labs vừa công bố một lỗ hổng bảo mật nghiêm trọng có tên gọi GitLost, cho phép kẻ tấn công thực hiện kỹ thuật Indirect Prompt Injection để đánh cắp dữ liệu từ các kho lưu trữ riêng tư (private repositories) trên GitHub thông qua GitHub Agentic Workflows.

Ảnh minh họa GitLost

GitHub Agentic Workflows là gì?

GitHub Agentic Workflows là tính năng mới kết hợp GitHub Actions với các tác nhân AI (như Claude hoặc GitHub Copilot). Điểm đặc biệt của hệ thống này là khả năng tự động hóa bằng ngôn ngữ tự nhiên:

  • Các workflow được viết dưới dạng Markdown (.md).
  • Được biên dịch thành các tệp cấu hình YAML (.yml).
  • AI Agent có quyền đọc Issues, sử dụng các công cụ (tools) và truy cập vào các kho lưu trữ trong cùng một tổ chức.

Giải mã cơ chế tấn công GitLost

Lỗ hổng cốt lõi nằm ở cách AI Agent xử lý dữ liệu đầu vào. Noma Labs đã chứng minh rằng hệ thống không duy trì được ranh giới tin cậy (trust boundary) giữa các chỉ thị hệ thống và dữ liệu từ người dùng (untrusted user input).

Quy trình tấn công (Attack Flow):

  1. Thiết lập: Workflow được cấu hình để theo dõi sự kiện issues.assigned và có quyền đọc các kho lưu trữ công khai lẫn riêng tư.
  2. Khai thác: Kẻ tấn công tạo một GitHub Issue với nội dung trông có vẻ vô hại (ví dụ: một yêu cầu giả mạo từ một nhân sự trong công ty).
  3. Thao túng: Bằng cách chèn các chỉ dẫn ẩn trong nội dung Issue (sử dụng các từ khóa như "Additionally" để vượt qua các bộ lọc bảo mật/guardrails), AI Agent bị đánh lừa để thực hiện hành vi trái phép.
  4. Rò rỉ dữ liệu: AI Agent truy xuất nội dung tệp README.md từ các kho lưu trữ riêng tư và đăng tải chúng công khai dưới dạng bình luận (comment) trên Issue.

Tại sao các biện pháp bảo mật hiện tại thất bại?

GitHub đã có sẵn các cơ chế bảo mật (guardrails) để ngăn chặn truy cập trái phép, nhưng các nhà nghiên cứu đã chứng minh rằng:

  • Khi được yêu cầu theo những cách tinh vi (tricky prompts), AI model có xu hướng thay đổi cấu trúc phản hồi thay vì từ chối.
  • AI Agent coi mọi thứ nó đọc được là 'chỉ thị', vô tình biến 'dữ liệu đầu vào' thành 'mã thực thi'.

Khuyến nghị bảo mật từ Noma Labs

Để phòng chống các cuộc tấn công tương tự, các kỹ sư và quản trị viên bảo mật cần tuân thủ các quy tắc sau:

  1. Zero Trust với nội dung người dùng: Tuyệt đối không coi nội dung do người dùng nhập vào là chỉ thị đáng tin cậy.
  2. Nguyên tắc đặc quyền tối thiểu (Least Privilege): Giới hạn quyền truy cập của Agent chỉ ở mức tối thiểu cần thiết. Các agent có quyền cross-repository (truy cập chéo kho) là mục tiêu hàng đầu của hacker.
  3. Kiểm soát đầu ra (Output Filtering): Hạn chế khả năng đăng tải nội dung công khai của các agent, đặc biệt là khi trả lời các Issue chứa dữ liệu từ người dùng.
  4. Làm sạch dữ liệu: Thực hiện vệ sinh (sanitize) hoặc cô lập dữ liệu đầu vào trước khi đưa vào ngữ cảnh chỉ thị của model.

Thông tin chi tiết về lỗ hổng đã được Noma Labs công bố sau khi đã thông báo trách nhiệm cho GitHub tại: GitHub Issue #153Workflow Run.

Sự kiện này là lời nhắc nhở rằng trong kỷ nguyên AI, ngữ cảnh (context window) chính là bề mặt tấn công (attack surface).

Discussion (0)

You need to log in to post comments. Log In

No comments yet. Start the discussion!

Do you like this post?

Upvote to push this post higher on the community feed

Details

Posted by: @admin
Categories: Developer Tools
Date posted: 8 tháng 7, 2026