Mọi thứ ở đây được cấu hình trong console (Security → Firewall), mà các
route quản lý dùng session / access token của bạn — không phải một relay
key
sk-orca-…. Các cuộc gọi /v1/* của agent bạn không thay đổi.1. Tại sao quy tắc theo từng cuộc gọi bỏ sót chuỗi
Các tool glob và mệnh đề argument của firewall là phi trạng thái và xác định theo thiết kế — chúng quyết định một cuộc gọi, nhanh, trên hot path. Đó đúng là cái bạn muốn cho “blockshell.exec rm -rf.”
Nó đúng là sai cho một cuộc rò rỉ cháy-chậm nơi mỗi cuộc gọi riêng lẻ đều
hợp pháp.
Hai tool bổ trợ lấp khoảng trống:
Quy tắc chuỗi
Một quy tắc bạn soạn khớp một chuỗi có thứ tự các cuộc gọi trong một
cửa sổ thời gian — “đọc hàng loạt → export → egress.” Bạn đặt tên mẫu.
Phát hiện bất thường
Firewall học hình dạng dùng tool bình thường của mỗi workspace và gắn
cờ các lệch — vòng lặp retry, đường tool chưa-từng-thấy, và đột biến
khối lượng/chi phí. Không quy tắc nào để soạn.
2. Quy tắc chuỗi: đặt tên chuỗi tấn công
Một quy tắcsequence sống bên trong một
chính sách firewall như bất kỳ quy tắc
nào khác, nhưng thay vì một tool_name_glob đơn nó mang một danh sách có thứ
tự các bước. Mỗi bước là một tool glob với một min_count tùy chọn và một
egress: true tùy chọn; các bước phải xảy ra theo thứ tự (xen kẽ với các
cuộc gọi không liên quan là ổn) và cả chuỗi phải hoàn tất trong
window_seconds.
crm.*, rồi gọi bất kỳ tool
*.export nào, rồi thực hiện bất kỳ cuộc gọi egress nào — tất cả trong vòng
mười phút. Mỗi cuộc gọi tự thân sẽ qua; mẫu mới là tín hiệu.
Toàn bộ cú pháp trường sequence — window_seconds: 0 cho không giới hạn
thời gian, các mặc định min_count, ngữ nghĩa thứ tự bước — nằm trong
schema quy tắc. Soạn các quy tắc chuỗi
trong trình chỉnh sửa quy tắc của console; lưu là một hành động Developer+.
3. Phát hiện bất thường: lệch khỏi mức bình thường đã học
Trong khi các quy tắc chuỗi hỏi “chính mẫu cụ thể này có xảy ra không,” phát hiện bất thường hỏi “có bất cứ điều gì về lần chạy này bất thường với workspace này không.” Nó không cần quy tắc — firewall xây một baseline từ traffic của chính bạn và chấm điểm hoạt động live trên đó. Bốn loại hiện ra:rate_spike — một cơn lũ khối lượng
rate_spike — một cơn lũ khối lượng
Khối lượng cuộc gọi theo-(tool, key) chấm điểm trên baseline đã học cho
giờ-trong-tuần này. Một dòng hiện ra khi số đếm vượt một sàn tuyệt đối
và chạy cao so với baseline, hoặc khi z-score của nó vượt ngưỡng thống
kê. Nên “100 cuộc gọi
db.query vào 3 giờ sáng Chủ Nhật” nổi bật dù một
đợt cùng kích thước vào 2 giờ chiều Thứ Ba thì không.burn_spike — một đột biến chi phí
burn_spike — một đột biến chi phí
Cùng ý tưởng áp dụng cho chi tiêu: một tool đốt bội số chi phí baseline đã
học cho giờ-trong-tuần này. Cảnh báo sớm denial-of-wallet — ghép nó với
một quy tắc
cap_cost để thực thi một
trần cứng.retry_loop — đập một tool đang fail
retry_loop — đập một tool đang fail
Một nhóm
(conversation, tool, arguments) lặp lại nhiều lần trong một cửa
sổ chật — một agent kẹt gọi cùng tool fail với cùng đối số lặp đi lặp lại,
chứ không phải polling chậm hợp lệ.novel_path — một chuyển tiếp tool-tới-tool chưa thấy
novel_path — một chuyển tiếp tool-tới-tool chưa thấy
Một chuyển tiếp
tool_a → tool_b mà workspace này chưa bao giờ làm.
Lần đầu một agent đi từ read_file thẳng tới http_fetch, cạnh đó sáng
lên ngay cả khi cả hai tool đều được phép riêng lẻ.Baseline giờ-trong-tuần
Baseline là một trung bình trượt 14 ngày chia theo giờ trong tuần (weekday × 24 + hour), nên Thứ Ba-14:00 được so sánh cụ thể với lịch sử Thứ
Ba-14:00 trong quá khứ — không phải một trung bình mọi-thời-điểm phẳng vốn sẽ
xóa nhịp điệu hàng ngày và hàng tuần thực của bạn. Một workspace hoàn toàn mới
chưa có mức bình thường đã học vẫn bắt một cơn lũ hiển nhiên qua một sàn tuyệt
đối, nên bạn được bảo vệ từ ngày đầu.
4. Một lượt đi cụ thể
Giả sử một prompt bị xâm phạm đẩy một trong các agent của bạn vào một vòng lặp thất bại chật, rồi dò một đường export nó chưa bao giờ chạm. Đây là cái bạn thấy — không quy tắc nào soạn trước:Agent cư xử sai
Các hướng dẫn bị tiêm đẩy agent retry một
db.query đang fail với đối số y
hệt, rồi gọi report.export theo sau bởi một fetch đi ra ngoài — một
đường mà workspace này chưa bao giờ chạy.Mở feed bất thường
Trong Security → Firewall → Anomalies, lần chạy hiện ra một
retry_loop
trên db.query và một novel_path trên cạnh report.export → http_fetch.
Đọc feed là một hành động Member — bất kỳ ai trong team đều có thể
triage.Xác nhận trong dấu vết events
Nhấp xuyên qua tới events log và
analytics lần chạy để thấy chuỗi cuộc
gọi chính xác, tương quan với lần chạy agent và conversation. Feed bất
thường là Member-đọc-được, nhưng events log và dấu vết lần chạy mang xuất
xứ cuộc-gọi-tool và là Developer+.
Chuyển phát hiện thành một quy tắc
Giờ bạn đã thấy chuỗi, hãy mã hóa nó: một
deny trên export nguy hiểm, một
egress allow-list trên fetch, hoặc
một quy tắc chuỗi audit cả mẫu lần sau. Phát hiện bất thường tìm cái chưa
biết; một quy tắc ghim cái đã biết.5. Quy tắc chuỗi so với phát hiện bất thường
Chúng giải quyết các vấn đề kề nhau — chọn cái khớp với cái bạn biết:| Quy tắc chuỗi | Phát hiện bất thường | |
|---|---|---|
| Bạn soạn | Chuỗi chính xác | Không gì — nó học |
| Bắt | Một mẫu nhiều bước đã biết | Cái chưa biết / bất thường |
| Hành động | Áp verdict của quy tắc lên cuộc gọi hoàn tất (audit / pending_approval / deny) | Hiện ra trên feed |
pending_approval hoặc deny) có thể quản trị cuộc gọi
hoàn tất. Để có một điểm dừng cứng trên một cuộc gọi đơn bất kể chuỗi nào, dùng
một verdict theo từng cuộc gọi.
6. RBAC & các route đằng sau feed
Feed bất thường và các quy tắc chuỗi nằm dưới các route quản lý firewall của workspace — session / access token của bạn, không bao giờ một relay key:| Method & path | Vai trò | Mục đích |
|---|---|---|
GET /api/workspace/firewall/anomalies | Member | Đọc feed bất thường (?window=). |
POST /api/workspace/firewall/anomalies/snooze | Developer+ | Snooze feed ({until}, clamp về 7 ngày). |
POST /api/workspace/firewall/rules | Developer+ | Tạo một quy tắc chuỗi (hoặc bất kỳ) dưới một chính sách. |
POST /api/workspace/firewall/test | Developer+ | Chạy thử một chính sách trên một cuộc gọi mẫu trước khi phụ thuộc vào nó. |
Đi đâu tiếp theo
Schema quy tắc
Toàn bộ trường
sequence — steps, min_count, window_seconds, và mọi
trường quy tắc khác.Events log
Nơi các chuỗi đã khớp và bất thường đáp xuống — lọc theo lần chạy, bề mặt,
và verdict.
Cap cost
Biến một tín hiệu
burn_spike thành một trần chi tiêu cứng theo từng lần
chạy.Kiểm soát egress
Dừng bước rò rỉ cuối cùng của một chuỗi tại ranh giới mạng.
