Chuyển đến nội dung chính
Khi ứng dụng của bạn gửi code vào một mô hình — để review nó, hoàn thành nó, hoặc chạy nó qua một agent — bạn muốn mô hình được cảnh báo về các phần rủi ro và workspace được chặn khỏi rò rỉ secret trong cùng một lượt. Một guardrail bảo mật code làm chính xác điều đó: nó chạy các quy tắc bảo mật code của bạn trên request trước khi mô hình thượng nguồn thấy một token. Đây là một trang đích tập trung. Về engine guardrail đầy đủ — loại quy tắc, giai đoạn, phân giải, sandbox test — xem tài liệu tham khảo Guardrailstổng quan guardrails.

1. Một guardrail bảo mật code thực sự làm gì

OrcaRouter phát hành một họ preset code_security bạn áp dụng từ trình chọn template. Mỗi cái là một quy tắc guardrail thông thường — theo phạm vi workspace, có thứ tự, có thể gắn vào bất kỳ key nào — được tinh chỉnh cho code:

.env / Secret-File Block

Block các gán secret kiểu .env (DATABASE_URL=, AWS_SECRET_ACCESS_KEY=, API_TOKEN=…) và các bãi đổ config nhiều dòng được dán trước khi chúng đến provider. Dựa trên cú pháp gán, không phải giá trị.

License Compliance (copyleft)

Gắn cờ các request mang theo header copyleft mạnh — các tag SPDX GPL / AGPL / LGPL / SSPL hoặc tên license đầy đủ — để một reviewer có thể xác nhận code an toàn để trộn vào một codebase permissive. Chỉ-flag.

GPL/AGPL Provenance (output)

Flag giai đoạn output trên gợi ý mô hình mang theo chữ ký nguồn gốc copyleft — một dấu mô hình có thể đã nhả lại dữ liệu huấn luyện copyleft vào code được tạo.

Insecure-API Advisory

Annotate prompt với một cảnh báo bảo mật khi nó tham chiếu một sink rủi ro cao — eval( / exec( / os.system( / subprocess.run( / pickle.loads( / child_process.exec(. Không chặn.
Ba cái đầu tái dùng các hành động bạn đã biết — blockflag. Insecure-API Advisory dùng annotate: thay vì từ chối hoặc redact request, nó bổ sung nó với một ghi chú mô hình đọc trước khi nó trả lời. Cùng primitive cấp năng lượng cho trang trí CVE/SBOM (bên dưới).
Các preset code_security là tất định — regex thuần, không có cuộc gọi mạng, an toàn trên đường nóng. Các scanner nối mạng (tra cứu CVE, SBOM, SAST) là kết nối ngoài riêng biệt, không phải preset. Xem §3.

2. Annotate — cảnh báo mô hình mà không thay đổi traffic

Các hành động bạn cấu hình trên một guardrail là block (từ chối cuộc gọi, HTTP 400), mask (redact match), và flag (chỉ ghi log). Bảo mật code thêm một hành vi thứ tư ngầm: annotate, cái không block cũng không che. Khi một quy tắc annotate match, gateway ghi lại một ghi chú ngắn và relay chèn nó lên thượng nguồn như một cảnh báo hệ thống — nên mô hình được bảo, ví dụ, “request này tham chiếu một API rủi ro cao (code eval, thực thi shell, hoặc deserialization không an toàn); hãy ưu tiên các lựa chọn an toàn hơn”trước khi nó trả lời. Văn bản của người dùng không bao giờ bị từ chối và không bao giờ bị viết lại.

Một ví dụ cụ thể

Áp dụng preset Insecure-API Advisory vào một guardrail và gắn nó vào một key. Rồi gửi code gọi một sink nguy hiểm:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user",
       "content": "Refactor this: result = eval(user_supplied_expr)"}
    ]
  }'
Request đi qua không thay đổi — cùng nội dung, cùng mô hình — nhưng gateway thêm vào trước một cảnh báo bảo mật mà mô hình đọc đầu tiên. Completion quay về được lái về các API có tham số và xác thực input, không đổi code trong ứng dụng của bạn và không có round-trip thứ hai.
Annotate kết hợp với các hành động khác. Một guardrail duy nhất có thể mask một secret annotate cùng request — văn bản được redact và một ghi chú được thêm trong một lượt.

3. Trang trí CVE và SBOM qua scanner ngoài

Primitive cảnh báo tổng quát hóa. Kết nối một scanner bảo mật code như một vendor bên ngoài và các phát hiện của nó đi cùng đường annotate:
Trích các import và pin manifest từ văn bản request và đối chiếu chúng với cơ sở dữ liệu lỗ hổng OSV công khai. Một hit trang trí prompt với, ví dụ, “requests@2.0.0 has CVE-2014-1830 (HIGH). Fixed in 2.20.0.” — nên mô hình được bảo về một lỗ hổng đã biết trong một package nó được yêu cầu dùng. Miễn phí và không xác thực, nên không có trường API-key. Mặc định là annotate; bạn có thể đặt nó thành flag hoặc block thay vào đó.
Kết nối một scanner SBOM (software bill-of-materials) hoặc SAST (static-analysis) theo cùng cách bạn kết nối bất kỳ vendor bên ngoài nào — một base URL cộng thông tin xác thực, lưu mã hóa và được che khi đọc. Mỗi phát hiện mang một định danh ổn định, nên một phát hiện bạn đã phân loại không kích hoạt lại trên mỗi request.
Scanner ngoài tuân theo cùng mặc định fail-open như mọi quy tắc nâng cao: một lỗi scanner hoặc timeout được ghi lại như telemetry và request tiếp tục. Đặt fail_open thành false trên quy tắc để fail closed cho các chính sách mà một lần quét bị bỏ lỡ là không chấp nhận được.

4. Ghép với quy tắc secret và license

Một guardrail bảo mật code hiếm khi đi một mình. Hình dạng phổ biến là một guardrail với vài quy tắc:
Mục tiêuQuy tắc
Chặn thông tin xác thực được dán.env / Secret-File Block (block)
Bắt giá trị secret inlineSecrets Blocker (block)
Gate code copyleftLicense Compliance (flag)
Lái các sink nguy hiểmInsecure-API Advisory (annotate)
Thêm tất cả vào một chính sách có tên, gắn nó vào key của coding-agent của bạn, và mọi request được sàng lọc — block trên các vi phạm rõ ràng, annotate các quyết định phán xét, flag phần còn lại để review.
Một request bị block trả về HTTP 400 guardrail_blocked và không tốn quota — một block giai đoạn input kích hoạt trước khi đo lường. Nó cũng được đánh dấu skip-retry, nên chạy lại cùng prompt qua một channel khác sẽ chỉ block lại. Xem lỗi guardrail-blocked.

5. Cấu hình nó (console + vai trò)

Mọi thứ ở đây được cấu hình trong console, không qua relay key. Các route quản lý (/api/guardrail/*) xác thực với session / access token của bạn, không phải relay key sk-. Các thao tác đọc — liệt kê guardrails và feed Matches — mở cho mọi thành viên workspace. Các thao tác ghi (tạo / chỉnh sửa / xóa) sandbox test yêu cầu vai trò Developer hoặc cao hơn: sandbox có thể kích hoạt các cuộc gọi mô hình trả phí và các request vendor đi ra ngoài, nên nó được gate như một thao tác ghi.
1

Tạo guardrail

Trong console, mở Guardrails → New guardrail. Split-button thả bạn vào thư viện template — chọn một preset Code security làm điểm khởi đầu.
2

Chỉnh sửa tự do

Một preset là một hạt giống, không phải một khóa. Tinh chỉnh regex, thêm một quy tắc Secrets Blocker, đổi một hành động. Dùng tab Test để chứng minh một quy tắc kích hoạt theo cách bạn kỳ vọng đối với văn bản mẫu trước khi bạn gắn nó vào một key.
3

Gắn một key

Đặt guardrail trên một API key (guardrail_id), hoặc đánh dấu nó là mặc định workspace. Liên kết nằm trên key trong gateway, nên chỉnh sửa guardrail dịch chuyển mọi key đã gắn ở lần gọi kế tiếp.
Các phát hiện đáp xuống feed Matches của workspace (loại quy tắc, hành động, giai đoạn, chi tiết). Chuỗi con đã match được ghi lại chỉ khi Log raw content được bật — mặc định tắt, lập trường bảo thủ về quyền riêng tư. Xem logging & quyền riêng tư.

6. Đi đâu tiếp theo

  • Block secret — quy tắc đồng hành bắt giá trị thông tin xác thực trong đối số request.
  • Hành động — block, mask, flag, annotate, và spotlight chuyên sâu.
  • Compliance logger — giữ một bản ghi bất biến của mọi phát hiện bảo mật code.
  • Testing & eval — chứng minh chính sách của bạn bắt code known-bad trước khi bạn phát hành nó.
  • Tài liệu tham khảo Guardrails — engine đầy đủ.
  • Bảo mật AI agent — nơi rail bảo-mật-code phù hợp trong control stack zero-trust.