close

Devin Allowlist là gì? Cách sử dụng như thế nào?

Tác giả: Đông Tùng Ngày đăng: 31/07/2026 Chuyên mục: Vibe Code
Disclosure
Website Tino blog được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Wiki.tino.org có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Tino blog sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại Tino blog được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Khi giao việc cho Devin AI tự động mở terminal, chạy lệnh và chỉnh sửa mã nguồn thay con người, câu hỏi đầu tiên nhiều lập trình viên đặt ra là: Làm sao để kiểm soát những gì trợ lý này được phép tự ý thực thi? Tính năng Devin Allowlist ra đời để giải quyết vấn đề này. Vậy cụ thể Devin Allowlist là gì? Cách sử dụng như thế nào? Cùng Tino khám phá qua bài viết dưới đây nhé!

Đôi nét về Devin Allowlist

Devin Allowlist là gì?

Devin Allowlist là danh sách các lệnh terminal (hoặc các miền mạng, tùy ngữ cảnh) được đánh dấu là an toàn, cho phép Devin AI tự động thực thi mà không cần chờ người dùng bấm xác nhận từng lần. Ví dụ, nếu một người dùng thêm git vào Allowlist, mọi lệnh bắt đầu bằng git như git add -A hay git status sẽ được Devin Desktop chạy ngay lập tức, không cần thao tác phê duyệt thủ công.

Cơ chế này nằm trong hệ thống quản lý quyền hạn của Devin Desktop, giúp cân bằng giữa hai yếu tố: tốc độ xử lý công việc và mức độ an toàn khi để một AI tác vụ tự động can thiệp vào hệ thống máy tính.

Xem thêm: Devin AI là gì?

Devin Allowlist là gì?
Devin Allowlist là gì?

Phân biệt Allowlist và Denylist

Song song với Allowlist, Devin AI còn cung cấp một danh sách đối lập gọi là Denylist (danh sách chặn). Trong khi Allowlist quy định lệnh nào được tự động chạy, Denylist quy định lệnh nào luôn cần sự phê duyệt của con người trước khi thực thi, bất kể cấp độ tự động hóa đang bật là gì.

Một điểm quan trọng cần ghi nhớ: Khi một lệnh xuất hiện trong cả hai danh sách cùng lúc, Denylist luôn được ưu tiên áp dụng trước. Nói cách khác, dù lệnh đó đã được thêm vào Allowlist, việc góp mặt trong Denylist vẫn khiến lệnh phải chờ xác nhận thủ công. Thiết kế an toàn theo hướng “ưu tiên chặn” như vậy giúp giảm thiểu rủi ro thao tác nhầm gây hại cho hệ thống.

4 cấp độ tự động thực thi lệnh trong Devin AI

Devin AI chia mức độ tự động hóa lệnh terminal thành 4 cấp độ rõ ràng, giúp người dùng lựa chọn mức độ phù hợp với nhu cầu công việc:

Cấp độMô tả
DisabledToàn bộ lệnh đều cần phê duyệt thủ công, tính năng tự động thực thi bị tắt hoàn toàn
Allowlist OnlyChỉ những lệnh khớp với allowlist mới được tự động chạy, mọi lệnh khác đều cần xác nhận
AutoDevin AI tự đánh giá mức độ an toàn của lệnh dựa trên khả năng suy luận, lệnh có rủi ro vẫn cần phê duyệt (chỉ áp dụng cho các mô hình cao cấp)
TurboToàn bộ lệnh được tự động chạy ngay, ngoại trừ những lệnh nằm trong denylist

Vì sao nên thiết lập Devin Allowlist?

Thiết lập Allowlist mang lại ba lợi ích rõ rệt cho người dùng Devin AI:

  • Tiết kiệm thời gian: Không phải dừng lại để phê duyệt những lệnh lặp đi lặp lại và đã quen thuộc như cài đặt gói thư viện, kiểm tra trạng thái Git hay chạy bộ kiểm thử.
  • Duy trì kiểm soát bảo mật: Những lệnh có khả năng gây hại như xóa file, thay đổi quyền hệ thống vẫn nằm ngoài Allowlist và luôn cần sự chấp thuận trực tiếp.
  • Linh hoạt theo từng dự án: Mỗi dự án có thể có bộ lệnh an toàn khác nhau, việc tùy chỉnh Allowlist theo ngữ cảnh giúp Devin AI làm việc hiệu quả hơn mà không phá vỡ quy trình bảo mật chung.

Các loại Allowlist trong hệ sinh thái Devin AI

Allowlist lệnh terminal cấp cá nhân

Đây là loại Allowlist phổ biến và cơ bản nhất, được cấu hình trực tiếp trong cài đặt của từng người dùng trên Devin Desktop. Danh sách này chỉ áp dụng cho phiên làm việc cá nhân, phù hợp với lập trình viên độc lập hoặc freelancer.

Allowlist lệnh terminal cấp Team/Enterprise

Dành cho các đội nhóm sử dụng gói Teams hoặc Enterprise, quản trị viên có thể thiết lập một Allowlist và Denylist áp dụng chung cho toàn bộ thành viên thông qua Admin Portal. Danh sách cấp team sẽ được hợp nhất (merge) cùng danh sách cá nhân của từng người dùng, nghĩa là một lệnh chỉ cần khớp với một trong hai danh sách là đã đủ điều kiện tự động chạy, trừ khi bị chặn bởi Denylist ở bất kỳ cấp nào.

Quản trị viên cũng có quyền giới hạn cấp độ tự động hóa tối đa mà nhân viên được phép chọn. Ví dụ, nếu quản trị viên đặt mức tối đa là “Auto”, thành viên trong đội chỉ có thể chọn giữa Disabled, Allowlist Only hoặc Auto, không thể kích hoạt chế độ Turbo.

Các loại Allowlist trong hệ sinh thái Devin AI
Các loại Allowlist trong hệ sinh thái Devin AI

Allowlist domain mạng trong Devin CLI

Bên cạnh việc kiểm soát lệnh, Devin CLI (phiên bản dòng lệnh của Devin AI) còn hỗ trợ một loại Allowlist khác dành cho lưu lượng mạng, gọi là allowed_domains, nằm trong phần cấu hình sandbox của file config. Khi tính năng lọc mạng theo tên miền được bật cùng cờ –sandbox, chỉ những tên miền khớp với danh sách này mới được phép kết nối ra bên ngoài, giúp hạn chế rủi ro rò rỉ dữ liệu hoặc truy cập vào các nguồn không đáng tin cậy.

Cú pháp tên miền hỗ trợ ba dạng phổ biến: khớp chính xác (example.com), khớp mọi tên miền phụ (*.example.com) và khớp cả tên miền gốc lẫn tên miền phụ (**.example.com). Cần lưu ý rằng tính năng lọc mạng theo tên miền hiện vẫn đang trong giai đoạn hoàn thiện và có thể chưa thật sự ổn định trên mọi môi trường.

Allowlist IP dành cho doanh nghiệp

Ở cấp độ tổ chức lớn, Devin AI còn cung cấp API riêng để quản lý Allowlist địa chỉ IP, cho phép doanh nghiệp giới hạn phạm vi IP được phép truy cập vào hệ thống quản trị (Enterprise IP Access List). Cấu hình này thường hỗ trợ định dạng CIDR và yêu cầu quyền quản trị chuyên biệt để chỉnh sửa.

Allowlist domain cho mạng nội bộ công ty

Ngoài các loại Allowlist phục vụ trực tiếp cho hoạt động của Devin AI, một số bộ phận IT tại doanh nghiệp còn cần cấu hình Allowlist ở cấp tường lửa mạng nội bộ, nhằm cho phép các thiết bị trong công ty truy cập được vào các tên miền dịch vụ của Devin AI như api.devin.ai hay docs.devin.ai. Đây là bước chuẩn bị hạ tầng cần thiết trước khi triển khai Devin AI rộng rãi trong tổ chức.

Hướng dẫn cách sử dụng Devin Allowlist

Các bước sử dụng Devin Allowlist

Bước 1: Mở dự án cần làm việc trong Devin Desktop, sau đó truy cập Command Palette bằng phím tắt:

  • Windows hoặc Linux: Ctrl + Shift + P
  • macOS: Cmd + Shift + P

Bạn cũng có thể mở Command Palette từ menu điều khiển của trình chỉnh sửa.

Các bước sử dụng Devin Allowlist
Các bước sử dụng Devin Allowlist

Bước 2: Mở giao diện Settings

Trong Command Palette, nhập:

Open Settings (UI)

Chọn kết quả tương ứng để mở giao diện cài đặt.

Các bước sử dụng Devin Allowlist
Các bước sử dụng Devin Allowlist

Sau đó, chọn qua tab Devin Settings.

Hoặc bạn cũng có thể sử dụng phím tắt Ctrl + , trên Windows hoặc Cmd + , trên macOS để mở Settings nhanh hơn.

Các bước sử dụng Devin Allowlist
Các bước sử dụng Devin Allowlist

Bước 3: Trong thanh menu bên trái, tìm nhóm Devin Local, sau đó chọn Configuration.

Tại đây, Devin AI hiển thị ba nhóm quyền chính:

  • Allow: tự động cho phép hành động mà không yêu cầu xác nhận.
  • Deny: từ chối hoặc chặn hành động.
  • Ask: luôn yêu cầu người dùng xác nhận trước khi thực hiện.

Devin Local sử dụng hệ thống quyền này thay cho cơ chế Auto-Execution của Cascade. Quyền có thể áp dụng cho lệnh Terminal, đọc file, ghi file, truy cập URL và công cụ MCP.

Các bước sử dụng Devin Allowlist
Các bước sử dụng Devin Allowlist

Tại khu vực Allow, nhấn nút Add.

Bước 4: Một ô nhập quy tắc mới sẽ xuất hiện. Đối với lệnh Terminal, bạn cần sử dụng cú pháp:

Exec(lệnh cần cho phép)

Ví dụ, để cho phép Devin AI tự động kiểm tra trạng thái Git, hãy nhập:

Exec(git status)
Các bước sử dụng Devin Allowlist
Các bước sử dụng Devin Allowlist

Sau đó nhấn OK để lưu quy tắc.

Bạn nên thêm từng câu lệnh riêng biệt để dễ kiểm soát phạm vi quyền.

Ví dụ:

  • Exec(git status)
  • Exec(git diff)
  • Exec(git log)
  • Exec(npm test)
  • Exec(npm run lint)
  • Exec(npm run build)
Các bước sử dụng Devin Allowlist
Các bước sử dụng Devin Allowlist

Cú pháp Exec(prefix) hoạt động theo nguyên tắc khớp phần đầu của lệnh. Chẳng hạn, Exec(npm run) có thể cho phép nhiều lệnh bắt đầu bằng npm run, bao gồm npm run testnpm run build. Vì vậy, người mới nên nhập câu lệnh đầy đủ thay vì sử dụng tiền tố quá rộng.

Những lệnh nên thêm vào Devin Allowlist

Quy tắc thêm vào AllowChức năngMức độ khuyến nghịLưu ý
Exec(git status)Kiểm tra trạng thái repository và các file đang thay đổiRất nên thêmChủ yếu đọc thông tin, không chỉnh sửa mã nguồn
Exec(git diff)Xem nội dung code đã thay đổiRất nên thêmGiúp Devin AI kiểm tra thay đổi trước khi tiếp tục
Exec(git log)Xem lịch sử commitNên thêmPhù hợp khi Agent cần tìm hiểu quá trình phát triển dự án
Exec(git branch --show-current)Kiểm tra nhánh Git hiện tạiNên thêmAn toàn hơn việc cho phép toàn bộ nhóm git branch
Exec(npm test)Chạy bộ kiểm thử của dự án Node.jsNên thêmCần kiểm tra nội dung script test trong package.json trước
Exec(npm run lint)Kiểm tra lỗi cú pháp và quy chuẩn codeNên thêmBảo đảm script chỉ kiểm tra hoặc sửa lỗi trong phạm vi cho phép
Exec(npm run typecheck)Kiểm tra lỗi kiểu dữ liệu, thường dùng với TypeScriptNên thêmChỉ thêm khi dự án đã có script typecheck
Exec(npm run build)Build dự án để kiểm tra khả năng biên dịchCó thể thêmCần xác nhận quy trình build không tự động triển khai sản phẩm
Exec(pytest)Chạy kiểm thử trong dự án PythonCó thể thêmChỉ cần thiết với dự án sử dụng Pytest
Exec(go test)Chạy kiểm thử trong dự án GoCó thể thêmCó thể thiết lập câu lệnh đầy đủ hơn theo cấu trúc dự án
Exec(cargo test)Chạy kiểm thử trong dự án RustCó thể thêmChỉ áp dụng cho dự án sử dụng Cargo
Exec(dotnet test)Chạy kiểm thử trong dự án .NETCó thể thêmPhù hợp với dự án C# hoặc nền tảng .NET

Tài liệu chính thức của Devin AI cũng sử dụng git status, git diff và git log làm ví dụ cho cấu hình quyền tối thiểu, vì đây là những thao tác chủ yếu phục vụ việc đọc và kiểm tra repository.

Bạn không cần thêm toàn bộ các lệnh trong bảng. Hãy chọn đúng câu lệnh phù hợp với ngôn ngữ lập trình, công cụ quản lý gói và quy trình kiểm thử của từng dự án.

Những lưu ý quan trọng khi sử dụng Allowlist

  • Denylist luôn thắng Allowlist. Khi một lệnh hoặc tên miền xuất hiện ở cả hai danh sách, quyết định chặn luôn được áp dụng trước. 
  • Chỉ thêm những lệnh bạn đã hiểu rõ chức năng và phạm vi ảnh hưởng.
  • Ưu tiên câu lệnh cụ thể như Exec(git status) thay vì quyền rộng như Exec(git).
  • Kiểm tra nội dung script trong package.json trước khi cho phép npm test, npm run lint hoặc npm run build.
  • Không thêm các lệnh có thể xóa dữ liệu hoặc thay đổi hệ thống như rm, sudo, git reset –hard và git push –force.
  • Sử dụng Ask cho những thao tác cần xem lại trước khi thực hiện, chẳng hạn cài thư viện hoặc chỉnh sửa file quan trọng.
  • Sử dụng Deny để chặn những lệnh nguy hiểm mà Devin AI không được phép chạy.
  • Không đưa API Key, mật khẩu, Access Token hoặc thông tin trong file .env vào quy tắc Allowlist.
  • Nên thiết lập quyền riêng cho từng dự án thay vì áp dụng chung cho toàn bộ máy tính.
  • Kiểm tra lại Allowlist sau khi thay đổi framework, script hoặc quy trình triển khai.
  • Nếu chưa chắc một lệnh có an toàn hay không, hãy để Devin AI yêu cầu xác nhận thay vì thêm vào Allowlist.
Những lưu ý quan trọng khi sử dụng Allowlist
Những lưu ý quan trọng khi sử dụng Allowlist

Các bài viết liên quan:

Kết luận

Tóm lại, Devin Allowlist là công cụ giúp người dùng cân bằng giữa tốc độ làm việc và mức độ an toàn khi giao phó công việc lập trình cho một trợ lý AI tự động. Chỉ với vài thao tác cấu hình đơn giản, mỗi cá nhân lẫn cả một đội ngũ kỹ thuật đều có thể tự tay quyết định lệnh nào được chạy ngay, lệnh nào cần xin phép trước khi thực thi. Hy vọng những hướng dẫn chi tiết trong bài đã giúp việc làm chủ tính năng này trở nên đơn giản hơn, để mỗi phiên làm việc cùng Devin AI vừa nhanh chóng vừa yên tâm về mặt bảo mật.

Những câu hỏi thường gặp

Tại sao phải nhập Exec(git status) thay vì chỉ nhập git status?

Exec(…) cho Devin Local biết đây là quy tắc kiểm soát việc thực thi lệnh shell. Ngoài Exec, hệ thống quyền còn hỗ trợ các nhóm như Read(…), Write(…) và Fetch(…) để quản lý file hoặc quyền truy cập Internet.

Vì sao Devin AI vẫn yêu cầu xác nhận dù lệnh đã nằm trong Allow?

Một số nguyên nhân phổ biến gồm:

  • Lệnh thực tế không khớp chính xác với tiền tố đã thêm.
  • Có quy tắc tương ứng trong Ask hoặc Deny.
  • Chính sách của tổ chức yêu cầu xác nhận.
  • Quyền được lưu cho dự án khác.
  • Phiên hiện tại đang sử dụng Cascade thay vì Devin Local.

Trong hệ thống permissions, Deny và Ask luôn được ưu tiên trước Allow.

Có thể áp dụng Allowlist cho riêng một dự án không?

Có. Bạn có thể lưu quyền trong .devin/config.json để áp dụng cho dự án và chia sẻ cùng nhóm, hoặc dùng .devin/config.local.json nếu chỉ muốn lưu cấu hình trên máy cá nhân. Devin Local cũng hỗ trợ cấu hình toàn cục cho mọi dự án.

Devin Allowlist có áp dụng được cho phiên bản trả phí thấp nhất không?

Có. Tính năng Allowlist cá nhân trên Devin Desktop áp dụng cho mọi cấp gói sử dụng cá nhân, trong khi Allowlist cấp Team/Enterprise và Allowlist IP doanh nghiệp chỉ dành riêng cho các gói Teams và Enterprise có Admin Portal.

Thiết lập Allowlist sai có gây rủi ro bảo mật không?

Có. Nếu thêm nhầm một lệnh có khả năng gây hại (ví dụ lệnh xóa dữ liệu) vào Allowlist mà quên đưa vào Denylist, lệnh đó sẽ tự động chạy mà không qua bước xác nhận, tiềm ẩn nguy cơ mất dữ liệu hoặc ảnh hưởng hệ thống.

Đông Tùng

Senior Technology Writer

Là cử nhân Quản trị kinh doanh của Trường Đại học Tài chính - Marketing, Tùng bắt đầu làm việc tại Tino Group từ năm 2021 ở vị trí Content Marketing để thỏa mãn niềm đam mê viết lách của bản thân. Sở hữu khả năng sáng tạo đặc biệt, anh cùng đội ngũ của mình đã tạo nên những chiến dịch quảng cáo độc đáo cùng vô số bài viết hữu ích về nhiều chủ đề khác nhau. Sự tỉ mỉ, kiên trì và tinh thần sáng tạo của Tùng đã góp phần lớn vào thành công của Tino Group trong lĩnh vực marketing trực tuyến.

Xem thêm bài viết

Bài viết liên quan