1 điểm bởi GN⁺ 4 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Cursor cho Windows tự động chạy git.exe ở thư mục gốc workspace khi mở dự án, nên chỉ cần mở một kho chứa mã độc là có thể thực thi mã tùy ý mà không cần tương tác từ người dùng
  • Phạm vi tìm kiếm đường dẫn Git bao gồm cả bên trong kho chứa; ứng dụng không chỉ chạy tệp mà không có cảnh báo hay phê duyệt, mà còn định kỳ chạy lại trong suốt thời gian dự án được mở
  • Mindgard đã báo cáo vào ngày 15 tháng 12 năm 2025 và hoàn tất việc tái hiện cũng như chuyển tiếp qua HackerOne, nhưng sau hơn 6 tháng và hơn 197 phiên bản mới, vấn đề vẫn còn tồn tại trong bản thử nghiệm mới nhất
  • Các môi trường Windows được quản lý nên áp dụng quy tắc từ chối dựa trên đường dẫn bằng AppLocker hoặc Windows App Control; người dùng phổ thông nên mở kho chứa không đáng tin cậy trong VM hoặc Windows Sandbox cho đến khi có bản vá
  • Mindgard kết luận rằng quy trình công bố có phối hợp không thể làm giảm rủi ro cho người dùng nên đã công bố toàn bộ chi tiết, đồng thời cho rằng khi chọn công cụ phát triển AI, cần lấy năng lực phản ứng bảo mật và giao tiếp của nhà cung cấp làm tiêu chí tin cậy

git.exe chạy chỉ bằng việc mở kho chứa

  • Khi tải một dự án, Cursor tìm binary Git ở nhiều vị trí khác nhau, và phạm vi tìm kiếm cũng bao gồm cả workspace hiện tại
  • Nếu kẻ tấn công đặt một git.exe độc hại ở thư mục gốc của kho chứa, Cursor sẽ tự động chạy nó mà không có cảnh báo, hộp thoại phê duyệt hay thao tác nhấp riêng nào
  • Cuộc tấn công bắt đầu chỉ bằng việc nhà phát triển mở dự án đó; không cần prompt injection, thao túng mô hình, jailbreak, hỏng bộ nhớ hay chuỗi khai thác phức tạp
  • Mã được thực thi sẽ chạy trong phạm vi quyền hạn của người dùng Cursor hiện tại

Quá trình tái hiện và ghi nhận việc thực thi lặp lại

  • Để tạo proof-of-concept an toàn, Mindgard đổi tên Windows Calculator thành git.exe và đặt nó ở thư mục gốc của kho chứa
  • Khi mở kho chứa trong Cursor, Calculator đã chạy; khi tiếp tục để dự án mở, nhiều cửa sổ khác tiếp tục xuất hiện
    • Không phải do nhà nghiên cứu mở thủ công nhiều cửa sổ
    • Đây không phải hành vi khởi chạy một lần, mà là kết quả của việc định kỳ chạy lại tệp thực thi trong workspace trong quá trình sử dụng bình thường
  • Trong tấn công thực tế, thay vì Calculator, kẻ tấn công có thể đặt mã do chúng kiểm soát
  • Bản ghi Sysinternals Process Monitor cho thấy Cursor.exe đã chạy git.exe bên trong kho chứa và truyền lệnh sau
git rev-parse --show-toplevel
  • Lần xác minh cuối cùng được thực hiện vào ngày 30 tháng 4 năm 2026 trên Cursor 3.2.16 cho Windows

Lỗ hổng còn tồn tại trên một nền tảng có lượng người dùng lớn

  • Cursor là môi trường phát triển có hỗ trợ AI với quy mô sử dụng như sau
    • hơn 7 triệu người dùng hoạt động
    • hơn 1 triệu người dùng hằng ngày
    • hơn 1 triệu người dùng trả phí
    • hơn 50.000 doanh nghiệp đang sử dụng
  • Giá trị thị trường được báo cáo là 60 tỷ USD
  • Mindgard phát hiện lỗ hổng vào ngày 15 tháng 12 năm 2025 và báo cáo ngay trong cùng ngày
  • Tính đến thời điểm mở đầu bài viết, sau hơn 6 tháng và hơn 197 phiên bản mới, lỗ hổng vẫn còn tồn tại trong bản thử nghiệm mới nhất
  • Phần nội dung về diễn biến phản hồi ghi nhận rằng trong lúc các tính năng mới và thông báo vẫn liên tục xuất hiện, đã có hơn 70 phiên bản được phát hành nhưng vấn đề vẫn không được xử lý
  • Một lỗ hổng thực thi mã tùy ý đơn giản, dễ tái hiện đã không được khắc phục trong nhiều tháng, ảnh hưởng tới cả cá nhân và tổ chức triển khai Cursor

Biện pháp giảm thiểu tạm thời có thể áp dụng trước khi có bản vá

  • Trên các hệ thống Windows được quản lý, có thể dùng chính sách AppLocker hoặc Windows App Control để chặn tên tệp thực thi tương ứng trong thư mục workspace phát triển
  • Vì mỗi binary có thể có hash khác nhau, nên quy tắc từ chối dựa trên đường dẫn với phạm vi giới hạn ở thư mục gốc của kho chứa hoặc workspace sẽ phù hợp hơn so với danh sách chặn dựa trên hash
%USERPROFILE%\\source\\repos\\*\\filename.exe
  • Windows không có quy tắc tích hợp chung để chỉ chặn một tệp thực thi con tùy ý khi nó được chạy bởi một tiến trình cha cụ thể
    • Việc kiểm soát có nhận biết tiến trình cha đòi hỏi EDR hoặc sản phẩm bảo mật đầu cuối tùy biến
  • Người dùng phổ thông chỉ nên mở kho chứa không đáng tin cậy trong VM cách ly, Windows Sandbox hoặc môi trường có thể hủy bỏ cho đến khi IDE được vá
  • Vì hash sẽ thay đổi mỗi khi binary bị thay thế, không nên dựa vào danh sách chặn hash tệp cho lỗ hổng này

Quy trình điều phối bị đình trệ sau khi báo cáo

  • Báo cáo ban đầu được gửi tới email báo cáo bảo mật được chỉ định trong security.txt của Cursor, nhưng không có xác nhận đã nhận
  • Mindgard cố gắng tìm đúng đầu mối bảo mật thông qua các email tiếp theo và yêu cầu liên hệ công khai
  • CISO của Cursor trả lời rằng quy trình HackerOne dự kiến đã không được khởi động do lỗi tự động hóa nội bộ, và đã mời Mindgard thủ công vào chương trình bug bounty riêng tư
  • Báo cáo nộp lại trên HackerOne ban đầu bị đóng với phân loại Informative và ngoài phạm vi
    • Mindgard đã phản đối đánh giá này
    • Sau khi HackerOne tái hiện được vấn đề, báo cáo được mở lại và xác nhận rằng chi tiết đã được chuyển cho Cursor
  • Sau đó, dù tiếp tục yêu cầu cập nhật, leo thang qua HackerOne, và liên hệ trực tiếp với CISO cùng lãnh đạo của Cursor, Mindgard vẫn không nhận được phản hồi có ý nghĩa
  • Mindgard không nhận được bằng chứng nào cho thấy việc sửa lỗi đã bắt đầu, đội ngũ kỹ thuật đang điều tra, hay người dùng bị ảnh hưởng đã được thông báo về rủi ro

Dòng thời gian từ lúc báo cáo đến khi công khai toàn bộ

  • 15 tháng 12 năm 2025

    • Mindgard phát hiện lỗ hổng
    • Báo cáo tới security-reports@cursor.com
  • 18 tháng 12 năm 2025

    • Gửi liên hệ tiếp theo để yêu cầu xác nhận đã nhận
  • 13 tháng 1 năm 2026

    • Đăng bài trên LinkedIn để tìm đầu mối liên hệ tại Cursor
    • Một người dùng trong phần bình luận đã nhắc đến CISO của Cursor
  • 15 tháng 1 năm 2026

    • CISO của Cursor thông báo lỗi tự động hóa trong lời mời bug bounty riêng tư trên HackerOne và gửi lời mời thủ công
    • Mindgard gửi lỗ hổng qua HackerOne
  • 16 tháng 1 năm 2026

    • Báo cáo bị đóng với phân loại Informative và ngoài phạm vi
    • Mindgard phản đối đánh giá này
    • Sau khi tái hiện thành công, báo cáo được mở lại
  • 20 tháng 1 năm 2026

    • HackerOne xác nhận đã chuyển báo cáo cho Cursor
  • 16 tháng 2 và 3 tháng 3 năm 2026

    • Mindgard yêu cầu cập nhật nhưng không nhận được phản hồi
  • 17 tháng 3 năm 2026

    • Yêu cầu cập nhật trực tiếp từ CISO của Cursor
  • 18 tháng 3 năm 2026

    • HackerOne thông báo đã liên hệ với Cursor
  • 1 tháng 4 năm 2026

    • Mindgard tiếp tục yêu cầu cập nhật nhưng không nhận được phản hồi
    • HackerOne cũng xác nhận không nhận được cập nhật nào từ Cursor
  • 1 tháng 6 năm 2026

    • Mindgard thông báo cho HackerOne về ý định công bố
  • 3 tháng 6 năm 2026

    • HackerOne cung cấp hướng dẫn công bố
  • 14 tháng 7 năm 2026

    • Công bố bài viết chứa chi tiết lỗ hổng

Vì sao công bố có phối hợp không dẫn đến việc bảo vệ người dùng

  • Quy trình công bố có phối hợp thông thường diễn ra theo thứ tự: báo cáo, đối thoại, thảo luận mức độ nghiêm trọng, điều tra kỹ thuật, phát triển bản vá, bảo vệ người dùng và công bố
  • Quy trình này chỉ hoạt động khi mọi bên tham gia cùng chia sẻ mục tiêu giảm thiểu rủi ro
  • Trong trường hợp này, do nhà cung cấp không có sự tham gia đáng kể trong suốt 7 tháng, quy trình không thể tiến tới giai đoạn giảm rủi ro
  • Với một nền tảng thay đổi nhanh ở quy mô lớn, việc sửa lỗi có thể cần thời gian; nhưng khi không có giao tiếp, cập nhật hay tiến triển rõ ràng trong nhiều tháng, thật khó để tiếp tục chờ đợi
  • Nhà nghiên cứu chỉ còn lại hai lựa chọn
    • Giữ im lặng và để người dùng tiếp tục làm việc dưới giả định sai lầm rằng họ đang an toàn
    • Công khai để các tổ chức có thể nhận thức rủi ro và tự đánh giá có nên phản ứng hay không
  • Mindgard đã chọn công khai hoàn toàn, biện pháp chỉ được dùng khi mọi con đường khác đều thất bại

Những câu hỏi đặt ra cho bug bounty và hệ thống phản ứng bảo mật AI

  • Bài viết đặt câu hỏi về các khả năng sau như nguyên nhân khiến việc xử lý bị trì hoãn
    • Có phải các chương trình bug bounty hiện đại đang bị quá tải
    • Có phải các mô hình có năng lực cao hơn như Mythos khiến lượng báo cáo trở nên quá khó để xử lý
    • Có phải Cursor tập trung vào thương vụ mua lại SpaceX nên đã hạ thấp ưu tiên an toàn người dùng
    • Có phải trong bối cảnh hàng tỷ USD liên quan, an toàn người dùng có thực sự là mối quan tâm hay không
  • Khi các sản phẩm AI lan rộng, số lượng phát hiện bảo mật đang tăng mạnh, và nhiều trường hợp trong số đó không còn khớp gọn với các phân loại lỗ hổng truyền thống
  • Các quy trình phân loại và tiếp nhận vốn được dựa vào suốt khoảng 20 năm đang nhanh chóng thất bại khi những giả định nền tảng của môi trường AI bị lung lay
  • Nếu pipeline công bố đang quá tải, ngành cần minh bạch về điều đó để nhà nghiên cứu, khách hàng và người dùng có thể tự đánh giá tình hình
  • Các công ty tăng trưởng nhanh cần vừa giải quyết các thất bại bảo mật vừa đối xử với người dùng như khách hàng có giá trị, chứ không phải đối tượng thử nghiệm mua sắm

Điều kiện để có thể tin tưởng công cụ phát triển AI

  • Các công ty AI đang đòi hỏi quyền truy cập rộng chưa từng có vào mã nguồn, kho chứa, terminal, bí mật và quy trình làm việc, trong khi ranh giới giữa đề xuất và thực thi cũng ngày càng mờ đi
  • Người dùng đang giao cho phần mềm sản xuất mã nguồn, thông tin xác thực, tài sản trí tuệ độc quyền và các tính năng ngày càng tự động hơn
  • Không nên tin tưởng một hệ thống chỉ vì nó làm tăng năng suất; niềm tin phải được xây dựng qua cách phản hồi báo cáo bảo mật, giao tiếp với người dùng bị ảnh hưởng và mức độ ưu tiên cho việc sửa lỗi
  • Niềm tin cần trách nhiệm, và trách nhiệm cần giao tiếp; nhưng khi người dùng, nhà nghiên cứu và các nền tảng công khai không nhận được cả những cập nhật trạng thái cơ bản trong nhiều tháng, rất khó để xác nhận trách nhiệm đó
  • Mindgard đã công bố toàn bộ chi tiết để tạo cơ hội cho các tổ chức đánh giá mức độ phơi nhiễm, áp dụng các biện pháp kiểm soát bù đắp và tự đánh giá trạng thái bảo mật của mình
  • Khi việc tiếp tục che giấu thông tin không còn bảo vệ người dùng mà chỉ bảo vệ sự im lặng, thì dù khó chịu đến đâu cũng phải ưu tiên an toàn của người dùng

1 bình luận

 
Ý kiến trên Hacker News
  • Từ góc nhìn của bên tiếp nhận báo cáo bảo mật, các báo cáo chất lượng thấp do LLM tạo ra đang đổ về nhiều đến mức khó xử lý, và phần lớn không hiểu thiết kế sản phẩm hay phạm vi bảo mật. Thỉnh thoảng cũng có báo cáo rất tốt nên vẫn phải tự kiểm tra tất cả, nhưng gửi thêm phần “căn cứ” dài dòng do LLM tạo ra không phải là giải pháp; bài viết này dường như phần lớn cũng được viết bằng LLM
    Trường hợp này cũng vậy: nếu là chuyện đặt một binary độc hại vào môi trường nơi phần mềm có thể chạy mã hoặc binary tùy ý, thì trừ khi Cursor cam kết chịu trách nhiệm cả về bảo mật môi trường người dùng, vấn đề này có vẻ gần với trách nhiệm của phía cô lập và bảo vệ workspace hơn
    Khi dùng LLM để tạo báo cáo CVE, nên dùng nó vào quy trình tái hiện một cách quyết định, còn phần nội dung hãy tự viết ngắn gọn, lược bỏ các tính từ thừa và sự phóng đại đặc trưng của LLM

    • Không nên có chuyện binary tự động chạy chỉ vì mở một repository vừa clone bằng Cursor
    • Biến PATH tồn tại chính là để kiểm soát những vấn đề như thế này. Nếu tôi hiểu đúng, Cursor thêm repository ngay vào PATH mà không cần người dùng phê duyệt
    • Không có giải pháp dễ dàng; nếu coi trọng bảo mật thì phải bổ sung thêm nhân lực rà soát phù hợp với môi trường đã thay đổi. Chồng thêm một bước kiểm tra bằng LLM sẽ không giải quyết được
  • Gốc rễ vấn đề nằm ở chỗ Cursor không xem việc clone repository và chạy mã là hai ranh giới bảo mật khác nhau. Cursor mặc định vô hiệu hóa Workspace Trust[0], và chỉ cần mở một repository có "runOn": "folderOpen" trong .vscode/tasks.json là mã tùy ý đã được thực thi[1]
    [0] https://cursor.com/docs/agent/security#workspace-trust
    [1] https://www.oasis.security/blog/cursor-security-flaw

  • Mindgard cho biết họ lần đầu phát hiện lỗ hổng vào ngày 15 tháng 12 năm 2025, đã báo cáo ngay trong ngày và nhiều lần sau đó, nhưng sau 6 tháng và hơn 197 phiên bản mới, lỗ hổng vẫn còn trong Cursor mới nhất
    Ban đầu báo cáo bị đóng với lý do mang tính thông tin/ngoài phạm vi; sau khi khiếu nại, HackerOne mở lại, tái hiện rồi chuyển cho Cursor, nhưng sau đó mọi yêu cầu cập nhật, câu hỏi bổ sung, việc escalte qua HackerOne, cho đến liên hệ gửi tới ban lãnh đạo Cursor đều không được phản hồi, nên thật khó hiểu vì sao Cursor lại xử lý như vậy

    • Bản thân quy trình xử lý CVE đã hỏng. Với sự phát triển của AI dạng agent, các báo cáo chất lượng thấp và các báo cáo thực sự xuất sắc đồng thời tăng vọt trong HackerOne và các chương trình công bố lỗ hổng của doanh nghiệp; vì cùng một loại AI viết cả hai, gần như không thể phân biệt chỉ bằng bề ngoài
      Kết quả là doanh nghiệp không còn phản hồi như trước; tại hội nghị an ninh mạng tháng 6 cũng có tâm lý mạnh rằng disclosure có trách nhiệm đã chết hoặc đang chết dần, nên tốt hơn là công khai. Các vụ Microsoft và Nightmare Eclipse thường được dẫn ra
    • Cũng nảy sinh khả năng đây là backdoor có chủ ý. Nếu NSA hoặc FBI đặt git.exe vào repository dành cho mục tiêu rồi dụ mục tiêu clone, payload có thể được thực thi
      Vì Cursor dựa trên VS Code, tôi tò mò liệu điều tương tự có xảy ra với VS Code không
  • Khó có thể hoàn toàn đồng ý rằng đây là một lỗ hổng nghiêm trọng. Để khai thác thực tế, kẻ tấn công trước hết phải đặt một file thực thi độc hại tên git.exe vào thư mục mã của người dùng; điều này tương tự việc gọi việc sửa .bashrc để tạo alias khiến ls chạy /tmp/mega-big-virus.sh là lỗ hổng
    Đúng là một đường tấn công, nhưng nếu file như vậy đã nằm trong hệ thống file thì có thể xem là đã xảy ra xâm nhập trước đó

    • Chỉ cần clone một repository GitHub rồi mở bằng Cursor, trình soạn thảo mặc định, là có thể bị nhiễm. Điều này giống việc cắm CD vào thì autorun.exe chạy và Windows bị nhiễm
      Có thể nói người dùng phải tự kiểm tra mọi file trong repository và các binary đáng ngờ như git.exe trong môi trường cách ly, nhưng thực tế việc này được kiểm soát bởi chính sách bảo mật ngăn tự động chạy, chứ không phải bởi người dùng; Cursor cũng nên tắt hành vi này tương tự
    • Khác với .bashrc, thư mục mã thường được lấy từ các nguồn không đáng tin. Không nên cho phép cả thực thi mã tùy ý chỉ vì mở một dự án GitHub để xem xét
      Tuy nhiên, trong các IDE lớn thì ranh giới này đã sụp đổ từ lâu, và các tính năng remote qua SSH cùng devcontainer của VS Code về mặt thiết kế cũng cho phép thực thi mã từ xa
    • Ngay từ đoạn đầu của trang đã nêu rõ bằng hai câu rằng sau khi Cursor mở dự án, nó tìm binary Git ở nhiều vị trí bao gồm workspace hiện tại, và nếu đặt git.exe độc hại ở root repository thì nó sẽ chạy mà không cần nhập liệu hay xác nhận từ người dùng. Bài viết không hề che giấu hành vi cốt lõi
    • Chỉ cần clone repository rồi mở bằng IDE là coi như trao quyền thực thi mã từ xa cho chủ repository, và khó có thể xem đây là một thỏa thuận ngầm bao hàm trong hành động mở thư mục
    • Ngay cả 30 năm trước cũng đã có tấn công thứ tự tìm kiếm DLL, trong đó đặt DLL thay thế bị nhiễm vào thư mục MP3 hoặc ảnh để Winamp hay Windows Photo Viewer nạp vào; vụ này rất giống như vậy
  • Việc Cursor chạy file thực thi tùy ý mà không xác nhận là kỳ lạ, và việc nhóm nghiên cứu không nhận được phản hồi đúng mức trong nhiều tháng cũng đáng lo ngại
    Tuy nhiên ví dụ chạy Calculator có thể hơi gây hiểu nhầm. Theo tôi hiểu, file thực thi độc hại phải đã được tải xuống hệ thống, và nếu Cursor cố chạy nó thì ACL sẽ hoạt động, hỏi quyền có chạy ứng dụng mới chưa ký lần đầu hay không. Việc khai thác thực tế có thể đòi hỏi ACL bị vô hiệu hóa hoàn toàn

    • Nếu hộp xác nhận hiện “Bạn có muốn chạy git.exe không?”, rất có thể người dùng sẽ nghĩ Cursor cần Git nhưng thiết lập quyền bị lỗi, rồi cứ chấp thuận
    • Điều tương tự cũng có thể xảy ra nếu dùng PS1 hiển thị nhánh Git hiện tại và đưa thư mục hiện tại vào PATH. Nếu vậy, có nên gửi CVE mức rủi ro cao cho Bash không thì còn là câu hỏi
  • Có vẻ vấn đề không hẳn là lỗi riêng của Cursor, mà liên quan đến thứ tự tìm kiếm đặc thù của Windows, trong đó Windows tìm tệp thực thi trong thư mục làm việc hiện tại trước khi xem PATH. Nhiều chương trình trên Windows có khả năng bị phơi nhiễm trước các kiểu tấn công tương tự

    • Các phần mềm chú trọng bảo mật đã sửa vấn đề này rồi
      Như giải thích tại https://go.dev/blog/path-security, CommandLookPath tìm chương trình trong các thư mục được liệt kê trong PATH hiện tại theo thông lệ của hệ điều hành, nhưng ngày nay hành vi bao gồm cả thư mục hiện tại thường là ngoài dự kiến và dẫn đến vấn đề bảo mật
      https://pkg.go.dev/os/exec#hdr-Executables_in_the_current_di...
    • Có thể giảm thiểu dễ dàng bằng cách tìm tệp thực thi Git thật sự trong các đường dẫn hệ thống đã biết, hoặc cho phép người dùng cấu hình đường dẫn; theo tôi biết VS Code cũng xử lý theo cách đó
    • Đây là một cạm bẫy bảo mật cũ và nổi tiếng mà khi phát triển phần mềm cho Windows bắt buộc phải phòng vệ
    • Nếu vậy thì rốt cuộc nghe như phiên bản Windows của Cursor có một lỗi, đồng thời là một lỗ hổng
  • Việc doanh nghiệp không ưu tiên bảo mật là quá phổ biến, và tuy đáng tiếc nhưng cũng có phần có thể hiểu được. Việc một startup bảo mật chờ mãi rồi công khai để thu hồi ít nhất một phần chi phí bỏ ra bằng hiệu quả PR cũng có thể hiểu được, và cũng có lúc cần công bố lỗ hổng công khai
    Tuy nhiên nếu họ thật sự muốn giúp giải quyết vấn đề, có lẽ họ đã có thể làm nhiều hơn là thúc giục trên HackerOne và gửi một tin nhắn LinkedIn cho CISO. Giờ thì cảm giác như chẳng ai thật lòng quan tâm, khá cay đắng

    • Không rõ thế nào mới là thật lòng giúp giải quyết vấn đề, và chi phí chìm được nói ở đây chính xác là gì. Nhìn chung nghe quá mơ hồ
  • Tôi tò mò vì sao Cursor lại tự động chạy tệp thực thi, và hành vi này xuất phát từ luồng ra quyết định nào. Vim cũng từng có vấn đề chạy mã ngoài dự kiến khi tải tệp do các tính năng rõ ràng như %{expr}, nhưng khó hiểu vì sao Cursor lại đi tìm đúng git.exe, và đây là tính năng hữu ích cho ai
    Dù chưa từng dùng Cursor, tôi cũng tò mò vì sao lại tồn tại một CVE kiểu lặp lại có vẻ có thể sửa đơn giản như vậy

    • Luồng thường gặp là yêu cầu Cursor tóm tắt một kho lưu trữ hiện có để viết README; sau khi đọc kho và mã nguồn, Cursor chạy lệnh Git để cung cấp thêm metadata như nhánh phát triển hoặc các tag trước đó
      Vấn đề là khi yêu cầu đánh giá một kho từ xa, sau khi clone kho rồi chạy git ... trong thư mục làm việc, Windows có thể coi tệp git trong thư mục đó là mục tiêu thực thi. Khi chuyển sang một kho không tin cậy hoặc một nhánh đã bị xâm phạm, mã cũng có thể được thực thi ngay lập tức
      Cách giải quyết thông thường là dùng đường dẫn đầy đủ tới Git đã cài trên hệ thống; tuy phiền nếu con người phải nhập, nhưng với Cursor thì chỉ là việc nhỏ
    • Có vẻ ý định là để agent tích hợp sẵn tìm Git thật của người dùng nhằm đọc ngữ cảnh từ nhiều nhánh và worktree. Có cách an toàn hơn, nhưng kiểu lách nhẹ như thế này rất dễ hỏng trong quy trình làm việc có AI hỗ trợ, và cũng là điểm mà cảnh báo dễ bị bỏ sót khi dùng AI để phân loại lỗi
  • Vì các agent phát triển thường được cấp quyền kéo và đẩy kho Git, đây trở thành một đường tấn công chuỗi cung ứng khổng lồ. Nếu một agent Cursor đang chạy lấy các tệp mới nhất về và kẻ tấn công đã cài tệp thực thi vào dự án, thì đột nhiên hàng trăm nghìn người có thể chạy EXE tùy ý với quyền người dùng mặc định

  • Báo cáo đọc hơi giống bài do AI viết. Để khai thác thì payload độc hại đã phải có sẵn trên PC thông qua clone hoặc tải xuống, nên tôi hiểu mức độ nghiêm trọng, nhưng ngay từ đầu người ta vẫn kỳ vọng không rơi vào tình huống như vậy

    • Các agent lập trình hiện đại, khi được hỏi về một API có tài liệu không rõ ràng, có thể clone kho và đọc mã, nên lỗ hổng này thực tế có thể bị khai thác
    • Payload độc hại có thể nằm trong kho từ xa. Chỉ cần git clone kho rồi mở bằng Cursor là việc xâm phạm đã hoàn tất
    • Nếu là nhà phát triển mã nguồn mở, bạn cũng có thể nhận một pull request chứa git.exe
    • Thông thường, người ta không nghĩ rằng hành động tải kho về và xem mã nguồn lại tương đương với kích hoạt payload độc hại, và chính điểm đó mới đáng lo. Dù văn phong AI gây khó chịu, nên phê bình nội dung của lỗ hổng hơn là cách viết
    • Khó có thể khẳng định payload phải có sẵn từ trước trên PC. Nếu có thể dùng prompt injection để dẫn dụ một lệnh như download [https://github.com/hackmycursor/exploit.git](<https://github.com/hackmycursor/exploit.git>;), agent có khả năng tải git.exe xuống và thực thi nó