Trang này được dịch từ tài liệu tiếng Anh. Lệnh, định danh và ví dụ giữ nguyên. Runtime 7.24.4 · SDK 2.6.7. Bản tiếng Anh
Chính sách bảo mật
Phiên bản được hỗ trợ
Chỉ dòng minor mới nhất nhận bản vá bảo mật. Hãy nâng lên minor hiện tại trước khi báo cáo một lỗ hổng nhằm vào dòng cũ hơn.
| Phiên bản | Được hỗ trợ |
|---|---|
| 7.24.x | Có |
| < 7.24 | Không |
Báo cáo lỗ hổng
Chúng tôi xem bảo mật là việc nghiêm túc. Nếu bạn phát hiện một lỗ hổng, hãy báo cáo có trách nhiệm:
- Liên hệ riêng: Dùng kênh liên hệ AutomatosX để yêu cầu một đường báo cáo bảo mật mật. Đừng đưa chi tiết khai thác hay thông tin xác thực vào tin nhắn cộng đồng công khai.
- Discord: Báo cáo trên Discord của chúng tôi: https://discord.gg/gf9UyPxaN2
Chúng tôi sẽ xác nhận báo cáo của bạn trong vòng 6 ngày làm việc và giữ bạn được thông báo về tiến độ hướng tới bản sửa.
Lưu ý: Chúng tôi không nhận báo cáo bảo mật do AI tạo. Gửi một báo cáo như vậy sẽ dẫn tới việc bị cấm khỏi dự án. Hãy bảo đảm báo cáo gồm các bước tái hiện cụ thể và chứng minh tác động thật.
Mô hình đe dọa
Tổng quan
ax-code là trợ lý lập trình dùng AI, chạy cục bộ trên máy của bạn. Nó cung cấp một hệ tác nhân có quyền dùng các công cụ mạnh, gồm thực thi shell, thao tác tệp và truy cập web.
Mặc định cô lập runtime là full-access (sandbox tắt), với ghi hệ thống tệp không hạn chế và truy cập mạng. Đây là tư thế tiện lợi cho các dự án cục bộ đáng tin, không phải ranh giới bảo mật. Hãy chọn workspace-write hoặc read-only trước khi dùng AX Code với kho không đáng tin hoặc tải không có người giám sát.
Sandbox cô lập thực thi
ax-code có một sandbox cô lập thực thi tích hợp, hạn chế những gì tác nhân AI có thể truy cập. Có ba chế độ:
| Chế độ | Hành vi |
|---|---|
| Truy cập đầy đủ (mặc định) | Tắt hoàn toàn cô lập và bật truy cập mạng |
| Ghi trong không gian làm việc | Chỉ cho ghi bên trong không gian làm việc; .git và .ax-code luôn được bảo vệ; mạng tắt theo mặc định |
| Chỉ đọc | Chặn mọi đột biến tệp và lệnh shell |
Thuộc tính chính:
- Hành vi mặc định — AX Code khởi động ở
full-accesstrừ khi--sandbox,AX_CODE_ISOLATION_MODEhoặc cấu hình đặt một chế độ khác - Chế độ hạn chế được khuyến nghị — dùng
workspace-writecho kho không đáng tin hoặc kho nhóm; nó giới hạn ghi trong không gian làm việc và tắt mạng theo mặc định - Thực thi ở mức công cụ — mọi công cụ đột biến (bash, edit, write, apply_patch) và công cụ mạng (webfetch, websearch, codesearch) kiểm tra chính sách cô lập trước khi thực thi
- Đường dẫn được bảo vệ — các thư mục
.gitvà.ax-codeluôn được bảo vệ khỏi ghi, kể cả ở chế độ ghi trong không gian làm việc - Lời nhắc leo thang — ở các chế độ hạn chế, vi phạm cô lập hiện hộp thoại phê duyệt thay vì thất bại im lặng; người dùng có thể cho phép một thao tác bị chặn một lần mà không đổi cấu hình
- Điều khiển CLI —
--sandbox read-only,--sandbox workspace-write,--sandbox full-access - Biến môi trường —
AX_CODE_ISOLATION_MODE
Backend cô lập
| Backend | Hành vi |
|---|---|
| app (mặc định) | Kiểm tra tầng ứng dụng di động trên mọi công cụ |
| os | Kiểm tra ứng dụng cộng sandbox nhân đối với bash (Seatbelt trên macOS qua sandbox-exec, bubblewrap trên Linux khi đã cài bwrap). Thất bại theo hướng đóng nếu thiếu công cụ hệ điều hành |
| auto | Ưu tiên bọc bash của hệ điều hành khi có; nếu không thì chỉ lùi về tầng ứng dụng |
{
"isolation": {
"mode": "workspace-write",
"network": false,
"backend": "auto"
}
}
Hoặc đặt AX_CODE_ISOLATION_BACKEND=os|auto|app.
Cô lập hệ điều hành cho bash từ chối ghi ngoài các gốc không gian làm việc và từ chối mạng khi network: false. Kiểm tra tầng ứng dụng vẫn luôn chạy. Trên nền tảng không có Seatbelt/bubblewrap, hãy dùng backend: "app" hoặc một container/VM.
Bảo mật máy chủ
- Mặc định chỉ localhost — máy chủ gắn vào
127.0.0.1, không truy cập được từ mạng - Cần mật khẩu để truy cập mạng — gắn vào
0.0.0.0hoặc bất kỳ địa chỉ không phải localhost nào đều yêu cầu đặtAX_CODE_SERVER_PASSWORD; máy chủ từ chối khởi động nếu thiếu - Basic Auth được thực thi — khi đã đặt
AX_CODE_SERVER_PASSWORD, HTTP Basic Auth là bắt buộc trên mọi điểm cuối API - CORS có thể cấu hình — các nguồn gốc được phép thêm có thể chỉ định qua
--cors
Lưu trữ thông tin xác thực
Khóa API của nhà cung cấp được mã hóa khi nằm yên bằng AES-256-GCM với dẫn xuất khóa PBKDF2 và được lưu trong thư mục dữ liệu AX Code cục bộ (~/.local/share/ax-code/) với quyền tệp chỉ dành cho người dùng (0600).
Khóa mã hóa được dẫn xuất từ thuộc tính máy cục bộ (tên máy, nền tảng, kiến trúc). Điều này bảo vệ khỏi việc lộ offline tình cờ (ví dụ chia sẻ tệp nhầm) nhưng không bảo vệ trước kẻ tấn công quyết tâm có quyền truy cập máy chủ. Nó không tương đương với keychain của hệ điều hành hay kho bí mật có phần cứng chống lưng.
Token OAuth của MCP, bí mật máy khách và token truy cập/làm mới tài khoản cũng được mã hóa khi nằm yên bằng cùng cơ chế. Siêu dữ liệu không nhạy cảm (URL máy chủ, mốc hết hạn, email, mã tài khoản) vẫn ở dạng văn bản thuần.
Xác minh tạo tác phát hành
Cả trình cài Bash (install) và trình cài PowerShell trên Windows (install.ps1) đều xác minh kho phát hành GitHub đã tải bằng minisign trước khi giải nén. Kho phát hành và chính tập lệnh trình cài PowerShell mang chữ ký tách rời. Khóa công khai phát hành AX Code đã ghim là:
RWSlDu++afxCz01OqhYWhfo8+L8pVbSYXJBEb2zoWBuK0WACIzbGVZRO
Mỗi trình cài tải tài sản .minisig khớp với kho đã chọn và thất bại theo hướng đóng khi xác minh thất bại. Nếu minisign chưa có trên PATH, các trình cài tải kho minisign 0.12 chính thức đã ghim từ https://download.ax-code.com/vendor/minisign/0.12/, kiểm tra SHA-256 của kho, rồi kiểm tra lại tệp thực thi đã giải nén trước khi lưu đệm. Một tệp nhị phân minisign đã có trên PATH là công cụ của người vận hành và không bị băm lại. Chỉ đặt AX_CODE_SKIP_MINISIGN_VERIFY=1 khi bạn cố ý chấp nhận một bản tải phát hành không thể xác minh.
Lệnh một dòng tiện lợi irm …/install.ps1 | iex không xác minh tập lệnh trình cài trước khi thực thi. Với các lần cài nhạy cảm về bảo mật, hãy tải install.ps1 và install.ps1.minisig, xác minh tập lệnh bằng minisign, rồi chạy cục bộ (xem Kênh cài đặt và runtime).
Người bảo trì nên giữ khóa bí mật minisign ở dạng mã hóa. Để ký phát hành cục bộ trên macOS, hãy lưu cụm mật khẩu trong Keychain thay vì một tệp văn bản thuần:
security add-generic-password -U -a ax-release -s ax-minisign -w
Công cụ phát hành tự đọc mục Keychain đó khi chưa đặt AX_CODE_MINISIGN_PASSWORD.
Quy trình phát hành GitHub theo thẻ ký các kho trước khi tải lên. Nó cần các bí mật kho này:
AX_CODE_MINISIGN_SECRET_KEY_B64
AX_CODE_MINISIGN_PASSWORD
AX_CODE_MINISIGN_SECRET_KEY_B64 phải là nội dung mã hóa base64 của
khóa bí mật minisign ax.minisign.key đã mã hóa (đường dẫn cục bộ có thể là liên kết tượng trưng
tới ax.sec). Quy trình ghi nó vào một
tệp khóa tạm 0600, xác minh khóa công khai đã ghim, ký từng kho phát hành
và tải lên các tài sản .minisig khớp cùng các kho.
Với kho CLI macOS, quy trình yêu cầu và nhập chứng chỉ Apple Developer ID bằng các bí mật kho này:
APPLE_CERTIFICATE
APPLE_CERTIFICATE_PASSWORD
APPLE_TEAM_ID
APPLE_API_KEY_B64
APPLE_API_KEY_ID
APPLE_API_ISSUER
Trên đường đó, các thư viện gốc được đóng gói được ký bằng danh tính Developer
ID Application đã nhập, ZIP macOS được gửi tới dịch vụ công chứng của Apple,
rồi ZIP không đổi được bảo vệ bằng chữ ký minisign tách rời. Kho ZIP
không thể đóng ghim, nên công chứng phải xảy ra trước khi tải tạo tác lên
và trước khi tạo .minisig. Bản dựng phát hành thất bại theo hướng đóng khi thiếu bất kỳ
thông tin xác thực ký hoặc công chứng Apple nào.
Lịch sử khóa ký phát hành
| Ngày hiệu lực | Mã khóa | Khóa công khai | Trạng thái |
|---|---|---|---|
| 2026-07-19 | CF42FC69BEEF0EA5 |
RWSlDu++afxCz01OqhYWhfo8+L8pVbSYXJBEb2zoWBuK0WACIzbGVZRO |
Hiện hành |
| 2026-07-19 | 2D5140E0904E48B3 |
RWSzSE6Q4EBRLeUmabk1YM6bzP/wn54tXE09il3d2srulrCfaB4Uyt1n |
Đã xoay ra |
| 2026-06-16 | 5B7AB63CD6D674BE |
RWS+dNbWPLZ6W9TH486c9zdH84NiiuFnm4VpVTRlXoMHClyQx/fY7W2A |
Đã xoay ra |
| trước 2026-06-16 | 8138FAD32CAD95BA |
RWS6la0s0/o4gdFUZ0Bk/BkrnN8qC2CFOfLXVP5OtQTrvm1BQeOvXgao |
Đã xoay ra |
Khóa ký phát hành được xoay gần nhất vào 2026-07-19. Trình cài
và quy trình phát hành chỉ ghim khóa hiện hành, nên kho được ký bằng khóa đã nghỉ
sẽ thất bại khi xác minh chữ ký. Sau một lần xoay, người bảo trì phải ký lại
các kho phát hành lịch sử bằng script/resign-release-assets.ts để mọi
bản phát hành đã xuất bản xác minh được với khóa đã ghim mà không tin các khóa đã nghỉ.
Để ký lại và tải lại các tài sản .minisig của một bản phát hành hiện có bằng
khóa hiện hành:
tsx script/resign-release-assets.ts --tag v5.5.0 --key-dir ~/signkey
Phạm vi
Trong phạm vi
| Hạng mục | Ví dụ |
|---|---|
| Vượt sandbox | Thực thi lệnh hoặc ghi tệp ngoài ranh giới được phép |
| Vượt xác thực | Lách AX_CODE_SERVER_PASSWORD ở chế độ máy chủ |
| Rút khóa | Trích khóa API đã lưu mà không có quyền truy cập máy cục bộ |
| Đi xuyên đường dẫn | Công cụ đọc/ghi ngoài thư mục làm việc đã định |
| Tiêm lệnh | Đầu vào được chế tạo thực thi lệnh tùy ý bằng cách vượt cô lập |
| Lỗ hổng phụ thuộc | CVE đã biết trong phụ thuộc được đóng gói, có đường tấn công khả thi |
Ngoài phạm vi
| Hạng mục | Lý do |
|---|---|
| Cách nhà cung cấp LLM xử lý dữ liệu | Dữ liệu gửi tới nhà cung cấp bạn đã cấu hình chịu chính sách của họ |
| Hành vi máy chủ MCP | Các máy chủ MCP bên ngoài mà bạn cấu hình nằm ngoài ranh giới tin cậy của chúng tôi |
| Tệp cấu hình độc hại | Người dùng kiểm soát cấu hình của chính họ; sửa nó cần quyền truy cập cục bộ |
| Kỹ nghệ xã hội | Tiêm lời nhắc qua kho không đáng tin là giới hạn đã biết của tác nhân LLM |
| Thoát sandbox cấp hệ điều hành | Sandbox cô lập hoạt động ở tầng ứng dụng, không phải tầng tiến trình hệ điều hành |
Khả năng bảo mật doanh nghiệp
AX Code được thiết kế cho dùng trong doanh nghiệp với các tính năng cứng hóa sau:
- Quyền chi tiết: Bộ quy tắc theo tác nhân và theo mẫu (
allow/deny/ask). Tác nhân bảo mật mặc định chỉ đọc. Quy tắc được đánh giá trên dự án, tác nhân và các danh sách đã phê duyệt. - Dấu vết kiểm toán phiên: Mọi lần gọi công cụ, quyết định quyền và thay đổi tệp được ghi trong SQLite kèm ảnh chụp. Hỗ trợ phát lại, rẽ nhánh và xuất cho rà soát tuân thủ.
- Tái cấu trúc tất định (DRE):
impact_analyze,refactor_planvàrefactor_apply(worktree bóng cùng lint/kiểm tra kiểu/kiểm thử) cung cấp các thay đổi có thể kiểm toán và đảo ngược. - Quản lý thông tin xác thực: Mã hóa AES-256-GCM cho mọi khóa và token. Cô lập theo thư mục qua
InstanceState. - Thực thi Sandbox chọn tham gia: Cô lập cấp ứng dụng với phân tích lệnh bash (tree-sitter). Chọn
workspace-writehoặcread-onlyđể thực thi ranh giới sandbox; các đường dẫn được bảo vệ (.git,.ax-code) áp dụng ở các chế độ có sandbox. - Cứng hóa máy chủ: Mặc định chỉ localhost; truy cập từ xa được bảo vệ bằng mật khẩu với Basic Auth.
- Trí tuệ mã và quét: Phát hiện bí mật/giá trị cứng sẵn, phân tích tác động phụ thuộc.
Phản hồi lập trình có CodeQL hỗ trợ
Kho chạy CodeQL như một lớp phân tích bảo mật nền cho yêu cầu kéo,
đẩy tới dev, quét theo lịch và kích hoạt thủ công. CodeQL không
nằm trên đường LSP trực tiếp hay đường trí tuệ mã; đó là nguồn bằng chứng chậm hơn, sâu hơn
cho phát hiện luồng dữ liệu, nhiễm bẩn và chất lượng bảo mật, phù hợp hơn
sau khi các thay đổi mã nguồn đã ổn định.
Quy trình hiện tại phân tích:
- Mã runtime, TUI, SDK, tích hợp và tập lệnh JavaScript cùng TypeScript.
- Quy trình GitHub Actions và các hành động tổng hợp cục bộ.
- Các crate Rust dưới
crates/với một lần dựng Cargo thủ công để mã addon gốc và TUI được trích nhất quán.
Trải nghiệm nhà phát triển dự kiến là:
- Tác giả yêu cầu kéo nhận cảnh báo CodeQL trong quét mã GitHub cùng với kiểm tra kiểu, kiểm thử tất định, quét phụ thuộc OSV và các chốt cấu trúc kho hiện có.
- Người bảo trì phân loại kết quả ban đầu trước khi coi CodeQL là cổng hợp nhất cứng, để phát hiện mới hữu ích thay vì ồn.
- Các luồng rà soát/gỡ lỗi AX Code sau này có thể nạp SARIF của CodeQL hoặc cảnh báo quét mã
GitHub như bằng chứng bảo mật tường minh, với các trường nguồn gốc như
source: "codeql", mã quy tắc, mức nghiêm trọng, tệp, dòng, vết luồng dữ liệu và SHA của commit đã phân tích. - Bằng chứng CodeQL nên được hiện cạnh
security_scancục bộ,hardcode_scan, chẩn đoán LSP và phân tích tác động có đồ thị chống lưng, không phải như sự thay thế ẩn cho bất kỳ thứ nào trong số đó.
Khi thêm truy vấn CodeQL tùy chỉnh, hãy ưu tiên các ranh giới bảo mật riêng của kho hơn các kiểm tra kiểu lint rộng. Mục tiêu giá trị cao gồm đường thoát sandbox, thực thi lệnh với đối số chưa làm sạch, đi xuyên đường dẫn quanh việc giữ trong không gian làm việc, lan truyền bí mật/môi trường sang tiến trình con, và thiếu xác thực tuyến máy chủ.
Để quản trị doanh nghiệp đầy đủ (RBAC, chính sách dưới dạng mã, xuất SIEM, kiểm toán mật mã), hãy tích hợp với AX Trust (hạng mục lộ trình).
Xem docs/guides/sandbox.md để biết cấu hình cô lập và hành vi runtime.