01.software 문서

보안 공지

영향받는 01.software 도구로 만든 프로젝트에 자격 증명 교체가 필요한지 확인합니다.

보안 공지

게시된 공지와 내 프로젝트를 대조하고, 공지가 지목한 자격 증명을 교체할 때 이 페이지를 사용합니다.

영향 버전으로 만든 앱의 .env.local 커밋

아래 버전으로 만든 프로젝트에는 .gitignore가 없었습니다. 생성기는 실제 자격 증명을 프로젝트 디렉터리의 .env.local에 기록했으므로, 처음 git add .를 실행하면 이 파일이 커밋될 수 있습니다. 커밋된 자격 증명은 저장소나 그 이력을 읽을 수 있는 누구에게나 계속 보입니다.

패키지영향 버전
@01.software/init0.10.0, 0.10.1, 0.11.0
create-01-software-app0.2.0, 그리고 2026-08-10 이전에 실행한 0.2.1

@01.software/init 0.11.2 이상은 env 파일을 제외하는 ignore 규칙과 함께 프로젝트를 만듭니다. 업그레이드는 새 프로젝트만 보호합니다. 영향 버전으로 만든 기존 프로젝트는 모두 확인하세요. 어떤 버전으로 만들었는지 모르면 일단 확인하세요.

프로젝트 확인

프로젝트 루트에서 두 명령을 모두 실행합니다.

git ls-files --error-unmatch .env.local
git log --all --oneline -- .env.local
결과다음 행동
첫 명령은 오류를 보고하고 두 번째 명령은 아무것도 출력하지 않음파일이 커밋된 적이 없습니다. 아래 ignore 규칙만 추가합니다
어느 명령이든 경로나 커밋을 출력함파일 안의 모든 값이 노출됐다고 보고 아래 단계를 따릅니다
저장소를 공유 또는 공개 원격에 push함먼저 교체합니다. 이력을 다시 써도 다른 사람이 이미 가진 사본은 회수되지 않습니다

노출된 자격 증명 교체

.env.local에서 SOFTWARE_SECRET_KEY의 접두사를 확인합니다. 전체 값은 메시지, 이슈, 채팅에 붙여 넣지 마세요. 값이 비어 있거나 없으면 표 아래의 다른 자격 증명 교체로 넘어갑니다.

접두사종류교체 방법
sk01_워크스페이스 Secret Keytenant-admin이 콘솔의 API 키에서 새 키를 발급하고 앱을 갱신한 뒤 기존 키를 폐기합니다. 목록에 표시되는 앞뒤 글자로 기존 키를 찾습니다
pat01_로그인한 사람의 개인 액세스 토큰로그인한 사람이 콘솔 오른쪽 위 프로필 아이콘(계정)을 눌러 개인 액세스 토큰에서 폐기합니다. 목록에 표시되는 앞뒤 글자(앞 12자·끝 4자)로 토큰을 찾습니다. 로그인할 수 없으면 계정 이메일 주소로 software@01.works에 앞 12자만 적어 폐기를 요청하고, 플랫폼 super-admin이 폐기합니다. 폐기하지 않은 토큰은 발급 후 최대 90일 동안 유효할 수 있습니다. 앱에는 대신 Secret Key를 사용합니다

개인 액세스 토큰은 로그인한 사람의 현재 워크스페이스 역할로 동작합니다. 브라우저 로그인으로 발급된 토큰은 tenant-admin에게만 발급됐습니다. 커밋된 파일에서 발견하면 바로 폐기하세요.

같은 파일의 다른 자격 증명도 모두 교체합니다. 직접 추가한 결제 업체 키는 해당 업체에서 교체합니다. 0.11.0으로 만든 Ecommerce와 Events 프로젝트에는 생성된 체크아웃 값도 있습니다.

  • CHECKOUT_COOKIE_SECRETS: 새 32바이트 base64url 키 하나만 설정합니다. 노출된 키를 이전 키로 남기지 마세요. 진행 중인 체크아웃의 복구 쿠키는 더 이상 동작하지 않습니다.
  • CHECKOUT_WEBHOOK_IDEMPOTENCY_SECRET: 인증 비밀값이 아니며, 스타터 안내에 따라 바꾸지 않고 유지하는 값입니다. 바꿔야 한다면 대기 중인 결제 업체 webhook 재시도가 없을 때만 바꿉니다.

파일 추적 중지

  1. .gitignore에 .env*를 추가합니다. 새 프로젝트에도 같은 규칙이 들어 있습니다.
  2. git rm --cached .env.local을 실행하고 변경을 커밋합니다. 파일은 디스크에 남습니다.
  3. 이전 커밋에서도 파일을 지우려면 GitHub의 저장소에서 민감한 데이터 제거 안내를 따릅니다. 이력을 다시 써도 교체는 필요합니다.

다음 액션

목차