Rủi ro phụ thuộc: gói phần mềm mà AI bịa ra
Các ứng dụng hiện đại dựa vào hàng chục gói phần mềm bên thứ ba (third-party ), và AI gợi ý chúng một cách thoải mái. Có hai rủi ro đi kèm.
Thứ nhất, typosquatting (chiếm dụng lỗi chính tả) và các gói bị AI bịa ra. Kẻ tấn công phát hành các gói độc hại với tên chỉ lệch đi một chút so với tên thật (reqeusts thay vì requests), đánh cược vào một lỗi gõ phím. Đôi khi AI tự tin import một gói không hề tồn tại — và một kẻ tấn công nhận ra thói quen đó có thể đăng ký chính xác cái tên đó kèm mã độc bên trong. Trước khi cài bất cứ thứ gì AI đề xuất, hãy liếc qua nó: nó có thực sự tồn tại không, nó có số lượt tải thực và một repo thật không, tên có được viết đúng như bạn mong đợi không?
Thứ hai, các (phụ thuộc) chưa được thẩm định nói chung. Mỗi gói bạn thêm vào là mã đang chạy với toàn bộ quyền truy cập của ứng dụng bạn. Càng nhiều dependency thì càng nhiều bề mặt tấn công cho cả lỗi lẫn tấn công chuỗi cung ứng (supply-chain attack). Hãy ưu tiên ít thư viện hơn nhưng nổi tiếng, thay vì một dãy dài các thư viện ít người biết đến, và hãy tự hỏi "chúng ta có thực sự cần một gói cho việc này không, hay chỉ là mười dòng code?" trước khi thêm vào.
Hãy chạy công cụ kiểm toán (audit tool) của hệ sinh thái bạn định kỳ (npm audit, pip-audit, và tương tự) — nó gắn cờ các lỗ hổng đã biết trong những gì bạn đã cài đặt, và AI khá giỏi trong việc sửa những gì nó báo cáo.