Các tác nhân AI có thể được giao một mục tiêu, viết mã, sử dụng công cụ và tiếp tục làm việc khi có thông tin mới. Điều này mở ra cánh cửa cho các ứng dụng điều tra sự cố phần mềm, chạy thí nghiệm và thực hiện các hành động quan trọng đối với doanh nghiệp cũng như nghiên cứu trong nhiều ngày hoặc nhiều tuần.
Các tác nhân hữu ích cần quyền truy cập vào không gian làm việc, tài nguyên tính toán, dữ liệu, thông tin xác thực và các dịch vụ bên ngoài. Nhưng quyền truy cập rộng hơn cũng tạo ra nhiều chế độ lỗi nghiêm trọng hơn, từ việc thay đổi dữ liệu sản xuất hoặc lộ thông tin bí mật đến việc hành động vượt ra ngoài nhiệm vụ được giao.
NVIDIA OpenShell 0.1.0 là một runtime mã nguồn mở để định nghĩa và thực thi các hệ thống và dữ liệu mà một agent có thể truy cập. Nó kết hợp thực thi được cách ly, truy cập dịch vụ có kiểm soát, quản lý thông tin xác thực và phân tích chính sách chính thức. Các nhóm có thể cấp cho agent các khả năng cần thiết cho một tác vụ trong khi OpenShell thực thi các quyền hạn đó bên ngoài khối lượng công việc.
Nó hỗ trợ Codex, Claude Code, Pi, Hermes và các framework trong tương lai trên các ứng dụng doanh nghiệp, nghiên cứu tiên phong và AI vật lý — từ các đội agent nội bộ và nghiên cứu dài hạn đến robot và hệ thống biên.
Bài viết này cho thấy cách NVIDIA OpenShell 0.1.0 đặt các điều khiển thời gian thực có thể thực thi xung quanh một tác nhân AI hiện có—mà không cần viết lại nó—để các nhóm có thể hạn chế các thao tác API, bảo vệ thông tin xác thực và xem xét các thay đổi quyền bên ngoài khối lượng công việc của tác nhân.
OpenShell cung cấp lớp thời gian thực của Nền tảng An toàn Tác nhân AI Mở rộng của NVIDIA, mở rộng bảo vệ qua các lớp ứng dụng, thời gian thực và hạ tầng.
Video 1. Hướng dẫn cách thiết lập tác nhân tự chủ chạy dài hạn của bạn
Cách các tổ chức áp dụng OpenShell
OpenShell là mã nguồn mở và có sẵn để các doanh nghiệp áp dụng trong hệ sinh thái đối tác rộng lớn, điều này định hình chính sản phẩm. Các tổ chức đang áp dụng OpenShell trong nhiều ứng dụng khác nhau, bao gồm thiết kế chip, tự động hóa doanh nghiệp, tính toán tăng tốc và AI vật lý.
- Cadence sử dụng OpenShell cho thiết kế chip với kỹ sư thiết kế RTL tự động ChipStack Autonomous RTL Design Engineer.
- Slack đang xây dựng nền tảng agent theo yêu cầu trên OpenShell để tự động hóa các tác vụ.
- Gecko Robotics sử dụng OpenShell để quản lý các tác nhân đưa ra quyết định trên các robot vật lý.
Các tính năng của OpenShell
OpenShell 0.1.0 hỗ trợ các thao tác sandbox, xác minh chính sách, tích hợp quản trị, bảo vệ thông tin xác thực và tính toán linh hoạt.
| Năng lực | Cách nó hỗ trợ |
|---|---|
| Hỗ trợ nền tảng đa người thuê | Vận hành các dịch vụ agent cho nhiều nhóm hoặc khách hàng với các không gian làm việc, quyền và quyền truy cập dịch vụ riêng biệt trên cơ sở hạ tầng dùng chung. |
| Xác minh chính sách chính thức | Hiển thị cho người xem là con người và AI xem các quyền được yêu cầu có còn nằm trong các ranh giới bảo mật được xác định hay không, và xác định nơi chúng vượt quá các ranh giới đó. |
| Bảo mật và quản trị có thể mở rộng | Kết nối các dịch vụ bảo mật bên thứ ba, hệ thống quản trị và các kiểm tra tùy chỉnh để thực thi bên ngoài khối lượng công việc của tác nhân. |
| Truy cập dịch vụ được bảo vệ bằng thông tin xác thực | Sử dụng các dịch vụ đã xác thực trong khi các thông tin xác thực thực vẫn nằm bên ngoài khối lượng công việc của tác nhân và được liên kết với các yêu cầu được ủy quyền. |
| Thực thi CPU và GPU | Chạy các thí nghiệm và xử lý dữ liệu trên CPU hoặc GPU xuyên suốt các container, máy ảo và môi trường Kubernetes. |
Bảng 1. Các khả năng mới được giới thiệu trong OpenShell 0.1.0
Thực thi quyền hạn bên ngoài tác nhân
Một tác nhân có thể diễn giải các chỉ thị, chọn công cụ và phát triển cách tiếp cận của nó theo thời gian. OpenShell duy trì sự linh hoạt đó trong khi thực thi các quyền hạn bên ngoài khối lượng công việc của tác nhân.
OpenShell có thể quản lý các đội agent và các sandbox của chúng, mỗi sandbox có quyền riêng, và cho phép quản trị trên các nhóm cùng một lúc. Ba thành phần cung cấp sự kiểm soát này:
- OpenShell Gateway: Quản lý vòng đời và chính sách của nhiều sandbox.
- Trình giám sát OpenShell: Được ghép nối với mỗi sandbox, nó chạy bên ngoài khối lượng công việc của tác nhân và kiểm tra các yêu cầu gửi đi theo chính sách.
- Sandbox OpenShell: Chạy khối lượng công việc với các điều khiển ở cấp độ kernel đối với hệ thống tệp và tiến trình của nó, và không có đường dẫn mạng nào ngoại trừ thông qua trình giám sát.
Hình 1. OpenShell quản lý các sandbox của agent. Các giám sát viên bên ngoài hạn chế liên lạc ra bên ngoài đến các dịch vụ được cấu hìnhThời gian chạy sandbox OpenShell sử dụng các điều khiển nhân hệ điều hành để hạn chế các tệp mà một khối công việc có thể đọc hoặc thay đổi và ngăn nó thu thập thêm các đặc quyền hệ thống. Đối với quyền truy cập mạng, bạn có thể cụ thể hơn so với việc cho phép kết nối đến một dịch vụ. Giám sát viên có thể kiểm tra lưu lượng HTTP, GraphQL và Giao thức Ngữ cảnh Mô hình (MCP) được cấu hình, cho phép truy vấn dữ liệu trong khi chặn ghi thông qua cùng một API. Các điều khiển này vẫn được duy trì khi agent khởi động shell, chạy mã được tạo, khởi động các tiến trình con hoặc đề xuất ủy quyền tác vụ cho các sub-agent. OpenShell ghi lại các quyết định chính sách trong một bản ghi kiểm toán Open Cybersecurity Schema Framework (OCSF). Khi nó chặn một yêu cầu được kiểm tra, nó có thể trả về một lỗi mô tả giúp agent quyết định điều gì tiếp theo.
Xem một quyết định chính sách được thực hiện
Ví dụ này sử dụng curl và một endpoint không xác thực trong GitHub REST API, giúp mỗi quyết định chính sách hiển thị rõ ràng mà không cần API key hay mô hình ngôn ngữ. Các điều khiển tương tự được áp dụng khi một agent thực hiện yêu cầu.
Cài đặt và khởi động OpenShell 0.1.0 bằng hướng dẫn cài đặt. Sau đó, tải xuống các tệp chính sách no-network.yaml và github-readonly.yaml đi kèm vào thư mục examples.
Đầu tiên, tạo một sandbox không có quyền truy cập mạng ra bên ngoài:
openshell sandbox create --name policy-demo \ --no-auto-providers \ --policy examples/no-network.yaml
Lệnh create mở một shell bên trong sandbox. Hãy thử đọc một điểm cuối công khai:
curl -sS --max-time 10 https://api.github.com/zen
Yêu cầu thất bại vì sandbox không có quyền mạng ra. Mở một terminal thứ hai trên máy chủ của bạn và kiểm tra nhật ký để xem chương trình nào đã thực hiện yêu cầu và tại sao nó bị chặn:
openshell logs policy-demo --since 5m
Tiếp theo, thay thế chính sách sandbox bằng một chính sách cho phép truy cập chỉ đọc vào GitHub REST API. Các chính sách được tạo bằng YAML và được biên dịch sang OPA/Rego, mà OpenShell sẽ đánh giá cho mỗi yêu cầu đi ra.
network_policies:
github_api:
name: github-api-readonly
endpoints:
- host: api.github.com
port: 443
protocol: rest
enforcement: enforce
access: read-only
binaries:
- path: /usr/bin/curl
Quy tắc này cho phép /usr/bin/curl truy cập API GitHub trên cổng 443. Với protocol: rest, OpenShell sẽ kiểm tra các yêu cầu HTTP, cho phép đọc nhưng chặn ghi.
Trong terminal máy chủ, áp dụng chính sách thay thế hoàn chỉnh mà không cần khởi động lại sandbox:
openshell policy set policy-demo \ --policy examples/github-readonly.yaml --wait
Quay lại shell sandbox và thử cả hai yêu cầu:
# Read: allowed curl -sS --max-time 10 https://api.github.com/zen # Write: blocked curl -sS --max-time 10 -X POST https://api.github.com/zen
Kiểm tra lại nhật ký của máy chủ để xác nhận OpenShell đã chặn POST. Một tác nhân chạy các lệnh này sẽ gặp phải các hạn chế tương tự.
Truy cập dịch vụ mà không cần lộ thông tin xác thực
Nhiều tác nhân cần các API mô hình hoặc dịch vụ riêng tư để hoàn thành nhiệm vụ của chúng. OpenShell cấp quyền truy cập đó trong khi giữ các thông tin xác thực thực sự bên ngoài khối lượng công việc của tác nhân.
Hình 2. Thông tin xác thực thực sự được thay thế bên ngoài khối lượng công việc của tác nhân và chỉ dành cho một điểm cuối được cấp quyền. Cả truy cập mạng và liên kết thông tin xác thực đều phải cho phép yêu cầu
Quyền ủy quyền cho một dịch vụ không làm cho thông tin xác thực có sẵn cho dịch vụ khác. Nếu tác nhân gửi placeholder đến một điểm đến nằm ngoài các điểm cuối được phê duyệt của thông tin xác thực, OpenShell sẽ từ chối yêu cầu.
Dịch vụ nhận vẫn thực thi các quyền được gắn với thông tin xác thực thực. OpenShell bổ sung một lớp kiểm soát riêng biệt về cách tác nhân có thể sử dụng thông tin xác thực đó. Ví dụ, một chính sách API chỉ đọc được kiểm tra có thể chặn các yêu cầu ghi ngay cả khi bản thân thông tin xác thực có quyền ghi.
Hồ sơ nhà cung cấp xác định thông tin xác thực, các điểm cuối và các chương trình được phép cho một dịch vụ. Giả sử một nhà cung cấp GitHub có tên github đã được cấu hình, hãy gắn nó vào một sandbox mới và khởi động Codex.
openshell sandbox create \ --provider github \ -- codex
Điều chỉnh quyền truy cập mạng trong khi agent đang chạy
Một tác nhân có thể phát hiện ra rằng nó cần một dịch vụ hoặc nguồn dữ liệu chưa được biết đến khi nhiệm vụ bắt đầu. Khi chính sách chặn yêu cầu, OpenShell sẽ ghi lại việc từ chối để một người vận hành hoặc một tác nhân AI phê duyệt có thể xem xét. Khi policy advisor được bật, tác nhân có thể đề xuất một thay đổi chính sách mạng hoặc tệp có phạm vi hẹp. Đề xuất mặc định vẫn ở trạng thái chờ để con người xem xét, và tác nhân không thể tự phê duyệt yêu cầu của mình. Sau khi được phê duyệt, OpenShell sẽ nạp quy tắc mới vào sandbox đang chạy để tác nhân có thể thử lại mà không cần khởi động lại công việc.
Các hạn chế về hệ thống tệp và tiến trình được thiết lập khi sandbox khởi động. Việc thay đổi các điều khiển đó yêu cầu một sandbox mới.
Bật cố vấn chính sách cho một sandbox bằng lệnh sau.
openshell settings set \ --key agent_policy_proposals_enabled \ --value true
Xác minh các quyền hạn mà một chính sách cấp
Một chính sách có thể trông có vẻ hạn chế nhưng vẫn để lộ một con đường khác. Việc chặn ghi GitHub thông qua một công cụ sẽ không có tác dụng nếu một công cụ được phép khác hoặc mã do hệ thống tạo ra có thể sử dụng thông tin xác thực để thực hiện cùng thao tác ghi đó.
Bộ chứng minh chính sách OpenShell sử dụng logic hình thức để kiểm tra các quyền được cấp bởi chính sách, bao gồm cả quyền truy cập do nhà cung cấp đóng góp. Nó có thể chứng minh rằng các quyền được mô hình hóa vẫn nằm trong ranh giới do người vận hành xác định hoặc xác định một hành động cụ thể vượt qua ranh giới đó. Vì kết quả được suy ra từ mô hình chính sách, lời giải thích của tác nhân không thể thay đổi kết quả đó. Tài liệu giới thiệu về phương pháp hình thức được liên kết sẽ hướng dẫn cách thức hoạt động này.
Trong các thử nghiệm đối kháng có thời gian dài, các tác nhân tiên phong với các biện pháp bảo vệ bị giảm thiểu đã dành tới hai giờ để thuyết phục một trình đánh giá AI cấp quyền cho phép chúng sửa đổi một kho GitHub được bảo vệ. Phân tích chính sách chính thức của OpenShell đã cung cấp cho trình đánh giá bằng chứng về những gì các quyền đó cho phép, ngay cả khi các tác nhân cố gắng thao túng trình đánh giá. Sự kết hợp giữa việc đánh giá và các biện pháp kiểm soát thời gian thực đã cho phép truy cập hữu ích, và không có thao tác ghi nào vào kho được bảo vệ xảy ra trong các thử nghiệm này
Công việc đang tiếp diễn mở rộng phân tích chính sách trên nhiều tác nhân, trong đó quyền truy cập của một tác nhân có thể kết hợp với quyền truy cập của tác nhân khác. Mục tiêu là kiểm tra các quyền của hệ thống mà chúng tạo thành cùng nhau. Xem tài liệu chứng minh để biết các kiểm tra được hỗ trợ.
Xây dựng cục bộ và triển khai vào hạ tầng dùng chung
Bắt đầu với một sandbox cục bộ trong khi xây dựng ứng dụng và xác định các quyền của nó. Để phục vụ nhiều người dùng, hãy làm theo hướng dẫn về workspace và truy cập và sử dụng SDK để tạo và quản lý các sandbox. Mỗi khối việc (workload) có chính sách riêng và các nhà cung cấp (providers) được gắn kèm.
Trình trung gian tin cậy bên ngoài sandbox có thể kết nối các dịch vụ danh tính và thêm các kiểm tra cụ thể cho ứng dụng vào đường dẫn yêu cầu. Trình điều khiển tính toán kết nối OpenShell với Docker, Podman, MicroVM và Kubernetes; ma trận hỗ trợ bao gồm các yêu cầu hiện tại.
Tham gia #openshell-dev trên CNCF Slack để đặt câu hỏi, chia sẻ phản hồi và kết nối với các đội ngũ và nhà phát triển khác đang xây dựng trên OpenShell. Khám phá mã nguồn và đóng góp trên GitHub, và theo dõi các công tác nghiên cứu và kỹ thuật đang diễn ra trong ghi chú phát triển OpenShell. Nếu bạn đang nâng cấp một triển khai hiện có, hãy xem ghi chú chuyển đổi 0.1.0.
Sẵn sàng xây dựng? Bắt đầu với hướng dẫn khởi động nhanh để chạy tác nhân của riêng bạn với OpenShell và cấu hình các dịch vụ mà nó có thể truy cập.
Bài viết liên quan
- Xây dựng Agent dựa trên bộ nhớ với NVIDIA NemoClaw
- Tạo quỹ đạo, dấu vết lập luận và nhãn tự động với NVIDIA Alpamayo 2 Super
- Mở rộng khả năng nhận diện trên các nền tảng AV với NVIDIA Omniverse NuRec
- TensorRT 11 có gì mới và AI Engineer cần chuẩn bị gì khi nâng cấp?
- Cách sử dụng AI Agents để chuẩn bị cảnh 3D cho mô phỏng
