Mã nguồn mở · Tự host

Chặn prompt injection trước khi nó tới LLM của bạn

Guard Spec là gateway đặt giữa ứng dụng của bạn và mọi API tương thích OpenAI. Nó kiểm tra prompt, tài liệu truy xuất, kết quả tool và MCP tool ở chiều vào, và câu trả lời của model ở chiều ra. Prompt không bao giờ rời khỏi hạ tầng của bạn.

  • Apache-2.0
  • Go
  • English · Tiếng Việt
  • v0.1 · trước 1.0
app.py
from openai import OpenAI

client = OpenAI(
    # trước đây là https://api.openai.com/v1
    base_url="http://guard-spec:8080/v1",
    api_key=GUARD_SPEC_KEY,
)
# phần còn lại của code giữ nguyên
khi request chứa injection
HTTP 400
{"error": {
  "code": "content_filter",
  "message": "Request blocked: prompt
              injection detected."}}
# LLM không hề được gọi
Dùng được với
Vấn đề

LLM của bạn đọc cả những đoạn văn bạn không viết

Chatbot, trợ lý RAG và agent đưa thẳng nội dung người dùng, trang web, tài liệu và kết quả tool vào model. Bất kỳ nguồn nào trong số đó cũng có thể mang chỉ thị ghi đè chỉ thị của bạn.

Injection trực tiếp

Người dùng gõ “bỏ qua mọi chỉ dẫn trước đó” dưới trăm hình thức: leetspeak, ký tự đồng dạng, teencode, tiếng Việt không dấu.

Injection gián tiếp

Một trang web, email hay PDF trong kho tri thức giấu chỉ thị trong HTML ẩn, ký tự Unicode tag hoặc mẹo đảo chiều chữ (bidi).

Đầu độc tool

Một MCP server mô tả tool kèm các bước ẩn, bảo agent của bạn đọc bí mật rồi gửi đi nơi khác.

Cách hoạt động

Một gateway đứng trước mọi lời gọi LLM

Trỏ base URL của SDK về Guard Spec. Mỗi request được làm sạch, chấm điểm qua ba lớp phát hiện và đối chiếu với chính sách của bạn. Request sạch đi tiếp; request có injection nhận lỗi 400 và sinh cảnh báo.

Guard Spec nằm giữa ứng dụng AI của bạn và các nhà cung cấp LLM
  1. L0

    Làm sạch

    Loại bỏ ký tự ẩn, Unicode tag và ký tự đảo chiều; đánh dấu bất thường.

  2. L1

    Luật

    Luật nhận dạng nhanh, nhìn xuyên qua dấu tiếng Việt, teencode, leetspeak và ký tự đồng dạng.

  3. L2

    Bộ phân loại

    Model ONNX do chúng tôi tự huấn luyện cho tiếng Anh và tiếng Việt, chạy ngay trong tiến trình.

  4. L3

    Độ tương đồng

    So khớp embedding với các mẫu tấn công đã biết, bạn có thể bổ sung thêm.

  5. CEL

    Chính sách

    Luật theo từng tổ chức, biên dịch sang CEL: cho qua, chặn, ghi log hoặc định tuyến.

  6. OUT

    Kiểm tra đầu ra

    Bắt link rò rỉ dữ liệu, dữ liệu cá nhân và canary bị lộ, kể cả khi streaming.

Tính năng

Mọi thứ đội bảo mật cần quanh bộ phát hiện

Ba lớp, một điểm số

Luật, bộ phân loại và tìm kiếm tương đồng được gộp thành một điểm với ngưỡng rõ ràng. Chạy riêng lớp luật hoặc đủ cả ba.

Tiếng Anh và tiếng Việt

Xây dựng và đánh giá cho cả hai, gồm tiếng Việt có dấu, không dấu, teencode và leetspeak.

Tự host, riêng tư

Chạy trong hạ tầng của bạn. Không prompt nào bị gửi tới API kiểm duyệt bên thứ ba. Mọi luật đều đọc và sửa được.

Định tuyến tương thích OpenAI

Đổi một base URL. Định tuyến tới OpenAI, Azure OpenAI, Anthropic, Gemini, vLLM hoặc Ollama theo tổ chức và dự án.

Cảnh báo thời gian thực

Request bị chặn được báo qua Slack, Microsoft Teams, Telegram, email, webhook có chữ ký tới SIEM, hoặc agent SOC qua A2A.

SSO và 2FA

Đăng nhập một lần qua OpenID Connect (Entra ID, Okta, Google, Keycloak), xác thực hai lớp TOTP, quy tắc đăng nhập toàn tổ chức.

Đa tổ chức

Tổ chức, dự án, vai trò và API key có giới hạn tần suất, được bảo vệ bởi row-level security của Postgres.

Nhật ký kiểm toán

Một dòng cho mỗi request (mặc định không lưu nội dung) và nhật ký mọi thay đổi cấu hình, bảo mật.

Sẵn sàng triển khai

Docker Compose, Helm chart và image cho môi trường không internet. Image có chữ ký, SBOM, Prometheus và OpenTelemetry.

Giao diện quản trị

Thấy mọi quyết định, chỉnh mọi luật

Bảng điều khiển song ngữ cho đội bảo mật, có giao diện sáng và tối.

  • Dashboard và luồng request trực tiếp qua từng lớp
  • Soạn chính sách bằng văn bản hoặc trực quan, kèm trình mô phỏng
  • Nhà cung cấp, định tuyến, nhật ký request và kiểm toán
  • Luật cảnh báo, kênh nhận, thành viên và cài đặt bảo mật
Giao diện quản trị Guard Spec hiển thị luồng request
Đo lường

Đo thật, công bố đầy đủ, tái lập được

Cả ba lớp với bộ phân loại mặc định, trên bộ đánh giá 2.176 mẫu (1.171 tấn công, 1.005 bình thường; 926 tiếng Anh, 1.250 tiếng Việt).

0.986ROC AUC
93.2%tấn công bị chặn ở ngưỡng mặc định
1.4%request bình thường bị chặn nhầm
3.7 msđộ trễ trung vị của bộ phát hiện mỗi request

Đo ngày 04/11/2026 trên Apple M3 Max; độ trễ là của bộ phát hiện trong tiến trình, không phải toàn bộ vòng HTTP. Dữ liệu tiếng Việt là dữ liệu tổng hợp, và teencode bình thường vẫn bị chặn nhầm 3,5%. README liệt kê đầy đủ các số đo, giới hạn và lệnh để tái lập.

So sánh

Guard Spec đứng ở đâu

Loại công cụVí dụGuard Spec
Thư viện guardrail PythonGuardrails AI, NeMo Guardrails, LLM GuardMột dịch vụ mạng đứng trước model: ngôn ngữ nào cũng dùng được, bạn chỉ đổi base URL chứ không sửa code
API phát hiện dạng dịch vụLakera Guard, Azure AI Prompt ShieldsTự host: prompt không rời hạ tầng của bạn, mọi luật đều đọc và sửa được
Bộ phân loại độc lậpPrompt Guard, ProtectAI DeBERTaBộ phân loại riêng chỉ là một trong nhiều lớp, kèm làm sạch, chính sách, kiểm tra đầu ra và nhật ký kiểm toán
Bắt đầu

Chạy được trong năm phút

Bạn cần Docker có Compose v2. Một script tạo bí mật ngẫu nhiên đủ mạnh, kéo image có chữ ký và model (kiểm tra SHA-256), rồi chờ đến khi cả ba lớp sẵn sàng.

terminal
$ git clone https://github.com/guard-spec/guard-spec.git
$ cd guard-spec
$ scripts/quickstart.sh
# tạo .env với bí mật ngẫu nhiên
# tải model (≈270 MB, kiểm tra SHA-256)
ready: {"layers":["l1","l2","l3"]}

Đặt một lớp bảo vệ trước LLM của bạn

Miễn phí, mã nguồn mở theo giấy phép Apache-2.0. Gắn sao cho repo, thử trên lưu lượng thật của bạn và cho chúng tôi biết nó còn bỏ sót gì.