jhl-labs/Security Scanner Action
GitHub Advanced Security 기능을 오픈소스로 구현한 통합 보안 스캐너
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Feb 28, 2026
- License
- None
Pinned Snippet
uses: jhl-labs/security-action@facc1083ececeb251fcad5bb03a763bf78894892 # no releases — HEAD as of 2026-07-11tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| secret-scan | 비밀값 노출 스캔 활성화 (Gitleaks) | no | true |
| secret-scan-history | Git commit history도 스캔 (전체 기록 검사) | no | false |
| code-scan | 코드 취약점 스캔 활성화 (Semgrep) | no | true |
| dependency-scan | 의존성 취약점 스캔 활성화 (Trivy) | no | true |
| gitleaks-config | Gitleaks 커스텀 설정 파일 경로 | no | — |
| gitleaks-baseline | Gitleaks baseline 파일 경로 (기존 발견 무시) | no | — |
| container-scan | 컨테이너 이미지 스캔 활성화 (Trivy) | no | false |
| container-image | 스캔할 컨테이너 이미지 (예: nginx:latest) | no | — |
| dockerfile-path | 컨테이너 이미지 대신 스캔할 Dockerfile 경로 | no | — |
| iac-scan | IaC 보안 스캔 활성화 (Checkov) | no | false |
| iac-frameworks | IaC 프레임워크 (terraform,kubernetes,dockerfile 등) | no | — |
| iac-skip-checks | 건너뛸 Checkov 체크 ID 목록 (콤마 구분) | no | — |
| iac-custom-checks | 커스텀 Checkov 체크 디렉토리 경로 | no | — |
| native-audit | 언어별 네이티브 의���성 스캔 활성화 (npm audit, pip-audit, govulncheck 등) | no | false |
| native-audit-tools | 사용할 네이티브 도구 목록 (auto, npm, pip, go, cargo, bundler, composer) | no | auto |
| sbom-generate | SBOM 생성 활성화 (Syft) | no | false |
| sbom-format | SBOM 출력 포맷 (cyclonedx-json, spdx-json, syft-json) | no | cyclonedx-json |
| sbom-output | SBOM 출력 파일 경로 | no | sbom.json |
| sbom-image | 소스 대신 SBOM을 생성할 컨테이너 이미지 (예: nginx:latest) | no | — |
| sonar-scan | SonarQube 코드 품질 스캔 활성화 | no | false |
| sonar-host-url | SonarQube 서버 URL (토큰 사용 시 원격 HTTP는 보안상 차단) | no | http://localhost:9000 |
| sonar-token | SonarQube 인증 토큰 | no | — |
| sonar-project-key | SonarQube 프로젝트 키 | no | — |
| ai-review | AI 기반 코드 리뷰 활성화 (LangGraph) | no | false |
| ai-provider | AI 제공자 (auto, openai, anthropic) | no | auto |
| ai-model | AI 모델명 (예: gpt-4o, claude-3-5-sonnet-20241022) | no | — |
| openai-api-key | OpenAI API 키 (AI 리뷰 사용 시 필수) | no | — |
| openai-base-url | OpenAI 호환 API Base URL (사내 게이트웨이/프록시 사용 시) | no | — |
| anthropic-api-key | Anthropic API 키 (AI 리뷰 사용 시 대안) | no | — |
| check-name | Required Status Check 이름 (기본: Security scan results) | no | Security scan results |
| skip-check | Required Status Check 생성 건너뛰기 (개별 스캐너 체크만 생성) | no | false |
| scanner-checks | 개별 스캐너 Check Run 생성 여부 (기본: false - 통합 Report만 생성) | no | false |
| post-summary | GitHub Actions Job Summary 생성 여부 (기본: true) | no | true |
| severity-threshold | 실패 기준 심각도 (critical, high, medium, low) | no | high |
| github-token | GitHub 토큰 (PR 코멘트, Check Run용) | no | ${{ github.token }} |
| config-path | 커스텀 설정 파일 경로 (.security-action.yml) | no | — |
| fail-on-findings | 취약점 발견 시 워크플로우 실패 처리 | no | true |
| sarif-output | SARIF 포맷 결과 파일 경로 | no | security-results.sarif |
| json-output | JSON 결과 파일 경로 (선택) | no | — |
| upload-sarif | GitHub Security 탭에 SARIF 직접 업로드 (내장 API 연동) | no | false |
| sarif-category | SARIF 카테고리(runAutomationDetails.id) | no | security-action |
| fail-on-sarif-upload-error | SARIF 업로드 실패 시 워크플로우 실패 처리 | no | false |
| usage-tracking | 사용량 추적(기본: false, 외부 전송 없음) | no | false |
| parallel | 스캐너 병렬 실행 여부 (기본: false) | no | false |
| verbose | 상세 로그 출력 활성화 | no | false |
| quiet | 최소 로그 출력 활성화 (verbose보다 우선) | no | false |
Outputs
| name | description |
|---|---|
| scan-results | 스캔 결과 JSON |
| findings-count | 발견된 취약점 총 개수 |
| critical-count | Critical 심각도 취약점 개수 |
| high-count | High 심각도 취약점 개수 |
| sarif-file | SARIF 결과 파일 경로 |
| json-file | JSON 결과 파일 경로 |
| sarif-upload-id | GitHub Code Scanning SARIF 업로드 ID |
| sbom-file | SBOM 결과 파일 경로 |