Bởi vì bạn đang bảo vim thực hiện một số lệnh từ một tệp mà bạn có thể không có quyền kiểm soát hoặc người khác có thể đã viết. Giả sử bạn lấy thứ gì đó từ github và sâu trong cây có một .vimrc. Nếu bạn vim một cái gì đó trong thư mục đó và có set exrc
, bạn đang bảo vim chạy các lệnh trong .vimrc mà bạn nhận được từ github. Bạn có hoàn toàn tin tưởng bất cứ ai tạo ra tập tin đó? Bởi vì bạn đang để vim chạy bất cứ lệnh nào họ đặt trong tệp đó. Hoặc giả sử bạn đang sử dụng máy thường xuyên bởi nhiều người (họ vẫn tồn tại :-)) và ai đó yêu cầu bạn xem một cái gì đó trong thư mục chính của họ (hoặc / tmp hoặc bất kỳ nơi nào họ có thể viết). Bạn cd ở đó, đó là một tệp văn bản, vì vậy bạn làm một vim file
. Vớiset exrc
, bạn cũng đang bảo vim chạy các lệnh trong .vimrc trong thư mục đó. Bạn có hoàn toàn tin tưởng người dùng đó, hoặc trong một thư mục có thể ghi thế giới như / tmp, mọi người dùng có thể đăng nhập vào máy đó không?
set secure
giảm thiểu vấn đề bằng cách hạn chế một số điều có thể được thực hiện trong .vimrc, nhưng nếu thư mục .vimrc có thể được sở hữu bởi bạn (chẳng hạn như trong ví dụ github hoặc trên máy nhiều người dùng có một số người dùng có thể chown các tập tin cho bạn), set secure
bị bỏ qua, vì vậy bạn vẫn có những vấn đề tương tự.