0Pricing
Cyber Security Academy · 강의

비밀 정보 스캔 및 하드코딩된 자격 증명

git-secrets, gitleaks 및 사전 커밋 훅을 사용해 API 키와 비밀번호가 커밋되지 않도록 방지합니다.

비밀 정보 스캔 및 하드코딩된 자격 증명은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

하드코딩된 비밀 정보 문제

개발자는 실수로 API 키, 암호, 개인 키, 토큰을 소스 코드 저장소에 커밋합니다. Git 기록에 들어가면 삭제한 후에도 계속 남습니다. 공개 저장소는 푸시 후 몇 초 안에 봇에 의해 수집됩니다.

커밋되는 항목

저장소에서 흔히 발견되는 비밀 정보:

  • AWS 액세스 키(AKIA...)
  • GitHub 개인 액세스 토큰
  • 구성 파일의 데이터베이스 암호
  • Stripe/결제 API 키
  • 개인 TLS/SSH 키
  • Slack 웹후크 URL

예방을 위한 커밋 전 후크

처음부터 비밀 정보가 Git에 들어가지 않도록 방지하십시오:

# Install gitleaks as a pre-commit hook:
pip install pre-commit
# .pre-commit-config.yaml:
repos:
- repo: https://github.com/zricethezav/gitleaks
  rev: v8.18.1
  hooks:
  - id: gitleaks

기존 repos 검사하기

기존 repos에서 비밀 정보를 검사하십시오:

# gitleaks: scan entire git history
gitleaks detect --source . --log-opts="--all"

# truffleHog: high-entropy string + regex detection
trufflehog git file://.

# GitHub secret scanning (automatic for public repos)
# Alerts under Security → Secret scanning alerts

GitHub 비밀 정보 검사

GitHub는 공개 저장소에서 알려진 비밀 정보 패턴(AWS 키, GitHub 토큰 등)을 자동으로 검사하고 제공업체에 알립니다. 비공개 repos에서는 GitHub 고급 보안 기능이 이 기능을 확장합니다. AWS와 같은 제공업체는 탐지 시 키를 자동으로 폐기합니다.

.gitignore 해결책과 한계

.env를 .gitignore에 추가하면 실수로 커밋하는 것을 방지할 수 있습니다. 그러나 개발자는 여전히 다른 파일에 비밀 정보를 커밋할 수 있으며, 파일이 이미 커밋된 경우에는 .gitignore가 도움이 되지 않습니다. 심층 방어를 위해 gitignore, 커밋 전 후크, CI 검사를 함께 사용하십시오.

환경 변수 사용하기

비밀 정보가 코드에 나타나서는 안 됩니다. 실행 시점에 불러오는 환경 변수를 사용하십시오:

# Python:
import os
api_key = os.environ["API_KEY"]

# Node.js with dotenv (for local dev only):
require("dotenv").config()
const apiKey = process.env.API_KEY

# Never commit .env to git

비밀 정보 관리자

운영 애플리케이션은 전용 비밀 정보 관리자를 사용해야 합니다:

  • AWS Secrets Manager — 자동 교체, IAM으로 제어되는 액세스
  • HashiCorp Vault — 오픈 소스, 엔터프라이즈 지원, 다양한 백엔드
  • Azure Key Vault / GCP Secret Manager

비밀 정보는 코드나 디스크의 환경 변수에 절대 저장하지 않습니다.

침해된 비밀 정보 교체하기

비밀 정보가 노출된 경우:

  1. 비밀 정보를 즉시 폐기하십시오(조사 전에)
  2. 무단 사용 여부를 확인하기 위해 접근 기록을 확인하십시오
  3. 새 비밀 정보를 생성하십시오
  4. 이전 비밀 정보를 사용하는 모든 시스템을 업데이트하십시오
  5. git-filter-repo 또는 BFG Repo Cleaner를 사용하여 Git 기록에서 제거하십시오

Git 기록에서 비밀 정보 제거하기

폐기한 후 기록에서 제거하십시오:

# BFG Repo Cleaner (faster than filter-branch):
java -jar bfg.jar --delete-files .env repo.git
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push --force
# Note: force push rewrites history - coordinate with team

CI/CD 파이프라인의 비밀 정보

CI/CD 시스템에는 자체적인 비밀 정보 관리 기능이 있습니다:

  • GitHub Actions: 저장소/조직 설정에 저장된 비밀 정보 → ${{ secrets.API_KEY }}로 액세스
  • GitLab CI: CI/CD 변수
  • Jenkins: 자격 증명 플러그인

로그에서 비밀 정보를 마스킹하십시오. 디버그 출력에 절대 표시하지 마십시오.

빠른 확인: 비밀 정보 검사

비밀 정보가 저장소에 들어가는 것을 방지하는 가장 효과적인 첫 번째 방어선은 무엇입니까?

강의 요약

Git에 하드코딩된 비밀 정보는 심각한 위험입니다. 공개 repos는 몇 초 안에 봇에 의해 수집됩니다. 예방: 커밋 전 후크(gitleaks), gitignore. 탐지: truffleHog, GitHub 비밀 정보 검사. 비밀 정보는 환경 변수나 전용 비밀 정보 관리자(Vault, AWS Secrets Manager)에 저장하십시오. 노출되면 즉시 교체하고 BFG Repo Cleaner를 사용하여 Git 기록에서 제거하십시오.

자주 묻는 질문

“비밀 정보 스캔 및 하드코딩된 자격 증명” 강의는 무료인가요?

네 — “비밀 정보 스캔 및 하드코딩된 자격 증명” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“비밀 정보 스캔 및 하드코딩된 자격 증명”에서 뭘 배우나요?

git-secrets, gitleaks 및 사전 커밋 훅을 사용해 API 키와 비밀번호가 커밋되지 않도록 방지합니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“비밀 정보 스캔 및 하드코딩된 자격 증명” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. CI/CD 파이프라인의 SAST 및 DAST
  2. 소프트웨어 구성 분석(SCA)
  3. 비밀 정보 스캔 및 하드코딩된 자격 증명
  4. 보안 챔피언과 위협 모델링
← Cyber Security Academy(으)로 돌아가기