
GitHub 조직용 정찰 도구
Gitrob는 Github의 공개 저장소에 푸시된 잠재적으로 민감한 파일을 찾는 데 도움을 주는 도구입니다. Gitrob는 사용자나 조직에 속한 저장소를 설정 가능한 깊이까지 복제하고, 커밋 히스토리를 반복하며 잠재적으로 민감한 파일의 시그니처와 일치하는 파일을 플래깅합니다. 발견된 결과는 웹 인터페이스를 통해 제공되어 쉽게 탐색하고 분석할 수 있습니다.
gitrob [options] target [target2] ... [targetN]
-bind-address string
웹 서버를 바인딩할 주소 (기본값 "127.0.0.1")
-commit-depth int
처리할 저장소 커밋 수 (기본값 500)
-debug
디버깅 정보 출력
-github-access-token string
API 요청에 사용할 GitHub 액세스 토큰
-load string
세션 파일 로드
-no-expand-orgs
조직을 처리할 때 대상에 멤버를 추가하지 않음
-port int
웹 서버를 실행할 포트 (기본값 9393)
-save string
세션을 파일에 저장
-silent
오류를 제외한 모든 출력 억제
-threads int
동시 스레드 수 (기본값 논리 CPU 수)
기본적으로 gitrob는 평가 상태를 메모리에 저장합니다. 즉, Gitrob를 종료하면 평가 결과가 손실됩니다. -save 옵션을 사용하여 세션을 파일에 저장할 수 있습니다:
gitrob -save ~/gitrob-session.json acmecorp
Gitrob는 수집된 모든 정보를 특수 JSON 문서로 지정된 파일 경로에 저장합니다. 이 파일은 나중에 다시 불러와 탐색하거나, 다른 분석가와 공유하거나, 다른 도구 및 시스템과의 사용자 지정 통합을 위해 구문 분석할 수 있습니다.
파일에 저장된 세션은 -load 옵션으로 로드할 수 있습니다:
gitrob -load ~/gitrob-session.json
Gitrob는 웹 인터페이스를 시작하고 분석을 위해 결과를 제공합니다.
각 릴리스마다 사전 컴파일된 버전을 사용할 수 있습니다. 또는 이 저장소의 최신 소스 코드를 사용하여 직접 바이너리를 빌드할 수도 있습니다.
올바르게 구성된 Go >= 1.8 환경과 $GOPATH/bin이 $PATH에 포함되어 있는지 확인하십시오.
$ go get github.com/michenriksen/gitrob
이 명령은 gitrob를 다운로드하고, 종속성을 설치하며, 컴파일하고 gitrob 실행 파일을 $GOPATH/bin으로 이동합니다.
Gitrob는 Github API와 상호 작용하기 위해 Github 액세스 토큰이 필요합니다. 개인 액세스 토큰을 생성하고 .bashrc 또는 유사한 셸 구성 파일에 환경 변수로 저장하십시오:
export GITROB_ACCESS_TOKEN=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef
또는 -github-access-token 옵션으로 액세스 토큰을 지정할 수 있지만, 명령 기록에 주의하십시오!