Đội vận hành có ba tệp bảng tính cần gộp. AI trả về một đoạn Python, kèm lời giải thích rằng mã sẽ đọc các tệp và tạo báo cáo. Đoạn mã trông ngắn, tên cột có vẻ đúng, nhưng nút chạy sẽ mở thêm một ranh giới: từ văn bản đề xuất sang một tiến trình có quyền đọc, ghi và có thể kết nối ra ngoài. Chất lượng lời giải thích chưa trả lời tiến trình ấy được phép làm gì.
Muốn kiểm mã do AI sinh cho công việc xử lý file, hãy bắt đầu bằng hợp đồng đầu vào, đầu ra và môi trường chạy. Bài này đề xuất một cách rà phạm vi nhỏ trước khi giao mã cho người có quyền thực thi. Các tệp và con số bên dưới là giả lập; đây không phải báo cáo đã kiểm an toàn một chương trình hay một môi trường sandbox cụ thể.
Tách đề xuất biến đổi dữ liệu khỏi quyền chạy chương trình
Yêu cầu “gộp ba tệp” mới mô tả một kết quả mong muốn. Nó chưa cho phép quét mọi thư mục trong máy, sửa bản gốc, tải thêm thư viện hoặc gửi nội dung tới dịch vụ khác. Nếu quá trình triển khai ngầm dùng tài khoản có quyền rộng hơn công việc, một lỗi nhỏ của đoạn mã có thể tác động tới dữ liệu nằm ngoài ba tệp đã chọn.
Vì vậy nên ghi hai phần riêng khi bàn giao: mã đang đề xuất biến đổi gì và nơi nào được phép thực hiện biến đổi đó. Một người có thể duyệt quy tắc cộng số nhưng không có thẩm quyền cấp quyền đọc toàn bộ ổ chia sẻ. Cần đúng người quyết định ở từng phần, thay vì một nút đồng ý chung khiến mọi người hiểu phạm vi khác nhau.
OWASP LLM05:2025 coi việc đưa đầu ra mô hình tới thành phần phía sau mà thiếu kiểm tra phù hợp là một nhóm rủi ro riêng. Trong ngữ cảnh này, điều quan trọng là đoạn mã sẽ đi vào một runtime thực tế. Không dùng việc mô hình khẳng định mã an toàn làm bằng chứng thay cho rà mã và đối chiếu quyền. Nếu mã chạy qua một công cụ kết nối, dùng riêng phiếu kiểm công cụ MCP để xem nguồn và danh mục tool; phần dưới tập trung vào một phép biến đổi file cụ thể.
Một hợp đồng nhỏ cho ba tệp giả lập
Giả sử công việc là gộp ba danh sách hàng có cùng các cột mã hàng, số lượng và đơn vị. Phạm vi giả định chỉ cho phép đọc bản sao đã chọn, chuẩn hóa khoảng trắng của mã theo quy tắc đã chốt và tạo một tệp kết quả mới. Công việc không tự bao gồm đổi đơn vị, ghép mã gần giống hoặc sửa những hàng thiếu dữ liệu.
Trước khi xem mã, người phụ trách dữ liệu ghi rõ cách xử lý mã trùng, ô trống và hàng sai định dạng. Nếu cùng mã nhưng khác đơn vị, kết quả cần đưa vào nhóm chờ đối chiếu thay vì cộng ngay. Đây là quyết định nghiệp vụ. Để AI tự chọn một giá trị mặc định chỉ vì chương trình cần chạy tiếp sẽ làm báo cáo dễ đọc hơn nhưng kém đáng tin hơn.
| Thành phần | Điều cần ghi rõ | Ngoài phạm vi giả định |
|---|---|---|
| Đầu vào | Ba bản sao được chọn, cột và đơn vị đã biết | Quét thêm thư mục để tìm tệp tương tự |
| Đầu ra | Một tệp mới và nhóm hàng cần đối chiếu | Ghi đè hoặc xóa bản gốc |
| Phụ thuộc | Thư viện, phiên bản và nguồn đã rà | Tự cài một gói chỉ vì mô hình đề nghị |
| Kết nối | Nhu cầu mạng phải có lý do riêng | Gửi tệp tới dịch vụ ngoài để tiện xử lý |
Bảng là cách chốt phạm vi cho ví dụ này, không phải cấu hình bảo mật đã được cài. Nó có ích vì người đọc mã biết hành vi nào cần giải thích. Nếu chương trình có thêm bước ngoài bảng, tác giả phải chỉ ra nhu cầu và bằng chứng tương ứng trước khi người có quyền quyết định có mở rộng phạm vi hay không.
Đọc những chỗ mã chạm ra ngoài phép tính
Đừng chỉ đọc dòng cộng số lượng. Cần lần từ lúc nhận tên tệp đến lúc mở tệp, tạo đường dẫn đầu ra và ghi kết quả. Một đường dẫn do nội dung trong file quyết định có thể đưa việc ghi tới nơi khác với dự kiến. Việc kiểm cần theo đúng cách hệ điều hành và thư viện giải quyết đường dẫn, không chỉ tìm một chuỗi ký tự rồi kết luận đã đủ.
Cũng cần nhận diện nơi mã gọi một chương trình khác, chạy lệnh hệ thống hoặc phân tích nội dung như mã. Hai đoạn có cùng mục tiêu xuất báo cáo có thể dùng những cơ chế thực thi rất khác nhau. Một đoạn chỉ đọc dữ liệu bằng thư viện; đoạn kia dựng một lệnh từ tên tệp. Người rà cần hiểu cơ chế thực tế, không chỉ chấp nhận một tên hàm nghe có vẻ vô hại.
Rà cả phần chuẩn bị môi trường. Mô hình có thể đề xuất một gói không tồn tại hoặc không phải gói nhóm muốn dùng; OWASP nêu việc xác minh thư viện và rà mã là phần quan trọng khi dùng đầu ra sinh mã. Với bài toán nhỏ, cần hỏi liệu phụ thuộc mới có thật sự cần thiết hay có thể dùng thành phần đã được quản lý. Không suy ra một gói an toàn chỉ từ tên gần giống một thư viện quen thuộc.
Không cần đưa mã khai thác vào một buổi bàn giao để làm rõ các điểm này. Một sơ đồ đường đọc, ghi và kết nối thường đủ giúp người phụ trách xác định phần cần chuyên gia xem tiếp. Khi chưa hiểu một nhánh thực thi, đánh dấu chưa xác minh cho nhánh đó; đừng để nó biến mất khỏi báo cáo chỉ vì bộ dữ liệu mẫu chưa kích hoạt.

Vùng thử phải được kiểm theo quyền thực tế
Tạo một thư mục có tên sandbox chưa đủ chứng minh chương trình bị giới hạn trong đó. Người thiết kế môi trường cần kiểm tài khoản chạy, đường dẫn được đọc và ghi, khả năng truy cập mạng, tài nguyên được cấp và cách kết thúc tiến trình. Đây là yêu cầu cần chứng minh trên môi trường cụ thể, không phải thuộc tính tự sinh từ một nhãn trong giao diện.
Đối với ví dụ gộp file, có thể đề xuất chỉ đưa bản sao tổng hợp vào vùng thử, tạo đầu ra ở vị trí riêng và không cấp credential production. Quyết định kỹ thuật cụ thể thuộc nhóm có trách nhiệm triển khai. Bài không đưa một lệnh cài đặt được coi là phù hợp cho mọi máy, và không tuyên bố container bất kỳ là một biên cách ly đủ mạnh cho mọi loại mã.
Giới hạn thời gian và tài nguyên cũng cần có chủ đích. Một vòng lặp sai có thể không tạo kết quả nhưng vẫn tiếp tục dùng tài nguyên. Khi thử, phải biết điều kiện dừng và cách nhận diện một lần chạy chưa kết thúc. Không giải quyết một ca treo bằng cách cho nó thêm quyền hoặc bỏ hết giới hạn mà chưa đọc nguyên nhân.
Môi trường thử và môi trường sử dụng thật có thể khác đường dẫn, phiên bản thư viện và dữ liệu. Một kết quả tốt trên mẫu nhỏ chỉ chứng minh phạm vi đã thử. Khi chuyển nơi chạy, đối chiếu lại các giả định có liên quan; không dùng cùng một nhãn đã kiểm để che thay đổi về runtime hoặc quyền.
Ca thử cần làm lộ quyết định sai, không chỉ tạo được một file
Một bộ mẫu tổng hợp có thể gồm mã lặp cùng đơn vị, mã lặp khác đơn vị, hàng thiếu số lượng và tên tệp không trùng với tên báo cáo. Với mỗi ca, viết kết quả mong đợi trước khi thực hiện. Ví dụ mã khác đơn vị phải được giữ để người phụ trách đối chiếu, không tự cộng vào một tổng chung. Chỉ sau khi chạy trong môi trường được phép mới có thể ghi kết quả thực tế.
Nên kiểm cả sự bảo toàn đầu vào. Sau một lần thử được phép, cần xác minh bản gốc có giữ nguyên và đầu ra nằm đúng nơi đã thỏa thuận hay không. Tệp kết quả mở được chưa trả lời hai câu hỏi ấy. Nếu chương trình còn tạo tệp tạm hoặc nhật ký, các đầu ra đó cũng phải được liệt kê theo phạm vi cần thiết.
Với nội dung, đối chiếu một nhóm nhỏ đọc được bằng mắt trước khi áp dụng trên tập lớn. Giữ số hàng đã đọc, hàng được chấp nhận và hàng chờ xử lý theo cách đủ giải thích. Các tổng kiểm không tự chứng minh mọi dòng đều đúng, nhưng có thể phát hiện một nhóm dữ liệu bị bỏ qua. Đừng làm tổng khớp bằng cách lấp ô thiếu bằng 0 khi chưa có quy tắc cho phép.
Người kiểm dữ liệu và người rà quyền cần ghi hai kết luận riêng. “Đúng tổng trên bộ mẫu” không có nghĩa “đủ an toàn để chạy với mọi dữ liệu”. “Đã giới hạn quyền” cũng không có nghĩa phép tính đúng. Cần cả hai lớp bằng chứng cho phạm vi sử dụng đã chốt, thay vì gom chúng thành một dấu đạt không thể giải thích.
Giữ phiên bản mã gắn với đúng bằng chứng
Khi AI hoặc con người sửa chương trình, lưu phiên bản mới và mô tả phần đổi. Kết quả ca thử phải gắn với đúng phiên bản mã, mẫu đầu vào và môi trường đã dùng. Một lời nhắn “đã sửa lỗi” không chứng minh bản đang được bàn giao là bản đã chạy qua các ca cần thiết. Nếu còn bước duyệt trước khi chạy, xem riêng hiệu lực approval và phiên bản yêu cầu; bằng chứng thử mã không tự thay cho quyền thực hiện.
Chỉ lưu những bằng chứng cần thiết và được phép. Với file tổng hợp, có thể giữ mã mẫu, cấu trúc cột, kết quả kỳ vọng và hash bản mã. Không sao chép dữ liệu khách hàng vào một kho mã chỉ để tiện tái hiện. Nếu cần tài liệu thực, cách truy cập và lưu giữ phải theo phạm vi được cấp; bài không yêu cầu lấy mật khẩu, token hay phiên trình duyệt.
Sau khi có đủ bằng chứng, người có trách nhiệm mới quyết định nơi áp dụng và cách theo dõi. Khi còn một hành vi ngoài phạm vi chưa giải thích, giữ phần đó ở trạng thái chưa xác minh thay vì gắn một cảnh báo nhỏ rồi cho chạy như bình thường. Cách làm này giúp công việc tiếp tục ở những phần độc lập đã đủ điều kiện, đồng thời không biến một đoạn mã chưa rõ tác động thành thao tác mặc định.
Nếu doanh nghiệp cần thiết kế một bước xử lý file có AI hỗ trợ, hãy chuẩn bị cấu trúc mẫu tổng hợp, quy tắc đầu ra và giới hạn quyền mong muốn khi Nhận tư vấn & báo giá. Giá: Liên hệ. Điểm khởi đầu nên là một phép biến đổi có thể đối chiếu và một nơi chạy có phạm vi rõ ràng, trước khi mở rộng thành workflow tự động.

