시맨틱 grep 규칙으로 보안 문제와 코드 패턴을 찾는 오픈소스 정적 코드 분석 엔진으로, Semgrep의 포크입니다.
securego/gosec
Go 소스 코드를 분석해 흔한 보안 취약점과 안전하지 않은 코딩 패턴을 찾는 정적 분석 도구입니다.
- 스타
- 9,000
- 포크
- 731
- 열린 이슈
- 5
- 마지막 커밋
- 4일 전
어떤 프로젝트인가요?
gosec는 코드의 AST 및 SSA 표현을 순회해 Go 소스 코드의 보안 문제를 검사합니다. 하드코딩된 인증 정보, 안전하지 않은 API 사용, 취약한 암호화 및 TLS 설정, 파일 권한과 경로 처리, 차단 목록에 등록된 import를 다루는 규칙 그룹을 제공하며, 각 규칙은 CWE 식별자에 연결되어 있습니다.
taint analysis 규칙은 사용자 입력부터 민감한 sink까지의 데이터 흐름을 추적합니다. SQL, 명령어, 템플릿, SMTP 인젝션 같은 인젝션 유형과 SSRF, 경로 순회, XSS, 오픈 리디렉션, 안전하지 않은 역직렬화를 검사합니다. #nosec 또는 //gosec:disable 주석으로 특정 결과를 인라인에서 제외할 수 있으며, 규칙, 경로, 심각도, 신뢰도 기준으로 결과를 필터링할 수도 있습니다.
결과는 텍스트, JSON, YAML, CSV, JUnit XML, HTML, SonarQube, golint 또는 SARIF 형식으로 내보낼 수 있습니다. GitHub Action으로 실행하거나 go install로 설치할 수도 있습니다.
핵심 기능
- 01하드코딩된 인증 정보와 취약한 암호화 등 Go의 일반적인 보안 문제를 검사하는 패턴 기반 규칙
- 02사용자 입력이 SQL, 명령어, 경로, SSRF 및 XSS sink로 전달되는 흐름을 추적하는 taint analysis
- 03선택적으로 사유 입력을 요구하는 #nosec 또는 //gosec:disable 인라인 제외 기능
- 04경로별 규칙 제외 및 심각도·신뢰도 필터
- 05GitHub code scanning용 SARIF를 포함한 다양한 보고서 형식
활용 사례
- GitHub Action으로 CI 파이프라인에서 Go 코드의 보안 검사 실행
- pull request 검토를 위해 SARIF 결과를 GitHub code scanning에 업로드
- 출시 전에 Go 코드베이스의 인젝션, 취약한 암호화 또는 안전하지 않은 TLS 설정 감사
빠른 시작
- 1
go install을 사용해 gosec을 설치합니다(Go 1.25 이상 필요)
go install github.com/securego/gosec/v2/cmd/gosec@latest - 2
현재 모듈의 모든 패키지를 스캔합니다
gosec ./...
사용 전 알아둘 점
- 설치 및 빌드에는 Go 1.25 이상이 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- gosec은(는) 무엇인가요?
- Go 소스 코드를 분석해 흔한 보안 취약점과 안전하지 않은 코딩 패턴을 찾는 정적 분석 도구입니다. gosec는 코드의 AST 및 SSA 표현을 순회해 Go 소스 코드의 보안 문제를 검사합니다. 하드코딩된 인증 정보, 안전하지 않은 API 사용, 취약한 암호화 및 TLS 설정, 파일 권한과 경로 처리, 차단 목록에 등록된 import를 다루는 규칙 그룹을 제공하며, 각 규칙은 CWE 식별자에 연결되어 있습니다.
- gosec은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- gosec은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- gosec은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. gosec의 마지막 커밋은 2026년 11월 3일입니다.
- gosec은(는) 어디에 사용할 수 있나요?
- GitHub Action으로 CI 파이프라인에서 Go 코드의 보안 검사 실행 pull request 검토를 위해 SARIF 결과를 GitHub code scanning에 업로드 출시 전에 Go 코드베이스의 인젝션, 취약한 암호화 또는 안전하지 않은 TLS 설정 감사
- gosec는 어떻게 설치하나요?
- go install을 사용해 gosec을 설치합니다(Go 1.25 이상 필요): go install github.com/securego/gosec/v2/cmd/gosec@latest 현재 모듈의 모든 패키지를 스캔합니다: gosec ./...
- gosec은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/securego/gosec
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
유출된 자격 증명을 탐지하고, 실제로 유효한지 확인하며, 접근 범위를 파악하고 폐기를 지원하는 Rust 기반 비밀 정보 스캐너입니다.
LLM 앱, MCP 서버, 채팅 및 셸 기록에 유출된 비밀정보를 탐지하는 기본 규칙을 갖춘 AI 중심 보안 스캐너입니다.
GitHub Actions, Dependabot, pre-commit 등의 CI/CD 설정에서 보안 문제를 찾아 수정하는 정적 분석 도구입니다.
정규식이나 AST 대신 코드와 유사한 패턴으로 버그를 찾고 코딩 표준을 적용하는 빠른 오픈소스 정적 분석 CLI입니다.
Claude Code, Codex, Cursor, Cline에서 푸시 전에 별도 리뷰어가 에이전트의 변경 사항을 검토하는 오픈소스 AI 코드 리뷰 도구입니다.