Bỏ qua tới nội dung chính
Quay lại tin tức

Axiom – ngăn chặn các tác tử AI tự đặt ra những giới hạn mà mã nguồn chưa từng quy định

Hacker News AI· nsara11· 6/11/2026general

Đường dẫn bài viết: https://github.com/axiom-csc/axiom-skill Đường dẫn bình luận: https://news.ycombinator.com/item?id=50386839 Điểm: 1 Số bình luận: 0

Axiom — Rào chắn cục bộ cho các tác tử lập trình AI Axiom là rào chắn cục bộ dành cho các tác tử lập trình AI. Công cụ này hoạt động như một điểm can thiệp trước khi ghi (pre-write hook) trong Claude Code và Cursor, đồng thời đóng vai trò bộ lọc stdin/stdout đối với bất kỳ tác tử nào có khả năng chuyển tiếp các lệnh gọi công cụ qua tiến trình con. Không phụ thuộc thư viện ngoài. Không sử dụng mã khóa API. Không tiêu tốn token. Cơ chế can thiệp được thực hiện trước khi lệnh ghi diễn ra. Cơ chế phát hiện hoạt động dựa trên biểu thức chính quy (regex) và mô hình cây cú pháp trừu tượng (AST), không dựa trên ngữ nghĩa. Tác tử hoặc đối tượng tấn công có chủ đích có thể vượt qua các bước kiểm tra này thông qua việc xáo trộn mã ở mức độ đơn giản. Công cụ này xử lý các vi phạm vô ý phổ biến nhất, không có khả năng chống lại các cuộc tấn công đối kháng. Để ngăn ngừa tấn công đối kháng, cần kết hợp công cụ với giải pháp cô lập vùng chứa (container) và cơ chế bảo vệ nhánh mã nguồn. [ Claude Code / Đường ống tác tử AI ] | ( Điểm can thiệp PreToolUse Hook ) | +───────────────────────────────────────────────────+ | Động cơ lõi Axiom | | +─────────────────────────────────────────────+ | | | Noema: Đường ống hạ cấp AST nhận biết phạm vi| | | +─────────────────────+───────────────────────+ | | | | | +─────────────────────+───────────────────────+ | | | Lemma: Bộ giải logic quan hệ (Python) | | | +─────────────────────+───────────────────────+ | | | | | +─────────────────────+───────────────────────+ | | | Manam: Bộ điều khiển nhận thức ba trạng thái | | | +─────────────────────+───────────────────────+ | +───────────────────────────────────────────────────+ | +───────────────+───────────────+ v v [TRUE / FALSE] [UNKNOWN] (Cho phép chạy công cụ) (Dừng theo cơ chế đóng an toàn) Cài đặt # Cấp độ dự án (khuyến nghị) curl -fsSL https://raw.githubusercontent.com/axiom-csc/axiom-claude-skill/v1.2.2/install.sh | bash # Toàn cục — áp dụng cho mọi dự án trên máy này curl -fsSL https://raw.githubusercontent.com/axiom-csc/axiom-claude-skill/v1.2.2/install.sh | bash -s -- --global Quy trình hoàn tất. Trình cài đặt sẽ tải xuống điểm can thiệp, đăng ký vào tệp .claude/settings.json và khởi tạo tệp .axiom/invariants.yaml từ cơ sở mã nguồn chỉ trong một bước. Kể từ thời điểm này, Axiom sẽ tự động vận hành trong mọi phiên làm việc của Claude Code và Cursor. Lý do phương thức curl | bash bảo đảm an toàn: Trình cài đặt là một tập lệnh bash có chức năng tải xuống 6 tệp Python và đăng ký điểm can thiệp trong .claude/settings.json. Hệ thống không thực hiện các lệnh gọi mạng sau khi cài đặt, không bao giờ chạy dưới quyền quản trị (root) và chỉ ghi vào thư mục dự án (hoặc ~/.claude/ với tham số --global). Tham khảo mã nguồn tại: https://github.com/axiom-csc/axiom-claude-skill/blob/v1.2.2/install.sh Đối với các tác tử bổ sung: curl -fsSL .../install.sh | bash -s -- --agents=cursor # Claude Code + Cursor curl -fsSL .../install.sh | bash -s -- --agents=cursor,vscode # + Tác vụ lưu tệp của VS Code Gỡ cài đặt bash install.sh uninstall Nguyên lý hoạt động Lần xử lý Thành phần Chức năng 1 Noema Trích xuất các ràng buộc định kiểu từ ngữ cảnh nhiệm vụ thông qua mẫu biểu thức chính quy (regex) 2 Lemma Đánh giá các ràng buộc dựa trên các điều kiện bất biến (logic Python tất định) 3 Manam Thực thi logic 3 trạng thái: TRUE / FALSE / UNKNOWN Khi trả về UNKNOWN — Claude dừng lại và đưa ra câu hỏi chuẩn xác. Khi trả về FALSE — Claude thông báo lỗi AxiomConstraintViolation và ngừng hoạt động. Khả năng tương thích của tác tử Tác tử Chế độ Khả năng chặn? Claude Code Điểm can thiệp PreToolUse thông qua .claude/settings.json Có — chặn trước khi ghi Cursor .cursor/hooks.json (cùng định dạng) Có — chặn trước khi ghi Aider / Continue / thông thường Chế độ --stdin (chuyển tiếp lệnh gọi công cụ qua JSON) Có — nếu được liên kết thủ công VS Code + Copilot Tác vụ lưu tệp (.vscode/axiom-task.json) Không — gắn cờ cảnh báo sau khi ghi Chế độ tổng quát --stdin — áp dụng cho mọi tác tử có khả năng chuyển tiếp dữ liệu JSON qua một tiến trình con: echo '{"tool_name":"Write","tool_input":{"file_path":"src/auth/middleware.py","content":"if user.id==1: return True"}}' \ | python3 .claude/skills/axiom-csc/hooks/pre_tool_use.py --stdin # exit 1 = từ chối (deny), exit 2 = hỏi lại (ask), exit 0 = cho phép (allow) Nội dung phát hiện Danh mục Nội dung Axiom phát hiện Hạn chế đã ghi nhận Thanh toán / giới hạn số học Các giới hạn gán cứng không khớp với chính sách Các giới hạn lưu trong biến (max = 10000; amount > max); biểu thức toán học — MAX_TRANSACTION = 10000 * 8 được đọc là 10000 thay vì 80000 Xác thực: ID gán cứng Kiểm tra user.id == 1 trong các đường dẫn xác thực (dựa trên AST) Biến bí danh sâu hơn một bước chuyển tiếp Xác thực: lệnh trả về vô điều kiện if True: return True trong các đường dẫn xác thực Các chuỗi điều kiện phức tạp Xác thực: chuỗi ký tự định danh vai trò "admin", "root" trong các tệp xác thực không thuộc tệp cấu hình Tệp cấu hình được loại trừ theo thiết kế; tên vai trò không phải bằng tiếng Anh Xác thực: kiểm tra bị vô hiệu hóa bởi chú thích # check permission trong các tệp xác thực Chú thích không phải bằng tiếng Anh Lệnh Bash nguy hiểm DROP TABLE, rm -rf (ngoài thư mục tmp), curl|bash, các thao tác ghi vào .axiom/ Lệnh nhiều dòng, heredoc, lệnh thông qua subprocess của Python; dữ liệu tải trọng mã hóa được chuyển tiếp sang bash qua đường ống (base64 -d | bash, xxd, các mẫu giải mã thập lục phân) Thông tin bí mật Khóa AWS, khóa Stripe chính thức/thử nghiệm, khóa OpenAI, khối chứng chỉ PEM, mật khẩu gán cứng Thông tin bí mật lưu trong biến trước khi gán; thông tin bí mật mã hóa bằng base64 Xung đột gói phụ thuộc Viết sai tên các gói requests, numpy, flask, django, express, react, lodash, axios Các gói không nằm trong danh sách định sẵn Giới hạn tần suất Các giá trị yêu cầu/phút (req/min) tự tạo Các giá trị nằm trong tệp cấu hình riêng biệt Tải tệp lên Dung lượng trần giả định Dung lượng trần biểu thị bằng byte thay vì MB Cơ sở dữ liệu Mệnh đề LIMIT tùy ý Mệnh đề LIMIT trong chú thích hoặc chuỗi ký tự Hạn mức API Hạn mức số lượt gọi hằng ngày tự tạo Hạn mức lưu trong biến môi trường Các kiểm tra xác thực được áp dụng theo phạm vi đường dẫn — chỉ kích hoạt trong các tệp thuộc auth/, middleware/, permissions/ hoặc roles/. Cấu trúc tương tự trong src/utils/helpers.py vẫn được chấp thuận. Cơ chế phát hiện vượt quyền xác thực sử dụng mô-đun ast của Python, do đó khoảng trắng và các biến bí danh đơn giản không thể vượt qua bước kiểm duyệt. Ví dụ trước / sau Khi không sử dụng Axiom — tác tử thiết lập MAX_TRANSACTION cao hơn mức chính sách cho phép: # Claude ghi: MAX_TRANSACTION = 75000 # tăng hạn mức cho gói doanh nghiệp Khi có Axiom (hook kích hoạt ngay khi xuất hiện lệnh gọi Edit): ❌ [Lemma BLOCK] AxiomConstraintViolation: transaction_value = 75000.0 violates lte 50000 [axiom-csc] Invariant violation: ❌ [Lemma BLOCK] AxiomConstraintViolation: transaction_value = 75000.0 violates lte 50000 Claude nhận diện lý do từ chối và yêu cầu làm rõ thay vì âm thầm ghi đè giá trị sai phạm. Để ghi lại ảnh động minh họa (GIF): cài đặt vhs (brew install charmbracelet/tap/vhs), sau đó chạy lệnh: vhs scripts/demo.tape Hoặc ghi lại bằng asciinema: asciinema rec demo.cast && bash scripts/record_demo.sh — tải tệp .cast lên asciinema.org và nhúng đường dẫn.

Nguồn tin: Hacker News AI — Tác giả: nsara11. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.