SonarQube Stackhawk DAST 데모 Repo
발행: (2026년 2월 23일 오후 10:29 GMT+9)
2 분 소요
원문: Dev.to
Source: Dev.to
설정 및 애플리케이션 실행
이 애플리케이션은 교육 목적을 위해 의도적으로 취약하게 만든 Java Spring Boot + Thymeleaf 프로젝트입니다.
# 애플리케이션 루트 폴더에서 실행
mvn spring-boot:run
애플리케이션이 시작될 때 데이터를 초기화합니다. 콘솔에 READY 가 표시될 때까지 기다리세요.
그 후 http://localhost:8081 에서 접근할 수 있습니다.
기본 사용자
| 사용자 이름 | 비밀번호 | 사용자 유형 |
|---|---|---|
| Admin | admin | ADMIN |
| User | user | CUSTOMER |
StackHawk 로 DAST 스캔 실행
export SARIF_ARTIFACT=true
hawk scan
스캔이 완료되면 stackhawk.sarif 파일이 생성되며, 이후 SonarQube에 업로드할 수 있습니다.
SonarQube 스캔에 SARIF 보고서 추가
# 현재 브랜치 이름 가져오기
CURRENT_BRANCH=$(git branch --show-current)
# 브랜치 이름이 정상적으로 가져와졌는지 확인
if [ -z "$CURRENT_BRANCH" ]; then
echo "Error: Could not determine the current Git branch."
exit 1
fi
mvn clean verify sonar:sonar \
-Dsonar.projectKey=e-corp-demo_sonarqube-stackhawk-dast-demo_31dfab10-94aa-4a9b-a894-77cabdab902a \
-Dsonar.projectName='sonarqube-stackhawk-dast-demo' \
-Dsonar.host.url=https://mathiasconradt.ngrok.io \
-Dsonar.sarifReportPaths=stackhawk.sarif \
-Dsonar.branch.name=$CURRENT_BRANCH
StackHawk 로부터 수집된 DAST 결과는 SonarQube Issues 섹션에 STACKHAWK 태그와 함께 표시됩니다.