Core platform · riêng (s3.phuc.pro) · 07/7/2026

registry — Storage Service (registry .ogapp) CORE

Registry lưu trữ artifact .ogapp: GET danh sách/version/tải về, POST upload multipart, DELETE gỡ — cấu trúc packages/<key>/<version>.ogapp.

Đánh giá: ❌ Điểm yếu bảo mật lớn nhất · Chi tiết khuyến nghị ở mục 3 — tham chiếu hệ thống phổ biến.
1

Thành phần chính

Thành phầnVai trò
API packagesGET /packages[/:name[/:version]] · POST /packages (multipart) · DELETE /packages/:name[/:version]
Đường tải thay thế qua CPCP_REGISTRY_URL + CP_AUTH_TOKEN (Bearer) — đã có ở ogapp CLI
Checksum phía càiruntime-core ghi checksum_sha256 vào ledger lúc install
2

Hiện trạng (đọc từ code)

  • Semantics npm-registry tối giản, đủ dùng nội bộ giai đoạn đầu
  • POST upload và DELETE không thấy cơ chế xác thực (theo tài liệu HUONG_DAN: curl POST thẳng) — ai biết URL là đăng/gỡ được package; đây là chuỗi cung ứng của mọi workspace khách hàng
  • ⚠ Checksum ghi lúc cài nhưng không có chữ ký publisher — không phân biệt được gói chính chủ với gói bị thay
  • ⚠ Không immutable version: upload đè cùng version là thay ruột gói đã phát hành
3

Khuyến nghị — tham chiếu hệ phổ biến

Tham chiếuKhuyến nghị
npm / Docker registryƯu tiên cao nhất bộ core: (1) bắt buộc token cho POST/DELETE; (2) version immutable — đã publish thì không đè, muốn sửa phải tăng version; (3) registry trả checksum trong metadata, host verify trước khi giải nén
Sigstore / Docker Content TrustBước 2 (trước khi có trường thứ 2): ký gói bằng key của publisher, host verify chữ ký — chống cả trường hợp registry bị chiếm
Hạ tầngCân nhắc hợp nhất về CP store làm đường chính (đã có Bearer) — registry s3 chỉ còn là storage backend nội bộ
4

Liên kết trong core

  • sdk — publish lên đây
  • rt-host — install tải từ đây
  • cp-store — đường tải có auth
Phân quyền

Ma trận tác nhân × năng lực

Core không phải module nghiệp vụ — thay ma trận vai trò bằng tác nhân × năng lực, kèm cơ chế/quyền gate từng năng lực. R đọc · W thực hiện · A duyệt.

Năng lựcCơ chế / quyền gateSUPEROWNER/QTHTDEVSVCUSER
GET metadata / downloadtoken read (đích P1 — hiện mở)RR
POST publish packagetoken write + version immutable (đích P1)W
DELETE / yank versionchỉ admin; version đã phát hành chỉ yank, không xóa (đích)W
Verify checksum lúc càihost so metadata trước giải nén (đích P1)W

SUPER = super admin CP · OWNER/QTHT = chủ workspace / quản trị WS · DEV = developer/publisher · SVC = service-to-service (runtime/hook) · USER = người dùng cuối. Mục ghi (đích) = theo khuyến nghị P1–P5, chưa có ở hiện trạng.