쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

git-secrets를 사용하여 Git 리포지토리에서 민감한 정보 및 보안 문제 검사하기 - 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

git-secrets를 사용하여 Git 리포지토리에서 민감한 정보 및 보안 문제 검사하기

작성자: Saurabh Singh (AWS)

요약

이 패턴은 AWS Labs의 오픈 소스 git-secret 도구를 사용하여 Git 소스 리포지토리를 스캔하고 사용자 암호 또는 AWS 액세스 키와 같은 민감한 정보를 포함할 수 있거나 기타 보안 문제가 있는 코드를 찾는 방법을 설명합니다.

git-secrets는 커밋, 커밋 메시지, 병합을 검사하여 보안 암호와 같은 민감한 정보가 Git 리포지토리에 추가되지 않도록 합니다. 예를 들어 커밋, 커밋 메시지 또는 병합 기록의 커밋이 구성되거나 금지된 정규 표현식 패턴 중 하나와 일치하면 커밋이 거부됩니다.

사전 조건 및 제한 사항

사전 조건 

  • 활성 상태의 AWS 계정

  • 보안 스캔이 필요한 Git 리포지토리

  • Git 클라이언트(버전 2.37.1 이상)가 설치됨

아키텍처

대상 아키텍처 

  • Git

  • git-secrets

git-secrets 도구를 사용하여 Git 소스 리포지토리에서 민감한 정보를 스캔합니다.

도구

  • git-secrets는 민감한 정보를 Git 리포지토리에 커밋하지 못하도록 하는 도구입니다.

  • Git은 오픈 소스 분산 버전 제어 시스템입니다.

모범 사례

  • 모든 수정 내용을 포함하여 항상 Git 저장소를 검사합니다.

git secrets --scan-history

에픽

작업설명필요한 기술

SSH를 사용하여 EC2 인스턴스에 연결합니다.

SSH와 키 쌍 파일을 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스와 연결합니다.

로컬 시스템에서 리포지토리에 대해 검사하는 경우 이 단계를 건너뛸 수 있습니다.

일반 AWS

Amazon EC2 인스턴스에 연결

작업설명필요한 기술

SSH를 사용하여 EC2 인스턴스에 연결합니다.

SSH와 키 쌍 파일을 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스와 연결합니다.

로컬 시스템에서 리포지토리에 대해 검사하는 경우 이 단계를 건너뛸 수 있습니다.

일반 AWS
작업설명필요한 기술

Git을 설치합니다.

다음 명령을 사용하여 Git을 설치합니다.

yum install git -y

로컬 컴퓨터를 사용하는 경우, 특정 OS 버전용 Git 클라이언트를 설치할 수 있습니다. 자세한 내용은 Git 웹 사이트를 참조하세요.

일반 AWS

Git 설치

작업설명필요한 기술

Git을 설치합니다.

다음 명령을 사용하여 Git을 설치합니다.

yum install git -y

로컬 컴퓨터를 사용하는 경우, 특정 OS 버전용 Git 클라이언트를 설치할 수 있습니다. 자세한 내용은 Git 웹 사이트를 참조하세요.

일반 AWS
작업설명필요한 기술

Git 소스 리포지토리를 복제합니다.

검사하려는 Git 리포지토리를 복제하려면 홈 디렉터리에서 Git 복제 명령을 선택합니다.

일반 AWS

git 시크릿을 복제합니다.

git-secrets Git 리포지토리를 복제합니다.

git clone https://github.com/awslabs/git-secrets.git

git-secrets 실행 시 Git이 git-secrets을 픽업하도록 PATH 내부 어딘가에 배치합니다.

일반 AWS

git-secrets을 설치합니다.

Unix 및 기타 변종(Linux/macOS)의 경우:

(git-secrets 리포지토리에 제공된) Makefileinstall 대상을 사용하여 도구를 설치할 수 있습니다. PREFIXMANPREFIX 변수를 사용하여 설치 경로를 사용자 지정할 수 있습니다.

make install

Windows의 경우:

git-secrets 리포지토리에 제공된 PowerShell install.ps1 스크립트를 실행합니다. 이 스크립트는 설치 파일을 설치 디렉터리(기본값은 %USERPROFILE%/.git-secrets)에 복사하고 디렉터리를 현재 사용자 PATH에게 추가합니다.

PS > ./install.ps1

Homebrew (macOS 사용자)의 경우:

실행합니다.

brew install git-secrets

자세한 내용은 관련 리소스 섹션을 참조하세요.

일반 AWS

소스 리포지토리를 복제하고 git-secrets를 설치합니다.

작업설명필요한 기술

Git 소스 리포지토리를 복제합니다.

검사하려는 Git 리포지토리를 복제하려면 홈 디렉터리에서 Git 복제 명령을 선택합니다.

일반 AWS

git 시크릿을 복제합니다.

git-secrets Git 리포지토리를 복제합니다.

git clone https://github.com/awslabs/git-secrets.git

git-secrets 실행 시 Git이 git-secrets을 픽업하도록 PATH 내부 어딘가에 배치합니다.

일반 AWS

git-secrets을 설치합니다.

Unix 및 기타 변종(Linux/macOS)의 경우:

(git-secrets 리포지토리에 제공된) Makefileinstall 대상을 사용하여 도구를 설치할 수 있습니다. PREFIXMANPREFIX 변수를 사용하여 설치 경로를 사용자 지정할 수 있습니다.

make install

Windows의 경우:

git-secrets 리포지토리에 제공된 PowerShell install.ps1 스크립트를 실행합니다. 이 스크립트는 설치 파일을 설치 디렉터리(기본값은 %USERPROFILE%/.git-secrets)에 복사하고 디렉터리를 현재 사용자 PATH에게 추가합니다.

PS > ./install.ps1

Homebrew (macOS 사용자)의 경우:

실행합니다.

brew install git-secrets

자세한 내용은 관련 리소스 섹션을 참조하세요.

일반 AWS
작업설명필요한 기술

소스 리포지토리로 이동합니다.

검사하려는 Git 리포지토리의 디렉터리로 전환합니다.

cd my-git-repository
일반 AWS

AWS 규칙 세트(Git 후크)를 등록합니다.

커밋할 때마다 Git 리포지토리를 검사하도록 git-secrets을 구성하려면 다음 명령을 실행합니다.

git secrets --register-aws
일반 AWS

리포지토리를 검사합니다.

리포지토리 검사를 시작하려면 다음 명령을 실행합니다.

git secrets -–scan
일반 AWS

출력 파일을 검토합니다.

이 도구는 Git 리포지토리에서 취약점을 발견하면 출력 파일을 생성합니다. 예시:

example.sh:4:AWS_SECRET_ACCESS_KEY = ********* [ERROR] Matched one or more prohibited patterns Possible mitigations: - Mark false positives as allowed using: git config --add secrets.allowed ... - Mark false positives as allowed by adding regular expressions to .gitallowed at repository's root directory - List your configured patterns: git config --get-all secrets.patterns - List your configured allowed patterns: git config --get-all secrets.allowed - List your configured allowed patterns in .gitallowed at repository's root directory - Use --no-verify if this is a one-time false positive
일반 AWS

git 코드 리포지토리 검사

작업설명필요한 기술

소스 리포지토리로 이동합니다.

검사하려는 Git 리포지토리의 디렉터리로 전환합니다.

cd my-git-repository
일반 AWS

AWS 규칙 세트(Git 후크)를 등록합니다.

커밋할 때마다 Git 리포지토리를 검사하도록 git-secrets을 구성하려면 다음 명령을 실행합니다.

git secrets --register-aws
일반 AWS

리포지토리를 검사합니다.

리포지토리 검사를 시작하려면 다음 명령을 실행합니다.

git secrets -–scan
일반 AWS

출력 파일을 검토합니다.

이 도구는 Git 리포지토리에서 취약점을 발견하면 출력 파일을 생성합니다. 예시:

example.sh:4:AWS_SECRET_ACCESS_KEY = ********* [ERROR] Matched one or more prohibited patterns Possible mitigations: - Mark false positives as allowed using: git config --add secrets.allowed ... - Mark false positives as allowed by adding regular expressions to .gitallowed at repository's root directory - List your configured patterns: git config --get-all secrets.patterns - List your configured allowed patterns: git config --get-all secrets.allowed - List your configured allowed patterns in .gitallowed at repository's root directory - Use --no-verify if this is a one-time false positive
일반 AWS

관련 리소스

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.