실행 스펙지금(Now) 4과제2026.07

우선순위 1–4 · 존속·활성화 봉합

지금 손대지 않으면
나머지 전략이 무의미해지는 네 가지

보안 부채는 침해 한 건으로 회사를 흔들고, 재주문 매몰·팝업과 콜드스타트 81%는 애써 확보한 자산을 매일 흘려보낸다. 아래 네 과제는 차별화·확장에 앞서 반드시 잠가야 할 기반이다. 각 과제는 문제·작업 체크리스트·완료기준·의존성으로 정리했다.

읽는 법. 파일·컬럼 등 세부 근거는 내부 코드·DB 감사 시점 관측이며 조치 전 최신 코드 대조가 필요하다. 임팩트/난이도는 상대 추정이고, 실제 착수 전 BE·FE 리드와 산정 확정 권장.
OH-SEC-1

보안 P0 원천 차단 + 실사 대응 보안 백서

Critical
OwnerCTO · BE 리드
ImpactHigh
EffortHigh
HorizonNow (0순위)
문제

어드민 동적검색 SQL 인젝션이 68개 검색화면 공통 sink로 확정. 값이 따옴표 래핑만 되고 이스케이프/바인딩이 없어 임의 SQL 실행 가능. 운영 yml에 슬랙 토큰 등 하드코딩 시크릿 커밋. IDOR 경계 불일치(가격계산이 request.memberId 신뢰) 정황.

작업
  • 공통 검색 레이어(QueryBuilder / RepositoryCustom native concat)를 setParameter 바인딩으로 일괄 전환 — 단일 지점 수정으로 68화면 동시 방어
  • ORDER BY/정렬 컬럼은 값 바인딩이 불가하므로 컬럼 allowlist 강제(현재 컬럼명만 부분 검증, 값은 무방비)
  • 커밋된 시크릿 전량 폐기·재발급, Git 히스토리 purge(BFG/filter-repo), secret manager(예: Vault/SSM)로 이관
  • 어드민을 VPN / IP allowlist + MFA 뒤로 격리(공격 표면 축소)
  • 가격계산·주문 저장 경로의 memberId를 JWT 단일 출처로 강제(요청 바디 신뢰 제거)
  • CI에 SAST + secret-scan 게이트 추가(재발 차단)
완료 기준
  • 대표 5개 검색화면에 ' OR 1=1-- 등 페이로드 주입 시 0 rows / 파라미터화 쿼리 로그 확인
  • 레포·이미지 스캔에서 하드코딩 시크릿 0건, 폐기·재발급 완료 기록
  • 어드민 외부 직접 접근 차단(allowlist 밖 IP 401/차단) 검증
  • 실사 대응 보안 백서 1종(조치 내역·잔여 리스크·통제) 산출
의존성 · 리스크

OH-SEC-2(결제 토큰화)와 병행 시 카드 raw exfil 경로가 곧바로 닫힌다. native 쿼리 대량 수정이라 회귀 테스트 필수 — 검색 결과 동치성 스냅샷 확보 후 배포.

OH-SEC-2

결제정보 토큰화 + PII 파기 파이프라인 + 전자금융법 적용 확정

Critical
OwnerBE 리드 · 법무/회계
ImpactHigh
EffortHigh
HorizonNow
문제

카드/계좌 평문 저장 의심(member_card raw 98.5%, 암호화 컬럼은 1.6%만 백필된 반쪽 마이그레이션). 탈퇴 시 use_flag 플래그만 바뀌고 PII 실제 파기 파이프라인 부재. 선불충전금(예치금) 운영으로 전자금융거래법(2025.12.16 시행) 적용 소지.

작업
  • 카드/계좌 저장을 PG 토큰화 위임으로 전환해 자체 보관 자체를 제거(불가피한 값만 KMS 키분리 강암호화)
  • 기존 raw 컬럼 물리 삭제 + 접근 감사 로그화, in-query 복호화(d(col,'KEY')·인라인 상수키) 제거
  • 보존정책 테이블 + 탈퇴·보존기간 만료 PII 실제 파기 배치 신설(개인정보보호법 파기 의무)
  • 선불충전금 별도예치(50%+) 의무 대상 여부, ‘통신판매중개 자기사업 내부정산’ 적용제외 여지를 법무·회계와 확정 → 사업구조 설계 반영
완료 기준
  • DB 전수 스캔에서 카드/계좌 평문 컬럼 잔존 0건(토큰/암호문만)
  • 테스트 탈퇴 계정의 PII가 정책 기간 후 배치로 실제 파기됨을 로그로 검증
  • 전자금융법 적용 여부·예치 의무에 대한 법무 의견서 확보 및 로드맵 반영
의존성 · 리스크

결제 플로우 변경이라 PG사 협의·정산 회귀 필요. 규제 시행일이 이미 지나 노출이 상시화된 우발부채 — 법무 트랙을 병행 착수.

OH-UX-3

발주 퍼널 누수 봉합 — 재주문 원탭 + 체크아웃 팝업 차단

최고 ROI
OwnerFE 리드 · PM
ImpactHigh
EffortLow
HorizonNow
문제

B2B 발주의 70~80%인 재주문이 목록→주문상세→다시담기 3뎁스에 매몰(순수 프론트, 데이터갭 0). 동일 일일 프로모션 인터스티셜 팝업이 장바구니·주문서(체크아웃)까지 전 라우트 발사 = 전환 킬러. 마감 카운트다운 같은 우위 자산을 자기 팝업으로 상쇄.

작업
  • 주문조회 목록 행에 ‘전체/선택 다시 담기’ 원탭 노출(과거 주문 데이터로 즉시 구현, 재주문 3뎁스→1탭)
  • ‘자주 산 상품’ 레일을 홈/하단탭 상단에 배치
  • 팝업 거버넌스 룰: 장바구니·주문서·상품상세에서 인터스티셜 전면 금지, 빈도캡 적용, 프로모는 홈 인라인 배너로 강등
  • 담기 피드백 강화(담은 뒤 수량 0 리셋·버튼 비활성 → 담김 상태 유지·수량 스텝퍼)
완료 기준
  • 주문 목록에서 탭 1회로 장바구니 적재 완료(3뎁스 제거)
  • 장바구니·주문서 진입 시 인터스티셜 팝업 미발생 검증
  • (측정 준비 시) 재주문 전환율·체크아웃 이탈률 이벤트로 before/after 비교 가능
의존성 · 리스크

OH-DATA(이벤트 로깅)와 묶으면 효과 정량화 가능. 코드 조건 분기 수준 저비용인데 전환·리텐션 직접 효과 — 가장 먼저 체감되는 승리. 프로모 노출 감소에 대한 마케팅 합의 필요.

OH-ACT-4

콜드스타트 81% 활성화 온보딩 — 업종 베스트 레일 + 첫발주 리워드

High
OwnerPM · FE · Growth
ImpactHigh
EffortMedium
HorizonNow
문제

회원의 81%가 무주문(활성 주문이력 보유 19%). 획득 비용을 쓴 회원의 4/5가 첫 발주를 못 넘겨 LTV가 0에 수렴. 카테고리 기본 진입이 빈 즐겨찾기 막다른길. 첫 주문 유도 온보딩 부재.

작업
  • 가입 직후 업종/상권 선택 → 업종 베스트20 원클릭 장바구니 프리필 온보딩(6대 업종 top20의 78%가 단일업종 전용 = 엔진 학습 없이 즉시 유효)
  • 빈 즐겨찾기 기본 진입을 업종 레일 + 최근/자주 담은 상품 스마트 empty state로 대체
  • 첫 발주 완주 시 즉시 쿠폰(activation 리워드) 지급
  • 업종 베스트 월배치 (재)구축 — 인프라 배선은 존재하나 3월 1회 백필 후 미반복 상태
완료 기준
  • 신규 가입 플로우에서 업종 선택→베스트 레일 노출→원클릭 담기 동작
  • 빈 즐겨찾기 화면 제거(항상 채워진 진입점)
  • (측정) 가입→첫 발주 전환율(활성화율)을 상류 지표로 대시보드화
의존성 · 리스크

업종 베스트 월배치 복구가 선행. 업종 분류 커버리지(콜드 회원의 업종 식별)가 관건 — 가입 시 업종 입력을 온보딩에 포함해 해소. 연관구매 엔진은 이 단계에서 불필요(업종 레일로 충분).

실행 순서

왜 이 순서인가

SEC-1·2 먼저

침해 한 건이 투자·인허가·거래를 동시에 흔든다. 보안·컴플라이언스는 기능 로드맵보다 선행하는 방어선. 두 티켓을 병행하면 SQLi×평문카드 복합 위험이 함께 닫힌다.

UX-3 즉시 병행

저비용·고효과라 보안 트랙과 병행 가능. 매일 반복되는 재주문·체크아웃 누수를 막아 가장 빠르게 체감되는 전환 개선을 낸다.

ACT-4로 상류 개방

보안·퍼널이 잠긴 위에서 콜드스타트를 뚫어야 획득이 리텐션으로 이어진다. 활성화율이 열리면 이후 Next 단계(단위경제·A/B·CRM)의 측정 기반이 생긴다.

그다음 Next

정산 무결성·단위가격/중립 비교 UI·이벤트 로깅·CRM은 이 4과제가 잠긴 뒤 착수한다. 종합 로드맵 5–12 →

실행 스펙 · 세부 근거는 내부 감사 시점 관측, 조치 전 최신 코드 대조 · 2026.07.13