FPT · CASAN Harness · Thời đại AI
Cải thiện H4 · H5 · H6
cho AI-SDLC có kiểm soát
Chúng tôi không hỏi "AI viết code nhanh cỡ nào" — mà hỏi:
khi AI làm bậy, ai chặn? và làm sao chứng minh đã chặn?
Chạy có bằng chứng · Chặn thật · Trung thực về giới hạn · Hướng đóng gói production.
Mục tiêu trình bày
Ba trục chúng tôi chứng minh
🔴 1 · Cải thiện H4·H5·H6
Before → After cho từng harness, kèm bằng chứng đo thật (exit-code, số test).
🧠 2 · Hiểu hệ thống sâu
Truy đến gốc lỗi (fail-open), threat-model đường lọt, nguyên tắc "harness thấp nhất quyết định trần".
📦 3 · Hướng production
Thang điểm sẵn sàng, đóng gói package tái dùng, lộ trình hardening có test.
Mọi con số gắn nhãn ĐO THẬT — giám khảo chạy lại ra đúng.
Hiểu sâu · Truy gốc lỗi
Điểm mù chí mạng: fail-open
- Bản trước dùng
grep "[:space:]" — cú pháp sai trên grep hiện đại → thoát rc=4.
- Hệ quả: bộ lọc "tưởng đang chặn" nhưng thực chất chặn = 0 — lọt cả injection kinh điển.
- Bài học: "có prompt-filter.yaml" ≠ "chặn được thật". Chỉ tính điểm khi chặn được tấn công thật.
Phát hiện được lỗi fail-open này = hiểu hệ thống ở tầng thực thi, không dừng ở tài liệu.
Kiến trúc CASAN
Mọi lời gọi agent đi xuyên 7 harness
📥 INPUT
→
🧠 Boss · 13 bước AI-SDLC
→
📤 code + BẰNG CHỨNG
H1 ContextH2 ToolH3 Eval
H4 SecurityH5 Governance
H6 AgentOpsH7 Orchestration
Gate trả APPROVE / REJECT / BLOCK — kiểm soát bọc mọi bước, không đứng bên lề.
Trục 1 · 🔴 H4 Security
Từ fail-open → chặn thật đa lớp
BEFORE
- grep sai → fail-open rc=4, chặn = 0
- chỉ regex tiếng Anh
- mù với câu diễn đạt mới
→
AFTER
- BLOCK rc=2 + normalize leetspeak
- + semantic model-as-judge + strict fail-closed
- homoglyph · zero-width · base64 đều chặn
- artifact-scan + tool-output scan · secret/PII block
ĐO THẬT Adversarial 44/44 + Track A 25/25 · homoglyph/base64 → rc=2 · strict fail-closed → rc=2.
Trục 1 · 🔵 H5 Governance
Từ log sửa được → audit bất biến, ký số
BEFORE
- log thường, sửa được
- không chống giả mạo
- không truy vết ký số
→
AFTER
- hash-chain + ký RSA HEAD
- sửa 1 ký tự → AUDIT_HASH_MISMATCH
- telemetry token/cost cũng được ký (bất biến)
- secrets-scan · quét no-bypass
ĐO THẬT tamper audit → AUDIT_HASH_MISMATCH · sửa 1 token telemetry → TELEMETRY_INTEGRITY_MISMATCH.
Trục 1 · 🟢 H6 AgentOps
Từ mù chi phí → giám sát & chặn spike
BEFORE
- không đo chi phí
- không telemetry token
- không phát hiện bất thường
→
AFTER
- cost-spike 3× → exit=2
- + trần tuyệt đối/call + ngân sách tích luỹ
- bắt cả slow-boil + spray + cold-start
- telemetry token thật · drift · circuit-breaker
ĐO THẬT spike/slow-boil/spray → exit=2 · bình thường → exit=0 — không né được bằng median.
Bằng chứng tổng hợp ĐO THẬT
Kiểm chứng ngay trên máy — 140 checks, 0 fail
$ run-casan4-harness-tests.sh → 35/35 PASS
$ adversarial-harness-tests.sh → 44/44 PASS
$ phase1-track-a-tests.sh → 25/25 PASS (hardening)
$ phase2-track-c-tests.sh → 29/29 PASS (C-MVP)
$ phase3-evidence-pack-tests.sh → 7/7 PASS
$ homoglyph/base64 inject → BLOCKED rc=2 · tamper token → TELEMETRY_MISMATCH
Baseline 79 giữ nguyên · +61 hardening = 140. 👉 Chiếu terminal thật khi trình bày.
Trục 3 · Track A ĐÃ LÀM + TEST
Hardening H4·H5·H6 — đánh bại thứ regex cũ bỏ sót
🔴 H4+
Homoglyph · zero-width · fullwidth · base64 đều chặn (rc=2). Strict fail-closed: model chết → BLOCK, không SKIP âm thầm. Quét cả tool-output.
🔵 H5+
Telemetry token/cost vào manifest ký số — sửa 1 byte → MISMATCH. Bất biến như audit chain.
🟢 H6+
Trần tuyệt đối/call + ngân sách tích luỹ — bắt slow-boil & spray & cold-start, ngoài spike 3×median.
ĐO THẬT Benign corpus 95 mẫu EN/VI/JA → FP = 0% · adversarial block 100% · CRITICAL 100% — siết chặt mà không bắt nhầm.
Plan-09 · Evidence Pack MVP ĐÃ LÀM
"Vì sao tin output này?" → gói bằng chứng ký số
$ casan pack <run> → EVIDENCE_PACK_CREATED (12 file: h1..h7 + redteam + cost + manifest + decision-log)
$ casan verify-pack <run> → EVIDENCE_PACK_VALID anchor=signed
$ # sửa 1 byte trong pack…
$ casan verify-pack <run> → EVIDENCE_PACK_TAMPERED · exit=1
$ certified = chỉ true khi ĐỦ cổng (audit✓ telemetry✓ cost✓ FP✓), thiếu → ghi lý do, KHÔNG chứng nhận khống
Đổi 1 byte → chứng nhận vô hiệu. Manifest hash + chữ ký RSA trên head → tamper-evident thật.
Trục 2 · Hiểu sâu · nhận diện → VÁ
Nhận diện đường lọt — và Track A đã đóng
🔴 H4
ĐÃ VÁ Semantic SKIP → strict fail-closed · homoglyph/encoding → chặn. CÒN đa ngôn ngữ, inject-classifier (Track B).
🔵 H5
ĐÃ VÁ Telemetry vào chuỗi ký. CÒN quản lý khóa HSM, TOCTOU (Track B).
🟢 H6
ĐÃ VÁ Slow-boil + dưới-ngưỡng + cold-start → trần tuyệt đối/tích luỹ. CÒN circuit theo tỷ lệ (Track B).
Chuẩn: OWASP LLM/Agentic · CSA MAESTRO · MITRE ATLAS. Nguyên tắc: "harness thấp nhất quyết định trần". Mỗi vá kèm test đối kháng fail-able.
Triết lý model · local-first
"Model sinh bản nháp; harness quyết định bản nháp có được tin hay không."
- Local (Ollama) đủ cho harness — không API key, offline, dữ liệu không rời máy (Sovereign AI).
- Đổi model không đổi mức an toàn — harness giữ đảm bảo, bất kể model.
- H6 cost-spike chặn đốt token → điểm cộng là kiểm soát chi phí, không phải "model xịn nhất".
Trục 3 · Hướng production · sau Track A + C-MVP
Thang sẵn sàng: ~3.8–4.0/5 (production nội bộ)
Tool-authz / supply-chain
3.5
TRUNG THỰC Track A + C-MVP + Evidence Pack đã làm → ~3.8–4.0. Track B + C-Governance/Ops + sandbox cô lập thật → production nghiêm túc (roadmap sau thi).
Trục 3 · Track C-MVP ĐÃ LÀM + TEST (29/29)
Kiểm soát ngoài H4·H5·H6 — đã dựng minimum bar
Trả đòn phản biện "agent vẫn có thể thêm dependency độc / ghi .env?" — nay đã có gate thật, chạy được, có test.
🔐 Tool authorization
Gate cả hành động: .env/private-key/CI-config → BLOCK · rm -rf/curl|bash → BLOCK · egress → duyệt.
📦 Supply-chain
typosquat + postinstall + gói độc → BLOCK · dep mới → duyệt · dep-diff report.
🕵️ Data exfiltration
secret→cloud/artifact BLOCK · PII→audit MASK.
🧪 Runtime sandbox scaffold
Chặn đọc ~/.ssh · net egress · fork-bomb · ghi ngoài workspace + ulimit. Chưa cô lập kernel.
Outcome chuẩn hoá thật: ALLOW · WARN · REQUIRE_APPROVAL · BLOCK. Approval cần người duyệt định danh (audit).
Trục 3 · Track C · Governance & Ops
Quản trị & vận hành mức enterprise
📝 Policy approval roadmap
Versioning + reviewer bắt buộc · audit actor · rollback policy.
🗄️ External audit roadmap
Append-only (WORM) ngoài runtime · alert khi chain đứt.
🚨 Incident response roadmap
Severity CRIT→MED · owner · kill-switch theo project/model.
✓ Benign / FP ĐÃ LÀM
95 mẫu EN/VI/JA · FP = 0% · block 100% · CRITICAL 100%.
CÒN LẠI (sau thi) Policy-approval · WORM audit · incident kill-switch — enterprise governance/ops, đã có lộ trình task-level.
Trục 3 · Đóng gói & tái sử dụng
Giá trị ở harness tái dùng, không ở app OKR
- Đóng gói package có version —
fpt-casan-sdd-harness.
- Registry +
verify-harness-reuse → nhiều dự án dùng chung.
- Áp dự án mới = cắm golden/corpus/input + đăng ký, không sửa gate.
- App OKR chỉ là testbed cố định để so sánh công bằng.
Lộ trình · kế hoạch task-level
Tư duy sản phẩm, không chỉ demo
07 ✅
Hardening Track A + C-MVP (đã làm)
09 ✅
Evidence Pack MVP (đã làm)
ĐÃ LÀM 07 Track A + C-MVP · 09 Evidence Pack — có test (140 checks). SAU THI 07 Track B + C-Gov/Ops · 08 · 10 · 12.
Chốt
Không phải AI xịn nhất —
mà AI có kiểm soát, có bằng chứng, tái dùng được.
- H4·H5·H6 cải thiện có before/after + exit-code đo thật.
- Hiểu hệ thống tới gốc lỗi + threat-model đường lọt.
- Hướng production: đóng gói package + lộ trình hardening có test.