← 질문 목록
#343깊이 0

비밀키를 코드에 넣으면 왜 안 되는가?

인프라 · 보안기초암호화

저장소가 복사되는 곳마다 키도 따라가고, 퍼진 키는 코드에서 지워도 회수되지 않기 때문이다.

  1. 코드에 키를 적는다
  2. 그다음은 커밋과 푸시입니다. 그다음

    커밋과 푸시
  3. 그다음은 클론과 포크에 복제된다입니다. 그다음

    클론과 포크에 복제된다
  4. 그다음은 키를 지운 커밋을 올려도 히스토리와 복제본에는 남는다입니다. 그다음

    키를 지운 커밋을 올려도 히스토리와 복제본에는 남는다

깃 히스토리는 지운 줄도 기억한다. 원본 저장소의 히스토리를 다시 쓰는 도구는 있지만, 이미 만들어진 클론과 포크에서는 자동으로 지워지지 않는다. CI 설정에 따라 로그와 캐시에 남기도 한다.

그래서 유출된 키의 대응은 삭제가 아니라 폐기다. 그 키를 무효로 만들고, 계속 필요하면 새 키로 바꾼다. 어디까지 쓰였는지 접근 기록을 살피는 것도 대응의 일부다.

키는 코드와 다른 길로 전달한다. 배포 환경이 환경 변수로 주입하는 것이 흔한 방법이고, 시크릿 매니저를 쓰면 제품에 따라 교체와 접근 기록까지 맡길 수 있다. 코드에는 어떤 키가 필요한지만 남는다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

비밀키를 코드에 넣으면 왜 안 되는가?