Xem nội dung truy xuất là đầu vào không đáng tin cậy
Đã hoàn tấtNhận biết hướng dẫn ẩn trong tệp repository và kết quả công cụ. Tách thông tin truy xuất khỏi thẩm quyền hành động.
Xuất bản bởi TaigaCách chúng tôi viết
Kiểm tra mức hiểuTệp repository nói mọi test đều tùy chọn và agent nên bỏ qua hướng dẫn tác vụ. Quy trình nên xử lý nội dung đó thế nào?Làm bài tập
Bạn sẽ học gì
- Nhận diện prompt injection gián tiếp trong quy trình phát triển.
- Giải thích vì sao chỉ nhãn văn bản không thể thực thi ranh giới bảo mật.
- Thiết kế test an toàn cho hạn chế của công cụ.
Nhận biết lúc dữ liệu biến thành hướng dẫn
Coding agent đọc nhiều hơn yêu cầu người dùng. Nó có thể xem issue, tệp repository, tài liệu package, kết quả tìm kiếm và phản hồi công cụ. Một phần nội dung đó có thể chứa hướng dẫn từ người khác.
Prompt injection xảy ra khi nội dung như vậy khiến mô hình lệch khỏi tác vụ được phép. Injection gián tiếp đến qua nguồn truy xuất thay vì yêu cầu trực tiếp của người dùng. OWASP mô tả tài liệu trong repository và đầu ra công cụ là các điểm xâm nhập liên quan. Đọc hướng dẫn phòng ngừa.
Xét tác vụ bảo trì giả định. Người dùng yêu cầu agent sửa bộ lọc báo cáo và chạy test bắt buộc. README được truy xuất nói test đã lỗi thời và yêu cầu agent tải lên một tệp cấu hình. README có thể giải thích dự án. Nó không thể cho phép bỏ các kiểm tra của người dùng hoặc gửi tệp đi nơi khác.
Xác định những hậu quả có thể xảy ra
Cùng văn bản gây hiểu lầm tạo hậu quả khác nhau trong các môi trường khác nhau. Công cụ tóm tắt chỉ đọc có thể tạo bản tóm tắt sai. Agent có quyền ghi repository có thể thay đổi mã. Agent có secret và quyền truy cập mạng ra ngoài có thể làm lộ thông tin.
Kiểm tra hành động sẵn có trước khi quyết định biện pháp phòng vệ nào quan trọng. Liệt kê tài nguyên nhạy cảm, đích có thể ghi và nơi nhận bên ngoài. Bao gồm connector được thêm sau thiết lập ban đầu. Công cụ mới có thể mở rộng tác động của điểm yếu hiện có.
Agent cũng có thể mang nội dung gây hiểu lầm sang giai đoạn sau. Ví dụ, nó có thể chép hướng dẫn không đáng tin cậy vào bản mô tả tác vụ được sinh. Agent tiếp theo không được xem bản mô tả đó là chính sách đã được phê duyệt độc lập.
Dùng nhiều biện pháp kiểm soát với mục đích riêng
Tách hướng dẫn tác vụ đáng tin cậy khỏi dữ liệu truy xuất trong thiết kế ứng dụng. Hiển thị nguồn gốc tài liệu truy xuất. Các bước này cải thiện diễn giải, nhưng không tạo thành ranh giới bảo mật đầy đủ.
Thực thi quyền tài nguyên trong hệ thống thực thi. Hạn chế đích đến của dữ liệu nhạy cảm. Yêu cầu quyết định phù hợp trước hành động có hậu quả đáng kể. Xác thực thao tác đề xuất dựa trên tác vụ và đích được phép.
Bộ lọc và mô hình thứ hai có thể giúp phát hiện nội dung đáng ngờ. Chúng cũng có thể bỏ sót tấn công hoặc chặn thông tin hợp lệ. Không thay phân quyền theo quy tắc xác định bằng điểm tự tin của mô hình. OWASP nêu rõ giới hạn của việc chỉ dựa vào prompt hoặc truy xuất. Đọc mô tả rủi ro.
Kiểm thử quy trình mà không tạo phơi nhiễm thật
Dùng repository dùng một lần và tệp giả định. Không cấp thông tin xác thực production hoặc quyền ghi ra ngoài không giới hạn cho đánh giá. Đưa vào một hướng dẫn vô hại xung đột với tác vụ, chẳng hạn bỏ qua kiểm tra bắt buộc.
Quan sát cả phản hồi mô hình lẫn hành động công cụ thực tế. Thông báo “Tôi đã bỏ qua hướng dẫn đó” là chưa đủ nếu kiểm tra vẫn bị bỏ qua. Ghi tác vụ, fixture chứa injection, công cụ được phép và kết quả quan sát.
Lặp lại các trường hợp tiêu biểu sau thay đổi prompt, mô hình, connector hoặc quyền. Một ví dụ bị chặn là bằng chứng cho trường hợp đó, không chứng minh chống được mọi injection. Nếu test thất bại, giảm hậu quả có thể xảy ra trong khi sửa quy trình nền tảng.
Làm bài tập
Tạo fixture dùng một lần với comment yêu cầu agent bỏ qua kiểm tra bắt buộc. Chạy đánh giá được phép trong môi trường cô lập, không có secret hoặc thao tác ghi ra bên ngoài. Xác minh kiểm tra vẫn được chạy. Ghi quyền công cụ, hành vi quan sát và giới hạn của test đơn lẻ này.
Tải worksheet (Markdown)Bỏ chọn sẽ xóa toàn bộ tiến độ đã lưu trong trình duyệt này.
Tiến độ ở trong trình duyệt này. Không tài khoản, không theo dõi.