플랫폼 위 제품은 세 군데서 깨진다
기능 흡수, 화면 변경, secret 노출 사례를 통해 플랫폼 위 제품의 전략·운영·보안 위험과 스토어 대기까지 포함한 복구를 다룬다.
플랫폼 위 제품은 플랫폼이 같은 기능을 만들 때만 위험한 것이 아니다. 플랫폼 화면이 바뀌고, 배포 심사가 지연되고, 클라이언트 코드에 비밀값이 들어가도 깨진다. 전략, 운영, 보안을 따로 관리해야 한다.
Edmund Yong의 브라우저 확장 기록은 세 종류의 사고를 보여 준다. OpenAI가 유사 기능을 출시한 사건, ChatGPT 화면 변경으로 버그가 난 운영, 확장 번들에 secret이 노출된 사건이다.
첫 번째 위험은 핵심 기능의 흡수다
OpenAI가 Projects를 내놓자 폴더 확장의 해지와 삭제가 늘었다고 Yong은 말한다. 그는 Projects 안에서도 필요한 계층 구조와 bookmark를 추가해 플랫폼 기능을 보완했다. 직접 경쟁을 피하고 heavy user의 복잡한 흐름으로 한 단계 이동한 선택이다.
그렇다고 대체 위험이 사라진 것은 아니다. 플랫폼이 다음 기능을 흡수할 수 있다. 플랫폼 위 앱의 방어선은 기능 개수보다 고객의 데이터 정리 방식, 다른 플랫폼과의 연결, 지원 품질, 이전 가능한 자산에 있다.
두 번째 위험은 보이지 않는 화면 계약이다
브라우저 확장은 공식 API가 아니라 페이지 구조와 동작에 기대는 경우가 많다. ChatGPT Canvas 같은 화면 변경 뒤 여러 버그가 생겼고, 사용자의 신고로 문제를 알게 됐다고 한다. 플랫폼 release note 확인, 작은 회귀 테스트, 쉬운 신고 경로가 운영 기능이 되는 이유다.
그는 버그를 한 번에 모아 새 빌드 하나로 제출했다. 문맥 전환과 심사 횟수를 줄이려는 선택이지만 긴급 보안 수정까지 기다려서는 안 된다. 기능 버그의 batch와 보안 사고의 즉시 대응은 다른 queue여야 한다.
다만 전략 위험과 운영 위험을 나눴다고 관리가 끝나는 것은 아니다. 제품이 빠르게 복구됐더라도 클라이언트에 있으면 안 되는 권한이 들어갔다면, 기능 queue와 다른 중단 조건으로 즉시 다뤄야 한다.
세 번째 위험은 클라이언트에 들어간 권한이다
사용되지 않는 utility가 secret key를 참조했고 production bundle에서 평문으로 발견됐다. Yong은 참조를 제거하고 자격증명을 교체했으며, 악용이나 데이터 유출은 확인되지 않았다고 말한다. 이 결론은 제작자의 조사 범위에 따른 자기보고다.
Chrome 확장 보안 공식 문서는 content script로 secret이나 다른 origin의 데이터를 보내지 말고, 필요한 최소 권한만 요청하라고 안내한다. 배포되는 클라이언트 코드는 사용자가 읽을 수 있다고 가정해야 한다. 숨겨야 하는 권한은 서버에 두고 좁은 작업만 호출하게 한다.
복구 속도에는 스토어 대기 시간도 포함된다
자격증명 교체 뒤 기존 확장이 작동하지 않았고, 새 빌드가 승인될 때까지 사용자는 기다려야 했다. Chrome Web Store 공식 문서에 따르면 새 확장과 업데이트 모두 review를 거치며 소요 시간은 달라질 수 있다. 코드를 고친 시점과 사용자가 수정본을 받은 시점은 다르다.
그래서 플랫폼 위 제품의 incident plan에는 자격증명 회수, 서버 측 차단, 사용자 공지, 이전 버전 호환, 제출 상태 확인이 함께 있어야 한다. 한 사람에게 모든 책임이 모인 1인 사업일수록 미리 적어 둔 순서가 판단 시간을 줄인다.
기능 복제, 화면 변경, secret 노출은 서로 다른 사건처럼 보인다. 공통점은 내 코드 밖의 조건이 제품의 생존과 복구 시간을 정한다는 것이다. 플랫폼을 쓰지 말라는 결론이 아니라, 빌린 표면과 내가 통제하는 경계를 장부에 따로 적으라는 결론이다.
세 위험은 서로 다른 신호와 중단 조건을 가진다
기능 흡수는 해지와 사용 장면의 변화로, 화면 계약 파손은 회귀 테스트와 고객 신고로, secret 노출은 배포 전 스캔과 자격증명 사용 기록으로 먼저 보인다. 하나의 “플랫폼 리스크” 지표로 합치면 전략 문제에 긴급 패치를 하거나 보안 사고를 다음 제품 회의까지 미루게 된다.
대응의 종료 조건도 달라야 한다. 전략은 고객 가치가 플랫폼 기본 기능과 다시 구분되는지, 운영은 수정본이 실제 사용자에게 도달했는지, 보안은 자격증명이 회수되고 영향 범위가 확인됐는지로 닫는다. 1인 사업의 위험 관리는 모든 사고를 막는 체계가 아니라, 사건의 종류를 빨리 알아보고 맞는 queue를 여는 능력이다.
주요 출처는 Edmund Yong의 OpenAI “Ended” My Startup, A Realistic Coding Vlog, Building a Solo Startup in My 20s입니다. 사용자·매출·해지, secret 노출 범위와 무피해 결론은 제작자의 자기보고입니다. 최소 권한과 content script 경계는 Chrome 공식 보안 문서, update review 대기는 공식 review 문서를 대조했습니다.