Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ChopChop — YAML-управляемый CLI-сканер, который обнаруживает открытые службы, файлы и папки на веб-конечных точках. Предназначен для разработчиков, чтобы интегрировать проверки безопасности в конвейеры CI/CD с настраиваемыми сигнатурами. | Kitploit
Инструменты/GitHubGitHub/michelin/chopchop
Сканеры уязвимостейАудит конфигурацииСбор информацииВеб-безопасностьDevSecOps
GitHubmichelin/chopchop

ChopChop

YAML-управляемый CLI-сканер, который обнаруживает открытые службы, файлы и папки на веб-конечных точках. Предназначен для разработчиков, чтобы интегрировать проверки безопасности в конвейеры CI/CD с настраиваемыми сигнатурами.

Репозиторий
712775 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Build Status License Go Report Card

ChopChop

ChopChop — это инструмент командной строки для динамического тестирования безопасности веб-приложений, изначально написанный CERT компании Michelin.

Его цель — сканировать несколько конечных точек и выявлять открытые сервисы/файлы/папки через корень веб-сайта. Проверки/сигнатуры объявляются в конфигурационном файле (по умолчанию: 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

Что дальше

Переписывание на Go началось несколько месяцев назад, но впереди ещё много работы. Вот некоторые функции, которые мы планируем интегрировать: [x] Многопоточность для повышения производительности [x] Возможность указать количество параллельных потоков [x] Цвета и улучшенное форматирование [x] Возможность фильтровать проверки/сигнатуры для поиска [x] Моки и модульные тесты [x] GitHub CI И многое другое!

Тестирование

Для быстрого сквозного тестирования chopchop мы предоставили веб-сервер в tests/server.go. Чтобы попробовать, запустите go run tests/server.go, затем выполните chopchop с следующей командой: ./gochopchop scan http://localhost:8000 --verbosity Debug. ChopChop должен вывести «no vulnerabilities found».

Также есть модульные тесты, которые можно запустить с помощью go test -v ./.... Эти тесты интегрированы в CI-процесс GitHub.

Доступные флаги

Вот доступные флаги для команды 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. (За версию на Go)
Скачать инструмент
ФлагПолный флагОписание
-h--helpСправка
-v--verbosityУровень детализации логирования
-c--signatureПуть к пользовательскому файлу сигнатур
-k--insecureОтключить проверку SSL
-u--url-fileПуть к указанному файлу, содержащему URL для тестирования
-b--max-severityБлокировать CI-конвейер, если степень серьезности равна или превышает указанный флаг
-e--exportТип экспорта вывода (csv и/или json)
--export-filenameУказать имя файла для экспортируемых файлов
-t--timeoutТайм-аут для HTTP-запросов
--severity-filterФильтровать плагины по степени серьезности
--plugin-filterФильтровать плагины по имени плагина
--threadsКоличество параллельных потоков
АтрибутТипОписаниеОпционально?Пример
namestringИмя проверкиНетGit exposed
descriptionstringКраткое описание проверкиНетУбедиться, что репозиторий .git недоступен из корня веб-сайта
remediationstringПредложить меры по устранению этой конкретной «проблемы»НетНе размещайте папку .git на production-серверах
severityEnum("High", "Medium", "Low", "Informational")Оценить критичность, если проверка срабатывает в вашей средеНетHigh
status_codeintegerHTTP-код состояния, который должен быть возвращёнДа200
headersСписок строкСписок заголовков, которые должны присутствовать в HTTP-ответеДаН/Д
no_headersСписок строкСписок заголовков, которых НЕ должно быть в HTTP-ответеДаН/Д
matchСписок строкСписок строк, которые должны присутствовать в HTTP-ответеДа"[branch"
no_matchСписок строкСписок строк, которых НЕ должно быть в HTTP-ответеДаН/Д
query_stringGET-параметры, которые должны быть переданы конечной точкеСтрокаДа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