
Eseguire test di sicurezza all'interno della tua CI
Questo articolo può essere letto anche in Portoghese Brasiliano.
huskyCI è uno strumento open source che orchestra test di sicurezza e centralizza tutti i risultati in un database per ulteriori analisi e metriche. Può eseguire analisi di sicurezza statica in Python ([Bandit][Bandit] e [Safety][Safety]), Ruby ([Brakeman][Brakeman]), JavaScript ([Npm Audit][NpmAudit] e [Yarn Audit][YarnAudit]), Golang ([Gosec][Gosec]), Java ([SpotBugs][SpotBugs] più [Find Sec Bugs][FindSec]), e HCL ([TFSec][TFSec]). Può anche verificare repository per segreti come AWS Secret Keys, Private SSH Keys, e molti altri usando [GitLeaks][Gitleaks].
Gli sviluppatori possono impostare una nuova fase nelle loro pipeline CI per verificare la presenza di vulnerabilità:

Se vengono trovati problemi di sicurezza nel codice, la gravità, la confidenza, il file, la linea e molte altre informazioni utili possono essere visualizzate, come nell'esempio:
[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
Puoi provare huskyCI impostando un ambiente locale usando Docker Compose seguendo questa guida.
Tutte le guide e la documentazione completa sono disponibili nella pagina della documentazione ufficiale.
Leggi la nostra guida per contribuire per conoscere il nostro processo di sviluppo, come proporre correzioni di bug e miglioramenti, e come costruire e testare le tue modifiche a huskyCI.
Abbiamo diversi canali di contatto, sentiti libero di contattarci su: