chore(freeze): snapshot demo state before Plan-07 hardening work

Freeze current submission/demo baseline:
- casan-next-plans/: full task-level plan set (Plan 00 index + 02/04/06/07/08/09/12, QA, slide deck)
- optimize-docs/video-steps/: per-vector scene breakdown (commands/screen-text/script) + start-tmux
- run-all.sh / scorecard.sh / map-live.sh: REAL=1 live-battery wiring
- regenerated evidence + audit/telemetry logs from live REAL=1 run
- submission README + video recording guide updates
- dry-run pipeline logs for 001-okr-web-app

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
thanhnv
2026-07-03 22:03:44 +09:00
co-authored by Claude Opus 4.8
parent fabd5f8783
commit fbcef967e5
182 changed files with 3865 additions and 341 deletions
@@ -0,0 +1,324 @@
# KẾ HOẠCH 07 — Báo cáo Production-Readiness & Kế hoạch Nâng cấp H4·H5·H6
> **Hai phần trong một tài liệu:** (I) *Báo cáo* đánh giá mức sẵn sàng production của H4 Security · H5 Governance · H6 AgentOps, dựa trên đọc code thật; (II) *Kế hoạch nâng cấp* task-level (chưa thực thi) để vá các đường lọt đã nhận diện.
>
> Nhãn: [có] tồn tại thật · [demo] mẫu · [mới] cần làm · [chưa tự động] có đo/người quyết. Nguồn threat-model: OWASP LLM Top 10, OWASP Agentic Top 10, CSA MAESTRO, MITRE ATLAS.
---
# PHẦN I — BÁO CÁO ĐÁNH GIÁ
## 1. Câu hỏi lớn: "có nên nâng cấp luôn không?"
**Khuyến nghị: CÓ, nhưng phân tầng — không đập một lúc.**
- **Nếu sắp thi/demo:** *đóng băng* bản demo hiện tại; làm nâng cấp trên nhánh riêng. Không để việc siết bảo mật làm vỡ bản đang chạy. Trước giám khảo, **nói ra các đường lọt + lộ trình vá** đã là điểm cộng độ trưởng thành.
- **Nếu mục tiêu là production thật:** làm **Track A (quick wins, rủi ro thấp) NGAY**, đưa sau cờ bật/tắt + test đối kháng; **Track B (sâu hơn) làm sau**.
> Lý do phân tầng: một số lỗ hổng (semantic SKIP, thiếu trần chi phí tuyệt đối) vá nhanh & an toàn; số khác (đa ngôn ngữ, quản lý khóa HSM, chống inject bộ phân loại) cần thời gian và dễ gây hồi quy.
## 2. Thang điểm sẵn sàng production (0–5, cao = tốt)
| Chiều | Điểm | Hiện trạng [có/đọc code] | Khoảng trống |
|---|---|---|---|
| Phủ phát hiện (detection) | 3 | Regex + normalize + semantic tùy chọn | Đa ngôn ngữ, encoding, homoglyph |
| Fail-safe | 4 | artifact-scan fail-closed rc=2; nhưng semantic **SKIP** khi vắng model | SKIP âm thầm hạ trần |
| Toàn vẹn/chống giả mạo (H5) | 3 | hash-chain + ký RSA HEAD | Telemetry chưa trong chain; mutation ngoài wrapper; khóa |
| Kiểm soát chi phí (H6) | 3 | cost-spike `median×mult` + circuit-breaker | Slow-boil, dưới-ngưỡng, cold-start, thiếu trần tuyệt đối |
| Quan sát (observability) | 3 | telemetry + dashboard | Toàn vẹn telemetry, cảnh báo thời gian thực |
| Đa domain/i18n | 2 | Tuned OKR + tiếng Anh | Corpus VI/JA, domain khác |
| Quản lý khóa | 2 | vault-kms [có] | HSM/rotation/tách quyền ký |
| Phủ kiểm thử | 4 | 35/35 + 43/43 [đo] | Thiếu test cho các vector mới bên dưới |
**Điểm trung bình (phạm vi H4/H5/H6) ~3.0/5 → "tốt cho demo/PoC, CHƯA đạt chuẩn production đầy đủ".**
> ⚠️ **Phạm vi rộng hơn (theo review):** các chiều **ngoài 3 harness lõi** hiện còn rất thấp và được xử lý ở **Track C**:
| Chiều (Track C) | Điểm | Khoảng trống |
|---|---|---|
| Tool authorization / action gating | 2 | mới có allowlist tên tool, chưa gate hành động (V17) |
| Supply-chain (dependency code sinh ra) | 1 | chưa scan package/lockfile/CVE/SBOM (V18) |
| Data-governance / anti-exfil | 2 | secret/PII có, nhưng chưa chặn rò qua cloud/log/artifact (V19) |
| Policy governance / approval | 2 | thiếu versioning + reviewer bắt buộc (V20) |
| External append-only audit | 1 | audit còn local, dễ rotate mất (V21) |
| Runtime sandbox | 1 | chưa cô lập code/test sinh ra (V22) |
| Incident response | 1 | chưa có severity/owner/kill-switch (V23) |
**→ Sẵn sàng production *nghiêm túc* thấp hơn ~3.0 nếu tính cả Track C.** Track A nâng H4/H5/H6 lên ~3.8–4.0; Track B+C mới đủ production toàn diện.
## 3. Bảng đường lọt (tóm tắt từ threat-model)
| ID | Harness | Đường lọt | Mức | Vá ở Track |
|---|---|---|---|---|
| V1 | H4 | Semantic tùy chọn / SKIP khi vắng model | Cao | A |
| V2 | H4 | Injection đa ngôn ngữ (VI/JA) né regex Anh | Cao | B |
| V3 | H4 | Unicode homoglyph / zero-width / fullwidth | Trung–Cao | A |
| V4 | H4 | Encoding smuggling (base64/hex/rot13) | Trung | A |
| V5 | H4 | Inject vào chính bộ phân loại/judge | Trung | B |
| V6 | H4 | Split/multi-turn injection | Trung | B |
| V7 | H4 | Tool-output chưa quét như artifact | Trung | A |
| V8 | H5 | Mutation không qua wrapper → không audit | Cao | A |
| V9 | H5 | provider-usage.jsonl chưa nằm trong chuỗi ký | Cao | A |
| V10 | H5 | Quản lý private key (nội gián/rotation) | Cao | B |
| V11 | H5 | TOCTOU (sửa sau verify) | Trung | B |
| V12 | H6 | Slow-boil (median trôi, không trip) | Cao | A |
| V13 | H6 | Lạm dụng dưới ngưỡng (aggregate) | Trung–Cao | A |
| V14 | H6 | Cold-start chưa có baseline | Trung | A |
| V15 | H6 | Circuit-breaker né bằng xen kẽ thành công | Trung | B |
| V16 | Hệ thống | Tin model backend (poisoning/chiếm Ollama) | Trung | B |
| **V17** | H2/H4 | **Tool misuse / over-permission**: gọi tool hợp lệ nhưng hành động vượt quyền (ghi file nhạy cảm, network, lệnh nguy hiểm) | Cao | C |
| **V18** | H4/H5 | **Supply-chain**: LLM tự thêm dependency độc/typo-squat/lifecycle script nguy hiểm | Cao | C |
| **V19** | H4/H6 | **Data exfiltration** qua model cloud / log / tool call / artifact | Cao | A/C |
| **V20** | H5 | **Policy change không qua approval** / rollback policy không rõ (liên kết Plan-04) | Cao | C |
| **V21** | H5 | **Audit local bị xóa/rotate mất bằng chứng** (thiếu append-only ngoài runtime) | Trung–Cao | C |
| **V22** | H7/Hệ thống | **Runtime escape / resource abuse** của code/test sinh ra (đọc ~/.ssh, network, fork-bomb, ghi ngoài workspace) | Cao | C |
| **V23** | H6/H7 | **Thiếu incident workflow** khi gate phát hiện tấn công/spike/tamper (alert, owner, kill-switch) | Trung | A/C |
> V17–V23 bổ sung theo review: Plan-07 gốc tập trung H4/H5/H6; production **nghiêm túc** cần nhìn rộng hơn → gom vào **TRACK C**.
---
# PHẦN II — KẾ HOẠCH NÂNG CẤP (task-level)
## Nguyên tắc
- **Mốc an toàn:** giữ **35/35 + 43/43 PASS** trước & sau mỗi task.
- **Fix phải kèm test đối kháng:** mỗi vector Vx có ca red-team chứng minh "trước vá lọt, sau vá chặn".
- **Sau cờ bật/tắt:** năng lực mới đưa sau env flag, bật dần.
- **Không tự nới lỏng:** mọi thay đổi ngưỡng/chính sách vào audit (H5).
---
## TRACK A — Quick wins (rủi ro thấp, làm trước / cho production sớm)
### A1 — Bịt "semantic SKIP âm thầm" (V1)
| Task | Việc | Verify | Done |
|---|---|---|---|
| A1.1 | Thêm chế độ `CASAN_SECURITY_STRICT=1`: artifact rủi ro **bắt buộc** semantic; vắng model → **BLOCK (fail-closed)**, không SKIP | ngắt Ollama + strict → rc=2 (không phải 0) | fail-closed thật |
| A1.2 | Ghi rõ trong log khi semantic SKIP (không im lặng) | grep log thấy `SEMANTIC_SKIPPED` | có cảnh báo |
| A1.3 | Test: prompt injection paraphrase (regex mù) + strict + model on → BLOCK | ca đối kháng PASS | chặn |
### A2 — Chuẩn hoá Unicode/encoding (V3, V4)
| Task | Việc | Verify | Done |
|---|---|---|---|
| A2.1 | `normalize_for_match`: thêm NFKC, strip zero-width, fold fullwidth→ascii | homoglyph "ігnore" → khớp `ignore` | chuẩn hoá đúng |
| A2.2 | Thêm bước giải base64/hex nghi ngờ rồi quét lại | payload base64 "ignore previous" → BLOCK | chặn encoding |
| A2.3 | Test đối kháng cho homoglyph + zero-width + base64 | 3 ca PASS | phủ V3/V4 |
### A3 — Quét tool-output như artifact (V7)
| Task | Việc | Verify | Done |
|---|---|---|---|
| A3.1 | Mọi kết quả tool trước khi vào ngữ cảnh model đi qua `artifact-scan` | tool trả payload độc → ARTIFACT_SCAN_BLOCKED | chặn |
| A3.2 | Test: tool giả trả injection | ca PASS | phủ V7 |
### A4 — Toàn vẹn telemetry + mutation qua wrapper (V8, V9)
| Task | Việc | Verify | Done |
|---|---|---|---|
| A4.1 | Đưa `provider-usage.jsonl` vào chuỗi hash/ký (H5) | sửa 1 dòng token → `AUDIT_HASH_MISMATCH` | telemetry bất biến |
| A4.2 | Bổ sung kiểm "mọi mutation qua wrapper": scan artifact ghi ngoài harness | ghi thẳng file → cảnh báo/không audit bị phát hiện | phủ V8 |
| A4.3 | Test: giả mạo token để giấu chi phí → bị bắt | ca PASS | phủ V9 |
### A5 — Trần chi phí tuyệt đối + ngân sách tích luỹ (V12, V13, V14)
| Task | Việc | Verify | Done |
|---|---|---|---|
| A5.1 | Thêm `cost_absolute_max` (trần cứng mỗi call) cạnh median tương đối | 1 call vượt trần tuyệt đối → exit=2 dù median cao | chặn slow-boil |
| A5.2 | Thêm `cost_cumulative_budget` (tổng theo phiên/ngày) | tổng vượt ngân sách → chặn dù mỗi call nhỏ | chặn dưới-ngưỡng |
| A5.3 | Cold-start: dùng trần tuyệt đối khi chưa đủ mẫu median | run đầu vẫn có bảo vệ | phủ V14 |
| A5.4 | Test: slow-boil (tăng dần) + spray (nhiều call nhỏ) | 2 ca PASS | phủ V12/V13 |
### A6 — Benign corpus & ngân sách false-positive (chống siết quá)
> Theo review: FP trước đây mới nằm ở "rủi ro", nay thành task cứng — gate quá gắt thì team bỏ dùng.
| Task | Việc | Verify | Done |
|---|---|---|---|
| A6.1 | Dựng **benign corpus** input hợp lệ (VI/JA/EN) | **≥ 30 mẫu / ngôn ngữ** | corpus sẵn |
| A6.2 | Mỗi thay đổi H4 báo `block_rate` + `false_positive_rate` | chạy ra 2 chỉ số | có số |
| A6.3 | Đặt **FP budget** cụ thể: FP > ngưỡng → không merge | **FP ≤ 3% (strict)** · **adversarial block ≥ 95%** · **vector CRITICAL block = 100%** | cổng FP có số |
**Cổng ra Track A:** V1,V3,V4,V7,V8,V9,V12,V13,V14 + phần A của V19/V23 có test đối kháng xanh; **benign/FP trong ngân sách**; 35/35 + 43/43 không tụt.
---
## TRACK B — Sâu hơn (làm sau / cần thời gian)
### B1 — Corpus & phát hiện đa ngôn ngữ (V2)
| Task | Việc | Verify | Done |
|---|---|---|---|
| B1.1 | Bổ sung block-pattern + corpus VI/JA (injection cùng ngữ nghĩa) | câu tiếng Việt "bỏ qua chỉ dẫn trên" → BLOCK | phủ V2 |
| B1.2 | Đảm bảo model semantic đủ khả năng đa ngữ (đo recall VI/JA) | recall báo cáo (đo với model) | có số thật |
### B2 — Chống inject bộ phân loại (V5) & split injection (V6)
| Task | Việc | Verify | Done |
|---|---|---|---|
| B2.1 | Tách rõ "tiêu chí (tin cậy)" vs "nội dung (không tin)" trong prompt judge (đã có mầm) + gia cố | inject trong artifact không lái được judge | phủ V5 |
| B2.2 | Ghép ngữ cảnh nhiều bước để quét payload rải | payload 2 mảnh → BLOCK khi ghép | phủ V6 |
### B3 — Quản lý khóa & TOCTOU (V10, V11)
| Task | Việc | Verify | Done |
|---|---|---|---|
| B3.1 | Tách quyền ký (vault/HSM), rotation, private key ngoài repo | key không nằm trong repo; rotate được | giảm rủi ro nội gián |
| B3.2 | Verify sát thời điểm dùng (re-verify trước khi commit) | sửa sau verify → bị bắt | phủ V11 |
### B4 — Tin cậy model backend (V16) & circuit né (V15)
| Task | Việc | Verify | Done |
|---|---|---|---|
| B4.1 | Pin model digest/checksum; cảnh báo khi model đổi | đổi model bất ngờ → cảnh báo | phủ V16 |
| B4.2 | Circuit-breaker theo **tỷ lệ lỗi cửa sổ trượt** (không chỉ liên tiếp) | xen kẽ thành công vẫn trip nếu tỉ lệ cao | phủ V15 |
**Cổng ra Track B:** V2,V5,V6,V10,V11,V15,V16 có test/biện pháp; tài liệu cập nhật.
---
## TRACK C — Production Controls **ngoài** H4/H5/H6 (theo review)
> Trả lời câu bắt bẻ: *"scan prompt tốt, nhưng agent vẫn có thể thêm dependency độc hoặc ghi file nhạy cảm thì sao?"*. Đây là các kiểm soát production thật sự, ngoài phạm vi 3 harness lõi.
### C0 — Quy ước chung Track C (priority · outcome · role · severity)
**Ưu tiên triển khai (chia nhóm):**
| Nhóm | Gồm | Lý do |
|---|---|---|
| **C-MVP** | C1 Tool-authz · C2 Supply-chain · C3 Data-exfil · C6 Sandbox | giảm rủi ro production trực tiếp nhất |
| **C-Governance** | C4 Policy-approval · C5 External-audit | quan trọng, có thể sau MVP |
| **C-Ops** | C7 Incident | nên có sớm, bản tối giản trước |
> **Track C-MVP (C1+C2+C3+C6) = minimum bar** trước khi cho agent ghi code / chạy test trong môi trường production-like.
**Chuẩn outcome (thay cho chỉ BLOCK/không):** `ALLOW` · `WARN` · `REQUIRE_APPROVAL` · `BLOCK`.
| Case | Outcome |
|---|---|
| Ghi `.env` / private key / `.github/workflows` trái phép | **BLOCK** |
| Thêm dependency mới | **REQUIRE_APPROVAL** |
| Dependency có CVE critical | **BLOCK** |
| Gọi network domain lạ | **BLOCK / REQUIRE_APPROVAL** |
| Cost vượt hard budget | **BLOCK** |
| Cost tăng nhẹ, trong budget | **WARN** |
**Reviewer role (cho C4 approval):**
| Role | Duyệt gì |
|---|---|
| Security reviewer | H4/H5 policy, corpus, strict-mode |
| Tech lead | dependency / codegen policy |
| Ops owner | cost budget, kill-switch, provider setting |
| Project owner | golden / domain data |
**Severity mapping (cho C7 incident):**
| Vector | Severity |
|---|---|
| Secret gửi lên cloud model (V19) | **CRIT** |
| Tool ghi `.env` / private key (V17) | **CRIT** |
| Dependency postinstall nguy hiểm (V18) | **HIGH/CRIT** |
| Audit chain đứt (V21) | **HIGH** |
| Cost vượt budget (V13) | **MED/HIGH** |
| Benign FP vượt budget (A6) | **MED** |
### C1 — Tool authorization / action gating (V17)
| Task | Việc | Verify | Done |
|---|---|---|---|
| C1.1 | Allowlist **hành động** mỗi tool (ghi file? network? sửa repo? cần approval?) ngoài allowlist tên tool | tool hợp lệ nhưng hành động vượt quyền → BLOCK/approval | có policy hành động |
| C1.2 | `adv-tool-overwrite-sensitive-file`: ghi `.env`/private key/CI config | BLOCK | phủ V17 |
| C1.3 | `adv-tool-network-exfil`: gửi dữ liệu ra URL lạ | BLOCK | phủ V17 |
| C1.4 | `adv-tool-dangerous-command`: `rm -rf`, `curl \| bash`, `chmod 777`, `git push --force` | BLOCK hoặc yêu cầu approval | phủ V17 |
### C2 — Supply-chain cho code sinh ra (V18)
| Task | Việc | Verify | Done |
|---|---|---|---|
| C2.1 | Gate: dependency mới trong `package.json`/`requirements.txt`/`pom.xml`/`build.gradle` phải được scan | thêm package lạ → gate yêu cầu duyệt | có gate dep |
| C2.2 | Kiểm lockfile diff; chặn typo-squat + lifecycle script (`postinstall`…) | package typo → BLOCK | chặn độc |
| C2.3 | Chạy `npm audit`/`pip-audit`/`osv-scanner` + sinh SBOM/diff | có báo cáo CVE + SBOM | có bằng chứng |
### C3 — Data exfiltration (V19) — phần A + C
| Task | Việc | Verify | Done |
|---|---|---|---|
| C3.1 | `adv-secret-to-cloud-model`: input chứa secret → không được gửi lên cloud | BLOCK/mask | phủ V19 (quan trọng khi Plan-03 nối cloud) |
| C3.2 | `adv-pii-in-audit-log`: PII vào audit → mask/BLOCK | mask | phủ V19 |
| C3.3 | `adv-artifact-leaks-env`: artifact chứa token/env → BLOCK | BLOCK | phủ V19 |
### C4 — Enterprise policy governance (V20, liên kết Plan-04)
| Task | Việc | Verify | Done |
|---|---|---|---|
| C4.1 | Policy **versioning + diff**; thay đổi security-sensitive cần reviewer | đổi threshold/corpus/golden/strict-mode phải duyệt | có approval |
| C4.2 | Audit **actor identity**: ai approve, lúc nào, lý do | audit ghi đủ danh tính | truy được |
| C4.3 | Rollback policy theo version | rollback về bản cũ được | phủ V20 |
### C5 — External append-only audit (V21)
| Task | Việc | Verify | Done |
|---|---|---|---|
| C5.1 | Ship audit ra **append-only** ngoài runtime (WORM/S3 Object Lock) | log ngoài hệ đang chạy | khó sửa hơn |
| C5.2 | Timestamp từ nguồn tin cậy + retention policy | có dấu thời gian đáng tin | phủ V21 |
| C5.3 | Alert khi **audit gap / chain đứt** | tạo gap → cảnh báo | phát hiện mất bằng chứng |
### C6 — Runtime isolation / sandbox (V22)
| Task | Việc | Verify | Done |
|---|---|---|---|
| C6.1 | Chạy code/test sinh ra trong **sandbox**: giới hạn file/network/CPU/mem/timeout | vượt giới hạn → bị chặn | có sandbox |
| C6.2 | `adv-read-ssh` / `adv-net-egress` / `adv-forkbomb` / `adv-write-outside-workspace` / `adv-huge-file` | tất cả bị chặn | phủ V22 |
### C7 — Incident response (V23) — phần A + C
| Task | Việc | Verify | Done |
|---|---|---|---|
| C7.1 | Gán **severity** (LOW/MED/HIGH/CRIT) cho mỗi loại phát hiện | sự kiện có nhãn severity | có phân loại |
| C7.2 | Runbook + owner/on-call + auto-create issue/report | BLOCK → sinh issue/alert | có workflow |
| C7.3 | **Kill-switch** theo project/model/provider + postmortem template | bật kill-switch → dừng đúng phạm vi | phủ V23 |
**Cổng ra Track C:** V17–V23 có test/biện pháp; tool-authz + supply-chain + data-exfil + sandbox có ca đối kháng xanh; có incident runbook + kill-switch.
---
## Bộ test đối kháng cần thêm (red-team battery)
| Test | Vector | Kỳ vọng |
|---|---|---|
| `adv-homoglyph` | V3 | BLOCK |
| `adv-zerowidth` | V3 | BLOCK |
| `adv-base64-inject` | V4 | BLOCK |
| `adv-multilang-vi` / `-ja` | V2 | BLOCK |
| `adv-tool-output-inject` | V7 | ARTIFACT_SCAN_BLOCKED |
| `adv-telemetry-tamper` | V9 | AUDIT_HASH_MISMATCH |
| `adv-mutation-offwrapper` | V8 | phát hiện/không audit bị bắt |
| `adv-cost-slowboil` | V12 | exit=2 (trần tuyệt đối) |
| `adv-cost-spray` | V13 | exit=2 (ngân sách) |
| `adv-classifier-inject` | V5 | judge không bị lái |
| `adv-split-injection` | V6 | BLOCK khi ghép |
| `adv-circuit-interleave` | V15 | CIRCUIT_OPEN theo tỷ lệ |
| `adv-tool-overwrite-sensitive-file` | V17 | BLOCK |
| `adv-tool-network-exfil` | V17 | BLOCK |
| `adv-tool-dangerous-command` | V17 | BLOCK/approval |
| `adv-dep-typosquat` / `adv-dep-postinstall` | V18 | BLOCK/duyệt |
| `adv-secret-to-cloud-model` | V19 | BLOCK/mask |
| `adv-pii-in-audit-log` | V19 | mask/BLOCK |
| `adv-artifact-leaks-env` | V19 | BLOCK |
| `adv-audit-gap` | V21 | cảnh báo chain đứt |
| `adv-read-ssh` / `adv-net-egress` / `adv-forkbomb` | V22 | bị chặn (sandbox) |
| `benign-vi/ja/en` (FP budget) | A6 | KHÔNG bị chặn (benign PASS) |
## Ma trận rủi ro khi nâng cấp
| Rủi ro | Giảm thiểu |
|---|---|
| Siết quá gây false-positive chặn cả input hợp lệ | Track A sau cờ; đo tỉ lệ FP trên corpus benign |
| Vỡ demo trước thi | Làm trên nhánh; freeze bản demo |
| Strict fail-closed chặn khi CI không có model | CI dùng chế độ non-strict; production bật strict |
| Regression | 35/35 + 43/43 mỗi task |
## Tiêu chí HOÀN THÀNH kế hoạch 07
- [ ] Track A: 9 vector có test đối kháng xanh; strict fail-closed hoạt động; trần chi phí tuyệt đối + ngân sách; **benign/FP trong ngân sách (A6)**.
- [ ] Telemetry nằm trong chuỗi ký; mutation ngoài wrapper bị phát hiện.
- [ ] Track B: đa ngôn ngữ + chống inject classifier + quản lý khóa + circuit theo tỷ lệ.
- [ ] **Track C: tool-authorization + supply-chain + data-exfil + policy-approval + external-audit + sandbox + incident-response** (V17–V23) có test/biện pháp.
- [ ] Thang điểm: Track A → ~3.8–4.0/5 (production nội bộ mức đầu); **Track B+C → production nghiêm túc**, có bằng chứng test.
- [ ] Không tụt 35/35 + 43/43 ở bất kỳ cổng nào.
---
## Đánh giá 3 mức (theo review) & tuyên bố trung thực
| Mục tiêu | Trạng thái | Điều kiện |
|---|---|---|
| **Demo / thi / trình bày** | ✅ đủ mạnh ngay | có before/after + threat-model + test đối kháng + tuyên bố trung thực |
| **Production nội bộ mức đầu** | 🟡 sau **Track A** | ~3.8–4.0/5 |
| **Production nghiêm túc** | 🔴 cần **Track B + C** | tool-authz, supply-chain, data-exfil, policy-approval, external-audit, sandbox, incident |
> **Tuyên bố:** H4/H5/H6 hiện **đạt PoC/demo tốt (~3.0/5), chưa đạt production đầy đủ**. Track A vá các điểm lớn (semantic SKIP, telemetry chưa bất biến, thiếu trần chi phí) với rủi ro thấp → ~3.8–4.0. **Track C** (theo review) bổ sung kiểm soát **ngoài 3 harness**: tool-authorization, supply-chain, data-exfiltration, policy-approval, external append-only audit, runtime sandbox, incident-response — đây mới đủ cho production nghiêm túc. Nhận diện được cả những đường lọt ngoài phạm vi lõi = **trưởng thành bảo mật thật**, trung thực hơn tuyên bố "an toàn tuyệt đối".