Task EP-04-T12 Yuqori 09_auth erpbom-backend security

Backend — egalik (ownership) rad etishlarini auth_logs ga yozish (R30 qamrovi)

Bajarildi
100% 2/2
Status:

Tavsif

TIZIMLI BO'SHLIQ (EP-04-T04 worker hisoboti, 2026-08-21; team lead qarori bilan ish birligi ochildi). Holat: `@RequirePermission` bilan himoyalangan yo'l rad etilganda `auth_logs` ga `deny` yoziladi. Lekin EGALIK (ownership) tekshiruvi bilan himoyalangan yo'llar — hamkor faqat o'z hujjatini ko'radi — rad etilganda HECH NARSA yozilmaydi: kod bazasida birorta ownership-service `AuditService` ni chaqirmaydi. Aniqlangan call site'lar: - `GET /api/v1/purchase-receipts/{id}` egalik tekshiruvi (EP-04-T04-S04, erpbom-backend, warehouse) - `SupplierSelfService` (EP-03-T05-S02 — allaqachon QABUL QILINGAN ish) - `/purchase-receipts/me/*` oqimlari Nega muhim: 09_auth R30(1) `deny` auditini MAJBURIY va SINXRON qiladi; R30(4) hatto yozuvning o'zi yiqilsa `403` emas `500` talab qiladi (fail-loud). Ya'ni spec ikki tomonlama qat'iy. Hozirgi holatda hamkorning begona hujjatga urinishi — eng qimmatli xavfsizlik hodisasi — jurnalda umuman ko'rinmaydi, va "jurnal jim = hodisa bo'lmagan" degan xulosa yolg'on bo'ladi. Qamrov: markaziy mexanizm + barcha mavjud ownership call site'lari (EP-03 ники ham) + regressiya testi. Kontraktga TEGILMAYDI — HTTP javob kodlari o'zgarmaydi (403/404 o'sha-o'sha), faqat audit yozuvi qo'shiladi.

Ichki ishlar

2 ta

Izoh qoldirish

Tarix

3 yozuv

  • ⇄

    system statusni o'zgartirdi Ishlanyapti → Bajarildi

    Bolalardan avtomatik hisoblandi

  • ⇄

    system statusni o'zgartirdi Backlog → Ishlanyapti

    Bolalardan avtomatik hisoblandi

  • ✦

    team-lead yaratdi

    Backend — egalik (ownership) rad etishlarini auth_logs ga yozish (R30 qamrovi)

Ma'lumot

Agent
—
Olingan
—
Boshlandi
21.08.2026 05:38
Tugadi
21.08.2026 08:53
Baho
8 soat
Spec
docs/modules/09_auth.md — R30 (1)/(4), AC18
Branch
—
Commit
—

Bog'liqliklar

Bundan oldin tugashi kerak

Yo'q — bu ish mustaqil.

Agent uchun

Bu ishni AI agent quyidagicha oladi:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-04-T12/claim \
  -H "X-Agent: backend-dev-1"

Tugatgach:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-04-T12/status \
  -H "X-Agent: backend-dev-1" \
  -H "Content-Type: application/json" \
  -d '{"status":"review","note":"..."}'