Files
CASAN/optimize-docs/CASAN_ARCHITECTURE_AFTER.md
T
thanhnvandClaude Fable 5 bb1dc8ad9f docs(arch): add before/after architecture files vs the vanilla spec-kit base
Two companion docs tracing the .specify/scripts evolution from the 5-file
spec-kit scaffold shown in the file tree:

- CASAN_ARCHITECTURE_BEFORE.md — state brought to the competition (freeze
  fbcef96): base 5 → 37 scripts implementing all 7 harnesses, each file's
  purpose grouped by H1–H7, + the 8 competition test suites. Honest maturity:
  demo/PoC (~3.0/5).
- CASAN_ARCHITECTURE_AFTER.md — the feat/plan07-track-a-hardening upgrades:
  37 → 60 scripts (+23) grouped by Track A / Track C-MVP / Evidence Pack /
  H5+ / H6+, each new file's purpose + the gap it closes, notes on in-place
  modifications (strict fail-closed, cost caps, KMS rotate, window breaker),
  + the 6 new test suites (+96 checks). Honest maturity: Level 4 proven by
  attack (~4.0/5), not full production.

File counts verified against git (ls-tree fbcef96 vs HEAD).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 12:21:28 +09:00

7.9 KiB

CASAN — Kiến trúc BEFORE → AFTER (Mốc 2: sau khi thi)

File này = phần nâng cấp SAU khi thi — nhánh feat/plan07-track-a-hardening. Điểm xuất phát là trạng thái ở CASAN_ARCHITECTURE_BEFORE.md (37 script, mức demo/PoC). Mục tiêu nâng cấp: từ "chặn được trên sân khấu" → "đủ chững chạc để chạy thật, chứng minh bằng tấn công".


0. Nhắc lại điểm xuất phát

Mốc Số script bash Số test Mức trưởng thành
Base vanilla (ảnh) 5 0 chỉ sinh khung dự án
Lúc mang đi thi (fbcef96) 37 8 demo/PoC tốt (H4/H5/H6 ~3.0/5)
Sau khi thi (HEAD) 60 (+23) 14 (+6) production nội bộ, chứng minh bằng tấn công (H4/H5/H6 ~4.0/5)

Thêm 23 script + 6 bộ test. Không xoá gì của bản thi — chỉ bồi thêm lớp và vá đường lọt. Chia làm 5 nhóm.


1. Track A — Vá khe hở bộ lọc cũ (rủi ro thấp)

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

File MỚI Tác dụng Đường lọt nó vá
unicode-normalize.py Chuẩn hoá Unicode (NFKC) + gấp ký tự giả (homoglyph) + bóc ký tự tàng hình (zero-width) + gấp chữ toàn phần Chữ "ignore" viết bằng ký tự Cyrillic giả né được regex
decode-suspicious.py Giải base64/hex đoạn khả nghi rồi quét lại Payload độc giấu trong mã hoá
tool-output-scan.sh Quét injection trong OUTPUT của tool trước khi nó quay lại ngữ cảnh AI Kết quả tool bị nhiễm độc rồi "tái nhập" vào model
telemetry-integrity.sh Ràng số liệu chi phí vào manifest ký số — sửa 1 token là MISMATCH Sửa lén sổ chi phí
benign-fp-report.sh Corpus 95 câu hợp lệ (Anh/Việt/Nhật) + ngân sách dương-tính-giả Siết chặt mà bắt nhầm người dùng thật

Ghi chú: security-check.sh được nâng thêm strict fail-closed (model chết → CHẶN) và cost-spike-detect.sh thêm trần tuyệt đối + ngân sách tích luỹ + cold-start — đây là sửa file cũ, không phải file mới.


2. Track C-MVP — Kiểm soát NGOÀI 3 harness lõi

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

File MỚI Tác dụng Đường lọt nó vá
action-gate.sh Canh theo hành động: ghi .env/khoá, rm -rf, curl|bash, cài dep → chặn/hỏi duyệt Tool "hợp lệ" nhưng làm việc phá hoại
supply-chain-gate.sh Cổng chuỗi cung ứng: typosquat / postinstall / danh sách đen + bắt gói mới phải duyệt AI tự kéo thư viện độc
supply-chain-scan.py Quét khác biệt manifest dependency (bổ trợ cho gate trên)
data-exfil-guard.sh Chặn secret → cloud; che PII → nhật ký Tuồn dữ liệu ra ngoài
sandbox-run.sh Sandbox scaffold: chính sách tĩnh (chặn ~/.ssh, egress, fork-bomb) + ulimit/timeout Code sinh ra làm bậy — (⚠️ chưa cô lập kernel)

3. Evidence Pack (Plan-09) — "Vì sao tin output này?"

File MỚI Tác dụng
evidence-pack.sh Lệnh pack / verify-pack — đóng gói & xác minh gói bằng chứng
evidence-pack-build.py Dựng gói 12 file chuẩn + manifest hash + ký HEAD
evidence-pack-verify.py Xác minh tamper-evident: sửa 1 byte → gói VÔ HIỆU; certified chỉ khi đủ cổng

4. H5+ — Quản trị lên hạng (nâng lớp yếu nhất: 76 → 80)

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

File MỚI Tác dụng Đường lọt nó vá
approval-sign.sh Reviewer ký số vào đúng request để duyệt Khai "người duyệt = X" là qua
approval-verify.sh Xác minh chữ ký + vai trò reviewer; chống giả chữ ký / sai vai / dùng lại (replay) / tự duyệt như trên
audit-ship.sh Ship HEAD audit ra sổ ngoài append-only (WORM) Xoá nhật ký ở máy để phi tang
worm-ledger.py Sổ ngoài chỉ-ghi-thêm, móc xích hash như trên
verify-audit-gap.sh Đối chiếu → phát hiện rollback (AUDIT_GAP_DETECTED) + giả mạo sổ (AUDIT_LEDGER_TAMPERED) như trên

Ghi chú: vault-kms.sh được nâng thêm rotate (xoay khoá) + assert-nonexportable (chìa không rời két) — sửa file cũ.


5. H6+ — Vận hành lên hạng (nâng lớp yếu nhất kế: 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) + kỹ thuật né cầu dao (V15).

File MỚI Tác dụng Đường lọt nó vá
alert-dispatch.sh Gửi cảnh báo live ra webhook + gộp trùng (dedup) + hàng chờ (dead-letter) + gửi lại Sự cố chỉ ghi vào file, 3h sáng không ai biết
provider-usage-fetch.sh Kéo usage từ API nhà cung cấp + kiểm định dạng all-or-nothing + fail-loud Không có nguồn chi phí "ground truth"
telemetry-reconcile.sh Đối soát số ở máy vs số nhà cung cấp → khai thiếu = TELEMETRY_DISCREPANCY Khai gian chi phí để giấu hành động lén
dashboard-serve.sh Serve dashboard qua HTTP + /healthz stale-aware Bảng tĩnh không biết khi telemetry chết lặng
dashboard-server.py HTTP server: fresh → 200 ok, số liệu cũ → 503 stale như trên

Ghi chú: circuit-breaker-check.sh được nâng thêm cầu dao theo tỷ lệ hỏng trong khoảng (sliding-window) — chống né bằng xen kẽ thành công. Sửa file cũ.


6. Test thêm sau khi thi (6 bộ · +96 kiểm thử)

Bộ test MỚI Số Kiểm cái gì
phase1-track-a-tests.sh 25 Track A (chuẩn hoá Unicode, base64, fail-closed, telemetry ký, FP=0)
phase2-track-c-tests.sh 29 Track C-MVP (action-gate, supply-chain, exfil, sandbox)
phase3-evidence-pack-tests.sh 7 Gói bằng chứng (tamper 1 byte → vô hiệu, certified gate)
phase-h5-approval-tests.sh 8 Approval-identity (ký + vai trò + chống replay/tự-duyệt)
phase-h5-infra-tests.sh 7 KMS (rotate/non-exportable, live-aware) + WORM
phase-h6-agentops-tests.sh 20 Alerting live + provider-API + dashboard hosted + window breaker

7. Tóm tắt Mốc 2 (một dòng)

37 script "chặn được demo" → 60 script "đủ chững chạc chạy thật". Ba lớp H4/H5/H6 từ ~3.0/5 lên ~4.0/5; lớp yếu nhất nhích 76 → 79 → 80 — không còn lớp nào dưới chuẩn. Tổng 175 kiểm thử đối kháng, 0 lỗi.

Trung thực (đã ghi rõ trong CASAN_HARDENING_STATUS.md): đây là mức CASAN Level 4 — chứng minh bằng tấn công, chưa phải production hoàn chỉnh. Còn cần: 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, dashboard triển khai chính thức + kênh alert managed, billing-API thật. Sức mạnh là phòng thủ nhiều tầng + trung thực, không phải "viên đạn bạc".

Sơ đồ số một dòng

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 · production nội bộ (H4/H5/H6 ~4.0/5, không lớp nào <80)