Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ChopChop — YAML 기반 CLI 스캐너로, 웹 엔드포인트에서 노출된 서비스, 파일, 폴더를 탐지합니다. 개발자가 사용자 정의 가능한 시그니처로 CI/CD 파이프라인에 보안 검사를 통합할 수 있도록 설계되었습니다. | Kitploit
도구/GitHubGitHub/michelin/chopchop
Vulnerability ScannersConfiguration AuditingInformation GatheringWeb SecurityDevSecOps
GitHubmichelin/chopchop

ChopChop

YAML 기반 CLI 스캐너로, 웹 엔드포인트에서 노출된 서비스, 파일, 폴더를 탐지합니다. 개발자가 사용자 정의 가능한 시그니처로 CI/CD 파이프라인에 보안 검사를 통합할 수 있도록 설계되었습니다.

저장소 보기
712775년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Build Status License Go Report Card

ChopChop

ChopChop은 웹 애플리케이션에 대한 동적 애플리케이션 보안 테스트(Dynamic Application Security Testing)를 위한 명령줄 도구로, 처음에는 Michelin CERT가 작성했습니다.

목표는 여러 엔드포인트를 스캔하여 웹루트를 통해 노출된 서비스/파일/폴더를 식별하는 것입니다. 검사/시그니처는 설정 파일(기본값: chopchop.yml)에 선언되며, 완전히 구성 가능하고 특히 개발자에 의해 설정됩니다.

"Chop chop"은 광둥어에서 유래한 표현입니다. "Chop chop"은 "서둘러"라는 뜻이며, 어떤 일을 지금 바로 지체 없이 해야 함을 암시합니다.


목차

  • 빌드하기
  • 사용법
    • 사용 가능한 플래그
    • 고급 사용법
  • 새 검사 생성
  • 외부 라이브러리
  • 발표
  • 라이선스
  • 저자

빌드하기

우리는 빌드 과정을 최대한 간단하게 만들려고 노력했으며, 바라건대 다음과 같이 간단해야 합니다:

root@kitploit:~
$ go mod download
$ go build .

결과적으로 gochopchop 바이너리가 폴더에 생성되어야 합니다.

Docker 사용하기

Github Container Registry 덕분에 새롭게 빌드된 Docker 이미지를 제공할 수 있습니다!

root@kitploit:~
docker run ghcr.io/michelin/gochopchop scan https://foobar.com -v debug

하지만 원하신다면 로컬에서도 빌드할 수 있습니다. 아래를 참조하세요:

로컬에서 빌드하기

root@kitploit:~
docker build -t gochopchop .

사용법

우리는 goChopChop을 가능한 한 쉽게 만들기 위해 지속적으로 노력하고 있습니다. 이 유틸리티로 호스트를 스캔하는 것은 다음과 같이 간단합니다:

root@kitploit:~
$ ./gochopchop scan https://foobar.com

Docker 사용하기

root@kitploit:~
docker run gochopchop scan https://foobar.com

사용자 정의 설정 파일

root@kitploit:~
docker run -v ./:/app chopchop scan -c /app/chopchop.yml https://foobar.com

다음 계획

Golang 재작성은 몇 달 전에 이루어졌지만 아직 할 일이 많습니다. 다음은 통합을 계획 중인 몇 가지 기능입니다:

[x] 성능 향상을 위한 스레딩 [x] 동시 스레드 수를 지정하는 기능 [x] 색상 및 더 나은 포맷팅 [x] 검사/시그니처 필터링 기능 [x] Mock 및 단위 테스트 [x] Github CI 그 외에도 더 많은 기능이 있습니다!

테스트

chopchop을 빠르게 end-to-end 테스트하기 위해 tests/server.go에 웹 서버를 제공했습니다. 사용해 보려면 go run tests/server.go를 실행한 후, 다음 명령어로 chopchop을 실행하세요: ./gochopchop scan http://localhost:8000 --verbosity Debug. ChopChop은 "보안 취약점을 찾지 못했습니다"라고 출력해야 합니다.

또한 go test -v ./...로 실행할 수 있는 단위 테스트도 있습니다. 이 테스트들은 github CI 워크플로우에 통합되어 있습니다.

사용 가능한 플래그

scan 명령어에 사용할 수 있는 플래그는 다음과 같습니다:

고급 사용법

관심 가질 만한 고급 사용법 목록입니다. 참고: 후처리를 위해 >와 같은 리디렉터를 사용할 수 있습니다.

  • SSL 검증을 비활성화하고 스캔하기
root@kitploit:~
$ ./gochopchop scan https://foobar.com --insecure
  • 사용자 정의 설정 파일(사용자 정의 플러그인 포함)로 스캔하기
root@kitploit:~
$ ./gochopchop scan https://foobar.com --insecure --signature test_config.yml
  • 모든 플러그인 또는 심각도별로 나열: plugins 또는 plugins --severity High
root@kitploit:~
$ ./gochopchop plugins --severity High
  • 동시 스레드 수 지정: --threads 4 (4개 워커)
root@kitploit:~
$ ./gochopchop plugins --threads 4
  • 심각도 수준으로 CI 파이프라인 차단 (지정된 심각도 이상): --max-severity Medium
root@kitploit:~
$ ./gochopchop scan https://foobar.com --max-severity Medium
  • 확인할 특정 시그니처 지정
root@kitploit:~
./gochopchop scan https://foobar.com --timeout 1 --verbosity --export=csv,json --export-filename boo --plugin-filters=Git,Zimbra,Jenkins
  • 모든 플러그인 나열
root@kitploit:~
$ ./gochopchop plugins
  • 높은 심각도 플러그인 나열
root@kitploit:~
$ ./gochopchop plugins --severity High
  • 파일에 있는 URL 목록 설정
root@kitploit:~
$ ./gochopchop scan --url-file url_file.txt
  • GoChopChop 결과를 CSV 및 JSON 형식으로 내보내기
root@kitploit:~
$ ./gochopchop scan https://foobar.com  --export=csv,json --export-filename results

새 검사 생성

새 검사를 작성하는 것은 다음과 같이 간단합니다:

root@kitploit:~
  - endpoint: "/.git/config"
    checks:
      - name: Git exposed
        match:
          - "[branch"
        remediation: Do not deploy .git folder on production servers
        description: Verifies that the GIT repository is accessible from the site
        severity: "High"

엔드포인트(예: /.git/config)는 여러 검사에 매핑되므로, X개의 검사에 대해 X개의 요청을 보내지 않아도 됩니다. 단일 HTTP 요청으로 여러 검사를 수행할 수 있습니다. 각 검사는 다음 필드가 필요합니다:

외부 라이브러리

자세한 내용은 third-party.txt 파일을 참조하세요.

발표

  • PyCon FR 2019 (도구는 처음에 Python으로 개발됨) - https://docs.google.com/presentation/d/1uVXGUpt7tC7zQ1HWegoBbEg2LHamABIqfDfiD9MWsD8/edit
  • DEFCON AppSec Village 2020 "Turning offsec mindset to developer's toolset" - https://drive.google.com/file/d/15P8eSarIohwCVW-tR3FN78KJPGbpAtR1/view

라이선스

ChopChop은 Apache License 2.0으로 출시되었습니다. 자세한 내용은 LICENSE 파일을 참조하세요.

저자

  • Paul A.
  • David R. (Python 버전)
  • Stanislas M. (Golang 버전)
도구 다운로드
플래그전체 플래그설명
-h--help도움말 마법사
-v--verbosity로깅 상세 수준
-c--signature사용자 정의 시그니처 파일 경로
-k--insecureSSL 검증 비활성화
-u--url-file테스트할 URL이 포함된 파일 경로
-b--max-severity지정된 심각도 이상이면 CI 파이프라인 차단
-e--export출력 내보내기 유형 (csv 및/또는 json)
--export-filename내보내기 파일의 파일명 지정
-t--timeoutHTTP 요청 타임아웃
--severity-filter심각도별 플러그인 필터링
--plugin-filter플러그인 이름별 플러그인 필터링
--threads동시 스레드 수
속성타입설명선택 여부예시
name문자열검사 이름아니오Git exposed
description문자열검사에 대한 간단한 설명아니오Ensure .git repository is not accessible from the webroot
remediation문자열이 특정 "문제"에 대한 해결 방법 제공아니오Do not deploy .git folder on production servers
severity열거형("High", "Medium", "Low", "Informational")환경에서 트리거될 경우 심각도 평가아니오High
status_code정수반환되어야 하는 HTTP 상태 코드예200
headers문자열 목록HTTP 응답에 있어야 하는 헤더 목록예N/A
no_headers문자열 목록HTTP 응답에 없어야 하는 헤더 목록예N/A
match문자열 목록HTTP 응답에 있어야 하는 문자열 목록예"[branch"
no_match문자열 목록HTTP 응답에 없어야 하는 문자열 목록예N/A
query_string엔드포인트에 전달할 GET 매개변수문자열예query_string: "id=FOO-chopchoptest"
라이브러리 이름링크라이선스
Viperhttps://github.com/spf13/viperMIT License
Go-prettyhttps://github.com/jedib0t/go-prettyMIT License
Cobrahttps://github.com/spf13/cobraApache License 2.0
strfmthttps://github.com/go-openapi/strfmtApache License 2.0
Go-homedirhttps://github.com/mitchellh/go-homedirMIT License
pkg-errorshttps://github.com/pkg/errorsBSD 2 (Simplified License)
Go-runewidthhttps://github.com/mattn/go-runewidthMIT License