CASAN · Kiến trúc bảo mật AI

Từ bộ khung trống
đến 7 lớp phòng thủ

Hành trình before → after của thư mục .specify/scripts: khởi đầu chỉ có 5 file spec-kit vô hại, đến hệ 60 script chặn tấn công thật — mỗi tuyên bố có một cuộc tấn công chứng minh.

Script
5 → 37 → 60
Kiểm thử đối kháng
79 → 175 0 lỗi
H4 · H5 · H6
3.0 → 4.0/ 5
Lớp yếu nhất
76 → 79 → 80
3 mốc

Ba mốc, một mạch tiến hoá

Mốc 0 · Base

Spec-kit vanilla

5 file

Chỉ biết sinh khung dự án. Không chặn, không ghi vết, không đo chi phí.

Điểm xuất phát
Mốc 1 · Lúc mang đi thi

Đủ 7 harness

37 script

Hiện thực đủ 7 lớp bảo vệ. Chặn được tấn công trên sân khấu — mức demo/PoC.

H4/H5/H6 ~3.0 / 5
Mốc 2 · Sau khi thi

Cứng hoá production

60 script

+23 script vá đường lọt "sát production". Chứng minh bằng tấn công, trung thực chỗ chưa tới.

CASAN Level 4 · không lớp nào < 80
Mốc 0 → Mốc 1

Base gốc: 5 file "chỉ sinh khung"

Đây là toàn bộ .specify/scripts/bash của spec-kit vanilla — chưa một dòng nào về an toàn.

check-prerequisites

Kiểm tra công cụ/điều kiện trước khi chạy

common

Hàm dùng chung (đường dẫn, tiện ích)

create-new-feature

Dựng khung một feature theo đặc tả

setup-plan

Dựng khung kế hoạch triển khai

update-agent-context

Cập nhật ngữ cảnh cho agent

Mốc 1 · lúc thi

+32 script → đủ 7 lớp phòng thủ

Mỗi harness là một lớp bảo vệ. Mỗi file là một mảnh của lớp đó.

H1

Context

Ngữ cảnh
  • context-validatekiểm tra pipeline-context hợp lệ
  • casan-logghi log theo cấp độ
H2

Tool

Công cụ
  • tool-registry-gateleast-privilege + rate-limit + idempotency
  • validate-tool-inputkiểm input theo JSON schema
  • tool-execchạy tool có timeout cứng
  • tool-audit-libghi nhật ký mọi lần gọi tool
  • verify-tool-auditxác minh chuỗi nhật ký tool
H3

Evaluation

Đánh giá / model
  • model-routerđịnh tuyến model theo vai trò
  • model-callgọi model local + cloud
  • model-fallbackmodel A hỏng → chuyển B
H4

Security

Bảo mật đầu vào / đầu ra
  • security-checkquét injection / secret / PII hai chiều
  • artifact-scanchặn injection gián tiếp giấu trong tài liệu
  • security-gatecổng bảo mật tổng hợp
  • pii-maskche thông tin cá nhân
H5

Governance

Quản trị & nhật ký
  • governance-checktách quyền (SoD), duyệt, least-privilege
  • verify-audit-chainxác minh hash-chain (sửa 1 ký tự là gãy)
  • sign-audit-headký số HEAD chuỗi audit
  • sign-policy-bundleký gói chính sách trung tâm
  • secrets-scanquét secret lỡ commit
  • circuit-breaker-checkno-bypass + cầu dao model
  • vault-kmský qua Vault Transit (KMS)
H6

AgentOps

Vận hành & chi phí
  • agent-metricsđo chi phí / độ trễ / token + cảnh báo
  • cost-spike-detectphát hiện vọt chi phí
  • drift-detectmodel đổi hành vi theo thời gian
  • hallucination-scanquét tín hiệu bịa đặt
  • import-provider-telemetrynhập số dùng thật
  • provider-cost-lookuptra chi phí thật theo bước
  • business-kpi-reportbáo cáo KPI nghiệp vụ
H7

Orchestration

Điều phối
  • casan-harnesswrapper chạy 1 bước qua đủ harness
  • rollback-managerrollback thật khi bước lỗi
  • verify-harness-reusechứng minh harness tái dùng đa dự án
Mốc 1 → Mốc 2 · sau khi thi

+23 script → cứng hoá cho chạy thật

Năm nhóm nâng cấp. Không xoá gì của bản thi — chỉ bồi thêm lớp và vá từng đường lọt.

Track A

Vá khe hở bộ lọc cũ

Bịt các kỹ thuật né tránh nâng cao mà bộ lọc thi bỏ sót; làm telemetry không sửa được.

File mớiTác dụngĐường lọt nó vá
unicode-normalize.pyChuẩn hoá NFKC + gấp homoglyph + bóc zero-width + fullwidthChữ "ignore" viết bằng ký tự Cyrillic giả
decode-suspicious.pyGiải base64/hex đoạn khả nghi rồi quét lạiPayload giấu trong mã hoá
tool-output-scan.shQuét injection trong OUTPUT của tool trước khi tái nhập contextKết quả tool nhiễm độc quay lại model
telemetry-integrity.shRàng chi phí vào manifest ký — sửa 1 token là MISMATCHSửa lén sổ chi phí
benign-fp-report.shCorpus 95 câu hợp lệ (Anh/Việt/Nhật) + ngân sách FPSiết chặt mà bắt nhầm người thật

File cũ được nâng: security-check thêm strict fail-closed (model chết → CHẶN) · cost-spike-detect thêm trần tuyệt đối + ngân sách tích luỹ + cold-start.

Track C-MVP

Kiểm soát ngoài 3 harness lõi

Bảo mật thật không chỉ lọc prompt — còn ở hành động, chuỗi cung ứng, rò rỉ dữ liệu, cô lập chạy.

File mớiTác dụngĐường lọt nó vá
action-gate.shCanh theo hành động: ghi .env, rm -rf, curl|bash, cài depTool "hợp lệ" nhưng làm việc phá hoại
supply-chain-gate.shTyposquat / postinstall / denylist + gói mới phải duyệtAI tự kéo thư viện độc
supply-chain-scan.pyQuét khác biệt manifest dependencybổ trợ cho gate trên
data-exfil-guard.shChặn secret → cloud; che PII → nhật kýTuồn dữ liệu ra ngoài
sandbox-run.shChính sách tĩnh (ssh/egress/forkbomb) + ulimitCode sinh ra làm bậy (⚠ scaffold)
Evidence Pack

"Vì sao tin output này?"

File mớiTác dụngKết quả
evidence-pack.shLệnh pack / verify-pack gói bằng chứnggói 12 file ký số
evidence-pack-build.pyDựng gói + manifest hash + ký HEADanchor = signed
evidence-pack-verify.pyXác minh tamper-evidentSửa 1 byte → VÔ HIỆU; certified chỉ khi đủ cổng
H5+

Quản trị lên hạng

76 → 80

Vá 3 đường lọt lớn nhất: duyệt tin bằng biến môi trường · khoá ký nằm local · nhật ký xoá được.

File mớiTác dụngĐường lọt nó vá
approval-sign.shReviewer ký số vào đúng request để duyệtKhai "người duyệt = X" là qua
approval-verify.shXác minh chữ ký + vai trò; chống giả / sai vai / replay / tự duyệtnhư trên
audit-ship.shShip HEAD audit ra sổ ngoài append-only (WORM)Xoá nhật ký để phi tang
worm-ledger.pySổ ngoài chỉ-ghi-thêm, móc xích hashnhư trên
verify-audit-gap.shPhát hiện rollback + giả mạo sổAUDIT_GAP / LEDGER_TAMPERED

File cũ được nâng: vault-kms thêm rotate (xoay khoá) + non-exportable (chìa không rời két).

H6+

Vận hành lên hạng

79 → 80

Vá 3 gap của chính báo cáo chấm điểm: alerting chỉ ghi file · telemetry nhập tay · dashboard tĩnh — cộng kỹ thuật né cầu dao.

File mớiTác dụngĐường lọt nó vá
alert-dispatch.shGửi cảnh báo live ra webhook + dedup + dead-letter + gửi lạiSự cố chỉ ghi file, 3h sáng không ai biết
provider-usage-fetch.shKéo usage từ API nhà cung cấp + kiểm định dạng + fail-loudthiếu nguồn chi phí "ground truth"
telemetry-reconcile.shĐối soát số ở máy vs nhà cung cấpKhai gian chi phí để giấu hành động lén
dashboard-serve.shServe dashboard qua HTTP + /healthz stale-awareBảng tĩnh không biết khi telemetry chết lặng
dashboard-server.pyHTTP server: fresh → 200, số liệu cũ → 503 stalenhư trên

File cũ được nâng: circuit-breaker-check thêm cầu dao theo tỷ lệ hỏng trong khoảng (chống né bằng xen kẽ thành công).

Trung thực về chỗ chưa tớiCASAN Level 4 · chứng minh bằng tấn công

Đây là mức production nội bộ, mỗi tuyên bố có tấn công thật đứng sau — chưa phải production hoàn chỉnh. Sức mạnh nằm ở phòng thủ nhiều tầng + trung thực, không phải "viên đạn bạc". Các hạng mục production còn để ngỏ:

Hệ danh tính doanh nghiệp (IdP / OIDC live) Kho WORM thật (S3 Object Lock) KMS mặc định + HSM Cô lập kernel thật (container/nsjail) Dashboard triển khai chính thức + kênh alert managed Billing-API thật (cần khoá) Phát hiện đa ngôn ngữ (VI/JA)
Base 5 file (spec-kit) └─ +32 script, +8 test → LÚC THI: 37 script · ~79 test · demo/PoC (H4/H5/H6 ~3.0/5) └─ +23 script, +6 test → SAU THI: 60 script · 175 test · Level 4 (H4/H5/H6 ~4.0/5, không lớp nào < 80)