50 lines
2.5 KiB
Markdown
50 lines
2.5 KiB
Markdown
# PROJECT STATUS — Audit Hardening Tool
|
|
|
|
> Cập nhật lần cuối: 2026-09-04 09:12 (bởi: Hermes)
|
|
> Evaluator hiện tại: grok-build (grok-4.6)
|
|
|
|
## Phase hiện tại
|
|
- [x] Phase 1 — Plan (`.hermes/plans/2026-09-04_091241-upload-checklist-config.md`)
|
|
- [x] Phase 2 — Xác định hướng xây dựng
|
|
- [x] Phase 3 — Thu thập kiến thức
|
|
- [x] Phase 4 — Thực hiện
|
|
- [x] Phase 5 — Tracking
|
|
|
|
## Tổng quan
|
|
Bổ sung upload/thay thế checklist XLSX và rule JSON trên trang quản lý công cụ. Chức năng giới hạn admin, sử dụng mapping OS cố định và backup file cũ.
|
|
|
|
## Việc đã xong
|
|
- [2026-09-04] Khảo sát `OS_CONFIG`, trang `admin_tools`, quyền admin/analyzer và bind mount `config`.
|
|
- [2026-09-04] Chốt thiết kế upload an toàn, không nhận path/tên đích từ client.
|
|
- [2026-09-04] Hoàn thành endpoint admin, UI upload checklist/rule, backup atomic và Docker RW mount; 8 regression tests pass.
|
|
|
|
## Việc đang làm / Bước tiếp theo
|
|
- Commit/push lên Gitea, deploy NAS và kiểm thử upload thực tế qua Web.
|
|
|
|
## Quyết định đã chốt
|
|
- Chỉ admin được upload checklist/rule config; analyzer chỉ upload tool.
|
|
- Checklist chỉ nhận `.xlsx`, rule config chỉ nhận JSON hợp lệ.
|
|
- Tên file đích lấy từ `OS_CONFIG`; không cho path traversal.
|
|
- Backup file hiện tại trước khi thay thế.
|
|
|
|
## Đánh giá các phase
|
|
| Phase | Ngày | Evaluator | Kết quả | Ghi chú |
|
|
|-------|------|-----------|---------|---------|
|
|
| Plan | 2026-09-04 | grok-build | BLOCKED | Grok CLI chưa đăng nhập |
|
|
| Direction | 2026-09-04 | grok-build | BLOCKED | Grok CLI chưa đăng nhập |
|
|
| Knowledge | 2026-09-04 | Hermes | PASS | Dựa trên code/mount thực tế |
|
|
| Execution | 2026-09-04 | Hermes | PASS | 8 tests, compile, Jinja, Compose, diff check đều pass; Grok review bị chặn auth |
|
|
|
|
## Kiến thức thu thập
|
|
- `OS_CONFIG` định nghĩa đúng cặp checklist/config cho Windows, CentOS, RHEL, Ubuntu, Oracle Linux.
|
|
- `config/` hiện bind mount read-only nên phải đổi sang RW để upload persistent.
|
|
- `require_admin_session` là guard phù hợp; analyzer không nên sửa rules/checklist.
|
|
|
|
## Rủi ro / Vướng mắc
|
|
- File checklist/rule sai nội dung có thể làm xử lý audit lỗi; giảm thiểu bằng validation JSON, extension, backup và atomic replace.
|
|
|
|
## Lệnh thường dùng
|
|
- `python -m py_compile app/web_app_fastapi.py`
|
|
- `docker compose config`
|
|
- `git diff --check`
|