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
- artifact-scan (indirect) · secret/PII block
ĐO THẬT Adversarial 43/43 PASS · injection paraphrase → 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
- secrets-scan · quét no-bypass
ĐO THẬT tamper 1 ký tự → AUDIT_HASH_MISMATCH line=1 · chain hợp lệ → AUDIT_CHAIN_VALID.
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
- telemetry token thật · drift-detect
- circuit-breaker chặn đốt tiền
ĐO THẬT spike → COST_SPIKE_DETECTED exit=2 · bình thường → exit=0.
Bằng chứng tổng hợp ĐO THẬT
Kiểm chứng ngay trên máy — không nói suông
$ run-casan4-harness-tests.sh → 35/35 PASS
$ adversarial-harness-tests.sh → 43/43 PASS
$ security-check (injection) → BLOCKED rc=2
$ tamper audit → AUDIT_HASH_MISMATCH line=1
$ cost 3× → COST_SPIKE_DETECTED exit=2
👉 Chiếu terminal thật 1–2 dòng này khi trình bày để tạo sức nặng.
Trục 2 · Hiểu sâu
Chúng tôi biết còn lọt ở đâu
🔴 H4
Semantic SKIP khi vắng model · injection đa ngôn ngữ · homoglyph/encoding.
🔵 H5
Telemetry chưa vào chuỗi ký · mutation ngoài wrapper · quản lý khóa.
🟢 H6
Slow-boil (median trôi) · lạm dụng dưới ngưỡng · cold-start.
Chuẩn tham chiếu: OWASP LLM/Agentic · CSA MAESTRO · MITRE ATLAS.
Nguyên tắc: "harness thấp nhất quyết định trần" — cái yếu nhất quyết định cả pipeline.
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
Thang sẵn sàng: ~3.0/5 → mục tiêu ≥ 4.0
TRUNG THỰC Demo ✅ đủ mạnh · Track A → ~3.8–4.0 (production nội bộ) · Track B+C → production nghiêm túc. Mỗi vá kèm test đối kháng.
Trục 3 · Track C-MVP · Kín đòn phản biện
Kiểm soát ngoài H4·H5·H6 — nhóm ưu tiên
"Scan prompt tốt — nhưng agent vẫn có thể thêm dependency độc / ghi file nhạy cảm?" → đây là minimum bar trước khi cho agent ghi code trong môi trường production-like.
🔐 Tool authorization
Gate cả hành động (ghi file/network/lệnh nguy hiểm), không chỉ tên tool.
📦 Supply-chain
Scan dependency mới · chặn typo-squat/postinstall · SBOM + CVE.
🕵️ Data exfiltration
Chặn secret/PII rò qua cloud model · log · artifact.
🧪 Runtime sandbox
Cô lập code/test sinh ra: file/network/CPU/mem/timeout.
Outcome chuẩn hoá: ALLOW · WARN · REQUIRE_APPROVAL · BLOCK (thêm dependency → duyệt; ghi .env → chặn).
Trục 3 · Track C · Governance & Ops
Quản trị & vận hành mức enterprise
📝 Policy approval
Versioning + reviewer bắt buộc · audit actor · rollback policy.
🗄️ External audit
Append-only (WORM) ngoài runtime · alert khi chain đứt.
🚨 Incident response
Severity CRIT→MED · owner · kill-switch theo project/model.
✓ Benign / FP
≥30 mẫu/ngôn ngữ · FP ≤ 3% · adversarial block ≥ 95%.
Reviewer role: Security · Tech lead · Ops owner · Project owner — mỗi loại policy có người duyệt riêng.
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
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.