
Выполнение тестов безопасности внутри вашего CI
Эту статью также можно прочитать на бразильском португальском.
huskyCI — это инструмент с открытым исходным кодом, который координирует проверки безопасности и централизует все результаты в базе данных для дальнейшего анализа и метрик. Он может выполнять статический анализ безопасности в Python (Bandit и Safety), Ruby (Brakeman), JavaScript (Npm Audit и ), Golang (), Java ( вместе с ) и HCL (). Также он может проверять репозитории на наличие секретов, таких как ключи AWS Secret Keys, приватные SSH-ключи и многие другие, используя .
Разработчики могут добавить новый этап в свои CI-конвейеры для проверки уязвимостей:

Если в коде найдены проблемы безопасности, могут отображаться уровень серьезности, уверенность, файл, строка и множество другой полезной информации, как показано в примере:
[HUSKYCI][*] poc-python-bandit -> https://github.com/globocom/huskyCI.git
[HUSKYCI][*] huskyCI analysis started! yDS9tb9mdt4QnnyvOBp3eVAXE1nWpTRQ
[HUSKYCI][!] Title: Use of exec detected.
[HUSKYCI][!] Language: Python
[HUSKYCI][!] Tool: Bandit
[HUSKYCI][!] Severity: MEDIUM
[HUSKYCI][!] Confidence: HIGH
[HUSKYCI][!] Details: Use of exec detected.
[HUSKYCI][!] File: ./main.py
[HUSKYCI][!] Line: 7
[HUSKYCI][!] Code:
6
7 exec(command)
8
[HUSKYCI][!] Title: Possible hardcoded password: 'password123!'
[HUSKYCI][!] Language: Python
[HUSKYCI][!] Tool: Bandit
[HUSKYCI][!] Severity: LOW
[HUSKYCI][!] Confidence: MEDIUM
[HUSKYCI][!] Details: Possible hardcoded password: 'password123!'
[HUSKYCI][!] File: ./main.py
[HUSKYCI][!] Line: 1
[HUSKYCI][!] Code:
1 secret = 'password123!'
2
3 password = 'thisisnotapassword' #nohusky
4
[HUSKYCI][SUMMARY] Python -> huskyci/bandit:1.6.2
[HUSKYCI][SUMMARY] High: 0
[HUSKYCI][SUMMARY] Medium: 1
[HUSKYCI][SUMMARY] Low: 1
[HUSKYCI][SUMMARY] NoSecHusky: 1
[HUSKYCI][SUMMARY] Total
[HUSKYCI][SUMMARY] High: 0
[HUSKYCI][SUMMARY] Medium: 1
[HUSKYCI][SUMMARY] Low: 1
[HUSKYCI][SUMMARY] NoSecHusky: 1
[HUSKYCI][*] The following securityTests were executed and no blocking vulnerabilities were found:
[HUSKYCI][*] [huskyci/gitleaks:2.1.0]
[HUSKYCI][*] Some HIGH/MEDIUM issues were found in these securityTests:
[HUSKYCI][*] [huskyci/bandit:1.6.2]
ERROR: Job failed: exit code 190
Вы можете попробовать huskyCI, настроив локальное окружение с помощью Docker Compose, следуя этому руководству.
Все руководства и полную документацию можно найти на официальной странице документации.
Прочитайте наше руководство по участию, чтобы узнать о процессе разработки, о том, как предлагать исправления ошибок и улучшения, а также как собирать и тестировать ваши изменения в huskyCI.
У нас есть несколько каналов для связи, обращайтесь к нам:
Этот проект существует благодаря всем участникам. Вы круты! ❤️🚀
huskyCI распространяется под лицензией BSD 3-Clause "New" or "Revised" License.

![]() mdjunior |
![]() fguisso | ![]() vitoriario | ![]() rodrigo-brito | ![]() gustavocovas | ![]() abzcoding |
![]() lzakharov | ![]() itepifanio | ![]() victorpalmeira | ![]() meltedblocks | ![]() localleon |
![]() jimmy1134 | ![]() henriquebonadio-zz | ![]() vfiebig | ![]() gitter-badger | ![]() renatoaquino |
![]() RayTdC | ![]() rafaelrubbioli | ![]() rafaelsq | ![]() ragoso | ![]() aranhams |