콘텐츠로 이동

보안과 시크릿

Piko에서 만든 앱이 외부 API, 로그인, 결제, 고객 데이터를 다룬다면 공개 전에 보안 설정을 먼저 확인해야 합니다. Piko는 배포 버튼을 누를 때 최신 생성 파일을 자동으로 점검하고, 프로젝트 소유자는 프로젝트 설정의 보안 탭에서 전체 결과를 다시 확인할 수 있습니다.

항목설명
프로젝트 보안 스캔프로젝트 설정에서 키 노출, 위험한 코드, 접근 제어, CORS, 의존성, Cloudflare 바인딩, 보안 헤더 단서를 점검
배포 전 보안 가드배포 버튼을 누르면 스캔을 먼저 실행하고 치명/높음 항목이 있으면 공개 배포를 멈춤
작업 화면 noindex보기 화면과 샌드박스 주소는 검색 노출을 막음
비공개 프로젝트프로젝트 작업물과 편집 화면은 권한 있는 사용자만 접근
외부 시크릿 보관OAuth 키와 API 키를 프롬프트 본문 대신 보호 저장소에 보관
공개 URL 접근 제한Business 플랜에서 업무용 앱을 워크스페이스 내부로 제한
프로젝트 멤버 역할Owner, Editor, Viewer로 작업 권한 분리

배포 버튼을 누르면 같은 점검이 먼저 실행됩니다. 치명/높음 항목은 공개하면 피해로 이어질 수 있어 배포를 멈추고, 중간/낮음/정보 항목은 채팅에 알려준 뒤 배포를 계속합니다. 프로젝트 설정 → 보안에서 다시 스캔을 실행하면 최신 생성 파일을 기준으로 전체 결과를 확인합니다.

점검 항목예시
시크릿 노출API key, GitHub token, private key, JWT로 보이는 값
위험한 코드eval, new Function, 검증 없는 HTML 삽입
접근 제어민감 route 주변의 인증·권한 확인 누락 가능성
네트워크 정책와일드카드 CORS, credentials와 함께 쓰는 공개 CORS
의존성latest, *, 원격 스크립트 pipe 실행
Cloudflare 바인딩플랫폼 D1/R2/KV/DO, service binding 참조
보안 헤더공개 응답 코드의 CSP, frame-ancestors, nosniff 단서
  • API 키를 채팅 본문, 공개 코드, 화면 텍스트에 직접 넣지 않습니다.
  • 외부 연동 설정에 저장한 뒤 앱 실행 환경으로 동기화합니다.
  • 키를 교체했으면 다시 동기화하고 공개본을 확인합니다.

치명/높음 항목은 보통 API 키, 토큰, private key, 위험한 HTML/JS 실행, 플랫폼 저장소 권한처럼 밖으로 공개되면 안 되는 내용입니다. 채팅에 먼저 고쳐야 할 항목 3개가 표시되고, 전체 목록은 프로젝트 설정 → 보안 탭에서 볼 수 있습니다.

  1. 표시된 파일과 줄 번호를 확인합니다.
  2. API 키나 토큰은 코드에서 제거하고 빌드 변수나 외부 시크릿으로 옮깁니다.
  3. 위험한 코드나 권한 설정을 수정합니다.
  4. 다시 배포를 누릅니다.

현재 보안 스캔은 생성 결과물의 빠른 정적 점검입니다. 워크스페이스 전체 보안 센터, 정기 예약 스캔, CSV 내보내기, CVE 데이터베이스 기반 dependency advisory, 자동 수정 PR, 배포 차단 override 정책은 별도 로드맵입니다.