
CI 내에서 보안 테스트 수행
이 글은 브라질 포르투갈어로도 읽을 수 있습니다.
huskyCI는 보안 테스트를 조정하고 모든 결과를 데이터베이스에 중앙 집중화하여 추가 분석 및 메트릭을 제공하는 오픈 소스 도구입니다. Python (Bandit 및 Safety), Ruby (Brakeman), JavaScript (Npm Audit 및 Yarn Audit), Golang (Gosec), Java (SpotBugs 및 Find Sec Bugs), HCL (TFSec)에서 정적 보안 분석을 수행할 수 있습니다. 또한 GitLeaks를 사용하여 AWS Secret Keys, Private SSH Keys 등과 같은 비밀 정보가 저장소에 있는지 감사할 수 있습니다.
개발자는 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
Docker Compose를 사용하여 로컬 환경을 설정하여 huskyCI를 사용해 볼 수 있습니다. 자세한 내용은 이 가이드를 참조하세요.
모든 가이드와 전체 문서는 공식 문서 페이지에서 확인할 수 있습니다.
기여 가이드를 읽어 개발 프로세스, 버그 수정 및 개선 제안 방법, huskyCI 변경 사항 빌드 및 테스트 방법을 알아보세요.
연락할 수 있는 몇 가지 채널이 있습니다. 언제든지 아래로 연락주세요:
이 프로젝트는 모든 기여자 덕분에 존재합니다. 여러분은 최고예요! ❤️🚀
huskyCI는 BSD 3-Clause "New" 또는 "Revised" 라이선스에 따라 라이선스가 부여됩니다.