KISA 신고 4건(KVE-2026-1886/1887/1893/1894)을 검증하고, 미수정 2건과 동종 결함 전수 조사에서 나온 결함을 함께 조치했다. 권한 게이트 (KVE-2026-1893) - NHN KCP 관리자 주문 연동 7경로가 admin 보유 여부만 보고 세부 권한을 보지 않아, 업무 권한 없는 관리자가 주문번호·결제정보·수령인 연락처를 조회하고 에스크로 배송등록까지 할 수 있었다. 조회는 orders.read, 등록은 orders.update, 설정성 경로는 settings.read 로 게이트해 다른 PG 연동과 강도를 맞췄다. - 마케팅 채널 저장은 코어 플러그인 설정과 같은 저장소를 덮어쓰는 우회 경로라 core.plugins.update 를 부착했다. 첨부 해시 노출 (KVE-2026-1894 잔재) - 비밀글의 썸네일 URL 이 목록·상세 응답에 그대로 실려 첨부 해시가 노출됐다. 이미지 서빙은 이미 차단돼 있었으나 식별값 자체가 나갔다. 첨부 목록과 같은 게이트를 써서 값만 가리고 필드는 유지한다. 경쟁 조건 (KVE-2026-1886 + 전수 조사) - 쿠폰 차감을 조회 후 갱신에서 조건부 UPDATE 로 바꿔 1회 제한 쿠폰의 동시 사용을 막고, 선점당한 주문은 409 로 되돌린다. - 라이브 병렬 재현에서 그 롤백이 동작하지 않는 것을 확인했다. Action 훅 기본값이 큐 래핑 + afterCommit 이라 금전 처리가 호출자 커밋 뒤에 실행되고 있었다. 쿠폰·적립금 차감/복원 5개 구독에 sync 를 선언했고, 회귀 테스트는 손 등록이 아니라 실제 등록 경로를 태워 고정했다. - 동시 부분취소의 취소 누적 컬럼 lost update, 적립 lot 의 read-modify-write, 주문옵션당 적립 lot 중복 생성을 각각 행 잠금·컬럼 연산·유니크 제약으로 막았다. 기설치본의 중복 lot 은 인덱스 생성 전에 금액을 합산해 한 줄로 통합한다. 규정·문서 - sync 판정 기준을 hooks.md 에 명문화하고 /AGENTS.md Listener 표와 coverage manifest 에 반영했다. 같은 증상을 다시 만났을 때의 진단 경로를 트러블슈팅 사례로 남겼다.
API 레퍼런스 문서 목차
소유: 모듈
sirsoft-ecommerce· 생성:php artisan api:docgen(실측 기반). 아래 표는 자동 생성됩니다. 각 문서를 열면 엔드포인트별 파라미터·응답·예시를 볼 수 있습니다.
- 문서 수: 33 · 엔드포인트 수: 239
| 문서 | 도메인 | 엔드포인트 |
|---|---|---|
| addresses.md | addresses |
6 |
| brands.md | brands |
6 |
| cart.md | cart |
11 |
| categories.md | categories |
14 |
| category-image.md | category-image |
1 |
| checkout.md | checkout |
5 |
| claim-reasons.md | claim-reasons |
8 |
| coupons.md | coupons |
4 |
| currency.md | currency |
2 |
| dashboard.md | dashboard |
4 |
| extra-fee-templates.md | extra-fee-templates |
10 |
| guest.md | guest |
7 |
| inquiries.md | inquiries |
10 |
| mileage.md | mileage |
3 |
| mileage-transactions.md | mileage-transactions |
5 |
| options.md | options |
3 |
| orders.md | orders |
27 |
| payments.md | payments |
1 |
| presets.md | presets |
4 |
| product-common-infos.md | product-common-infos |
6 |
| product-image.md | product-image |
1 |
| product-labels.md | product-labels |
6 |
| product-notice-templates.md | product-notice-templates |
7 |
| products.md | products |
31 |
| promotion-coupons.md | promotion-coupons |
9 |
| review-image.md | review-image |
1 |
| reviews.md | reviews |
12 |
| settings.md | settings |
10 |
| shipping-carriers.md | shipping-carriers |
7 |
| shipping-country.md | shipping-country |
2 |
| shipping-policies.md | shipping-policies |
11 |
| users.md | users |
2 |
| wishlist.md | wishlist |
3 |