Bạn không nên đưa gì cho công cụ AI khi lập trình, và nếu lỡ lộ một API key thì làm gì?
Gợi ý trả lời
Người phỏng vấn muốn biết bạn dùng AI một cách có ý thức về bảo mật, và biết thứ tự xử lý khi sự cố đã xảy ra.
Có ba nhóm không nên đưa cho công cụ AI. Thứ nhất là khóa và mật khẩu: API key, token, chuỗi kết nối cơ sở dữ liệu. Thứ hai là dữ liệu của người khác, như tên, số điện thoại, email của người dùng thật. Thứ ba là code và tài liệu không thuộc về bạn, như code của công ty hay khách hàng, vì mỗi công cụ và mỗi gói dịch vụ có chính sách riêng về việc lưu và dùng dữ liệu, và bạn cần đọc điều khoản của đúng gói mình dùng, đồng thời hỏi công ty có danh sách công cụ được duyệt không.
Cách làm cụ thể: thay dữ liệu thật bằng dữ liệu giả có cùng hình dạng, che khóa trước khi dán (có thể bằng một bộ lọc chạy trước), giữ khóa trong biến môi trường chứ không viết vào code, đưa .env vào .gitignore, và cấu hình công cụ AI để nó không đọc được các file bí mật. Nên có thêm một lớp tự động như quét bí mật trước khi commit hoặc bảo vệ lúc đẩy code, vì quy trình thủ công hay bị quên đúng lúc vội.
Nếu lỡ lộ một khóa, việc đầu tiên là thu hồi nó, chứ không phải xóa dấu vết: xóa dòng khỏi Git là chưa đủ vì bản sao cũ còn trong lịch sử, các bản clone và fork. Sau khi thu hồi thì tạo khóa mới và cập nhật nơi đang dùng, xem lịch sử sử dụng có hoạt động lạ không, và chỉ sau cùng mới dọn lịch sử Git.
Điểm cộng: nói được rằng bộ lọc bí mật chỉ bắt được các hình dạng đã biết nên không thay được thói quen, và nhắc việc thử bộ lọc với tên biến thật của dự án.