Tải AX Code · Miễn phíTài liệu

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:

  1. 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.
  2. 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-access trừ khi --sandbox, AX_CODE_ISOLATION_MODE hoặc cấu hình đặt một chế độ khác
  • Chế độ hạn chế được khuyến nghị — dùng workspace-write cho 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 .git và .ax-code luô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.0 hoặc bất kỳ địa chỉ không phải localhost nào đều yêu cầu đặt AX_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_plan và 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-write hoặc read-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à:

  1. 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ó.
  2. 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.
  3. 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.
  4. Bằng chứng CodeQL nên được hiện cạnh security_scan cụ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.