2026년 5월 초, X 사용자 한 명이 모스 부호 한 줄로 Grok에게 $200,000을 송금시켰어요(r/artificial 1,355점). 같은 주 r/ClaudeAI에는 "내가 처음 겪은 프롬프트 인젝션"이 642점, Cloudflare는 에이전트가 도메인까지 사도록 하는 Agents Stripe Projects를 발표했어요. 외주 개발사가 만든 코드는 한 달 안에 에이전트가 돌아가는 환경에 놓일 가능성이 높아졌어요. 그래서 외주 계약에 "보안 점검·취약점 대응"이 정액 항목으로 들어가지 않으면, 사고가 났을 때 누구도 책임을 안 지는 구조가 그대로 만들어져요.
문제는 발주사가 보안을 어디까지 요구할 수 있는지 모르고, 외주사는 보안을 견적에 어떻게 녹일지 몰라서 둘 다 회피한다는 점이에요. 결과적으로 출시 후 첫 사고 — Firebase 키 13시간 €54,000 유출이나 PyTorch Lightning 공급망 침해처럼 — 가 터지면 잔금 분쟁으로 번지고, 분쟁 해결 비용이 보안 비용보다 5~10배 커집니다. 이번 가이드는 발주 단계에서 합의해야 할 8가지 항목을 한 페이지로 잡아 드려요.
OWASP Top 10·OWASP API Top 10·OWASP MASVS(모바일)·CWE Top 25 중 어느 표준을 적용할지 견적서에 박아 두세요. ISMS-P·SOC 2·ISO 27001 인증을 받으려면 추가 영역(감사 로그·접근 통제·암호화·데이터 분류·이상 행동 5영역)이 필요해요. 한국 핀테크는 전자금융감독규정 85항목, 헬스케어는 의료법 23·27조와 PIPA 23·24조가 더 들어가요. "표준 미명시 시 OWASP Top 10 + CWE Top 25"가 안전한 기본값이에요.
외주사 자가 점검 → 발주사 또는 제3자 펜테스트 → 잔금 사인오프 흐름이 표준이에요. 제3자 펜테스트(SK쉴더스·라온시큐어·KISA 위탁사 등)는 ₩800만~₩2,500만 수준이고, 1주~2주 일정이에요. 외주 견적에 "잔금의 일부를 펜테스트 통과 후 지급"으로 묶으면 외주사도 자가 점검을 진지하게 해요. 사인오프 시점은 산출물 검수와 분리하지 마세요.
Critical/High/Medium/Low 등급별 응답 시간을 명시해야 해요. 표준은 Critical 24시간 응답·72시간 핫픽스, High 72시간 응답·7일 핫픽스, Medium 7영업일 응답·30일 패치, Low 분기 단위 패치입니다. 외주사가 출시 후 30·60·90일 무상 SLA를 거부하면 보증금 10~15%를 분할 지급으로 묶으세요. 이 부분이 비어 있으면 "발견은 했지만 안 고친다"가 가장 흔한 분쟁 패턴이에요.
API 키·DB 비밀번호·OAuth 토큰·LLM 키는 KMS(AWS KMS·GCP KMS·Vault) 또는 HSM 기반으로 관리하고, IAM/IRSA/Service Account로 인계해요. 코드 안 평문 시크릿 발견 시 ₩100만 단위 위약을 거는 게 표준이에요. 4월 PyTorch Lightning 사고처럼 패키지 인계 시점에 OPENAI/ANTHROPIC/SUPABASE service_role 같은 키가 옆이동(lateral movement)하지 않도록 인벤토리와 해시 사인오프를 받아야 해요.
모든 결제·자산·LLM 호출은 별도 BFF(Backend For Frontend)와 PII 미들웨어를 거쳐야 해요. 한국어 PIPA 23·24조는 고유식별·민감정보 마스킹을 의무화하고 있어요. Grok 모스 부호 사고처럼 LLM이 사용자 입력을 외부 도구에 그대로 흘리면 PIPA 위반이 동시에 일어나요. BFF 화이트리스트·요청 ID·모델명·토큰수·prompt 해시 로깅을 외주 산출물에 포함하도록 명시하세요.
사고가 나면 발주사가 24시간 안에 금감원·KISA에 보고해야 해요(전자금융거래법·정보통신망법). 외주사는 이를 위한 로그 백업·인시던트 런북·Slack 알림 채널·30분 안에 어디서 끊을지 한 페이지를 인계해야 해요. 30·60·90일 비상 SLA는 시간당 단가(₩180,000~₩220,000/hr 표준)로 미리 정해 두세요. "어떤 키부터 죽이고, 어떤 카드부터 정지하고, 어떤 도메인부터 잠그는지" 30초 회수 런북을 함께 받아야 해요.
SBOM(Software Bill of Materials) 인계, 분기 1회 의존성 스캔(Snyk·Dependabot·Trivy), 취약 패키지 차단 정책을 명시하세요. 4월 PyTorch Lightning 2.6.2/2.6.3 침해처럼 PyPI·npm 정식 패키지가 침해되는 시대예요. uv.lock·package-lock.json 핀과 마이너 자동 업그레이드 차단을 기본값으로 두세요. Bun 같은 새 런타임을 쓰는 경우 벤더 이벤트와 런타임 일정의 매트릭스를 인계서에 추가해야 해요.
Claude Code·Codex·Cursor·Roo-Code 같은 AI 코딩 도구의 사용 합의(NDA·Enterprise zero-retention), 출시 전 200건 평가셋, 분기 1회 레드팀(prompt injection 200건 벤치)이 외주 SOW에 들어가야 해요. 4월 VS Code "Co-authored-by: Copilot" 자동 trailer 사태처럼 AI 사용 흔적이 코드에 자동으로 박히면 분쟁의 출발점이 됩니다. AI 인수인계 5자산 — 프롬프트 라이브러리·평가셋·라우팅 표·관측성 대시보드·가드레일 룰셋 — 을 함께 받아야 해요.
이 8가지가 출발 단계 SOW에 박혀 있으면, 출시 후 첫 사고가 나도 누구도 도망가지 않는 구조가 만들어져요. 비어 있으면 분쟁이 보안 비용의 5~10배가 됩니다. 포텐랩은 30개 이상의 프로젝트에서 97% 수행완수율을 유지하며, 펜테스트·KMS·BFF·평가셋·레드팀·AI 5자산을 외주 인계 표준에 같이 묶고 있어요. 상담 신청으로 시작하면 위 8개 항목이 박힌 SOW 초안을 같이 만들어 드려요. 보안은 잔금이 아니라 발주 단계에서 합의해야 진짜로 작동합니다.
OWASP Top 10·OWASP API Top 10·OWASP MASVS(모바일)·CWE Top 25 중 어느 표준을 적용할지 견적서에 박아 두세요. ISMS-P·SOC 2·ISO 27001 인증을 받으려면 감사 로그·접근 통제·암호화·데이터 분류·이상 행동 5영역이 추가로 필요해요. 한국 핀테크는 전자금융감독규정 85항목, 헬스케어는 의료법 23·27조와 PIPA 23·24조가 더 들어가요. 표준을 못 정했다면 "OWASP Top 10 + CWE Top 25"가 안전한 기본값이에요.
외주사 자가 점검 → 발주사 또는 제3자 펜테스트 → 잔금 사인오프 흐름이 표준이에요. 제3자 펜테스트(SK쉴더스·라온시큐어·KISA 위탁사 등)는 ₩800만~₩2,500만 수준이고 1주~2주 일정이 걸려요. 잔금의 일부를 펜테스트 통과 후 지급으로 묶으면 외주사도 자가 점검을 진지하게 해요. 사인오프 시점은 산출물 검수와 분리하지 마세요.
표준은 Critical 24시간 응답·72시간 핫픽스, High 72시간 응답·7일 핫픽스, Medium 7영업일 응답·30일 패치, Low 분기 단위 패치예요. 외주사가 출시 후 30·60·90일 무상 SLA를 거부하면 보증금 10~15%를 분할 지급으로 묶으세요. 이 항목이 비어 있으면 "발견은 했지만 안 고친다"가 가장 흔한 분쟁 패턴이에요.
API 키·DB 비밀번호·OAuth 토큰·LLM 키는 KMS(AWS KMS·GCP KMS·Vault)나 HSM 기반으로 관리하고 IAM/IRSA/Service Account로 인계해요. 코드 안에 평문 시크릿이 발견되면 ₩100만 단위 위약을 거는 게 표준이에요. PyTorch Lightning 사고처럼 패키지 인계 시점에 OPENAI/ANTHROPIC/SUPABASE service_role 같은 키가 옆이동(lateral movement)하지 않도록 인벤토리와 해시 사인오프를 받아야 해요.
사고가 나면 발주사가 24시간 안에 금감원·KISA에 보고해야 해요(전자금융거래법·정보통신망법). 외주사는 이를 위해 로그 백업·인시던트 런북·Slack 알림 채널과, 30분 안에 어디서 끊을지 정리한 한 페이지를 인계해야 해요. 어떤 키부터 죽이고 어떤 카드부터 정지하고 어떤 도메인부터 잠그는지 담은 30초 회수 런북도 함께 받아야 하고요. 30·60·90일 비상 SLA는 시간당 단가(₩180,000~₩220,000/hr 표준)로 미리 정해 두세요.
SBOM(Software Bill of Materials) 인계, 분기 1회 의존성 스캔(Snyk·Dependabot·Trivy), 취약 패키지 차단 정책을 명시하세요. uv.lock·package-lock.json 핀과 마이너 자동 업그레이드 차단은 기본값으로 두고요. PyTorch Lightning 2.6.2/2.6.3 침해처럼 PyPI·npm 정식 패키지가 침해되는 시대예요. Bun 같은 새 런타임을 쓴다면 벤더 이벤트와 런타임 일정의 매트릭스를 인계서에 추가해야 해요.