+
+
+
+ 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.
+
+
+
+
+
+
+