Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
trajan — 파이프라인 구성에서 보안 취약점을 식별하기 위한 다중 플랫폼 CI/CD 취약점 탐지 및 공격 자동화 도구입니다. | Kitploit
도구/GitHubGitHub/praetorian-inc/trajan
Static AnalysisVulnerability ScannersCode AnalysisConfiguration AuditingCloud SecurityDevSecOpsSecret DetectionThreat IntelligenceSupply Chain SecurityMisconfiguration
GitHubpraetorian-inc/trajan

trajan

1761372일 전Kitploit 검토 완료

파이프라인 구성에서 보안 취약점을 식별하기 위한 다중 플랫폼 CI/CD 취약점 탐지 및 공격 자동화 도구입니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
trajan

Trajan: CI/CD 보안 스캐너

Trajan은 공격자가 소프트웨어 공급망을 손상시키는 데 사용하는 CI/CD 파이프라인의 보안 취약점을 스캔합니다. GitHub Actions, GitLab CI, Azure DevOps, Jenkins 및 JFrog를 지원합니다.

Go Version License

기능

Trajan은 워크플로 YAML 파일을 파싱하고, 종속성 그래프를 구축하며, 탐지 플러그인을 실행하고, 내장된 공격 기능을 통해 악용 가능성을 검증합니다.

  • 32개의 탐지 플러그인 (여러 CI/CD 플랫폼 대상)
  • 24개의 공격 플러그인 (여러 CI/CD 플랫폼 대상)
  • 그래프 기반 분석 (오염 추적 및 게이트 탐지 포함)
  • 브라우저 기반 스캐너 (WebAssembly, 백엔드 불필요)
  • 공격 체인 (다단계 시퀀스, 자동 컨텍스트 전달)

[!NOTE] Trajan은 활발히 개발 중입니다. 일부 기능은 불완전하거나 미흡할 수 있습니다. 문제가 발생하면 이슈를 열어주세요.

설치

사전 빌드된 바이너리는 릴리스 페이지에서 확인할 수 있습니다.

root@kitploit:~
go install github.com/praetorian-inc/trajan/cmd/trajan@latest

또는 소스에서 빌드:

root@kitploit:~
git clone https://github.com/praetorian-inc/trajan.git cd trajan && make build

요구 사항

  • Go 1.24 이상
  • GitHub 개인 액세스 토큰 (repo 범위: 비공개 리포지토리, public_repo 범위: 공개 리포지토리 전용)

라이브러리 SDK (pkg/lib)

Trajan은 프로그래매틱 CI/CD 보안 스캐닝을 위해 Go 라이브러리로 임베드될 수 있습니다. pkg/lib 패키지는 Trajan의 내부 플랫폼 레지스트리, 탐지 엔진 및 스캐너를 단일 고수준 API로 래핑하는 공개 SDK를 제공합니다.

빠른 시작 (라이브러리)

root@kitploit:~
import "github.com/praetorian-inc/trajan/pkg/lib"

result, err := lib.Scan(ctx, lib.ScanConfig{
    Platform:    "github",
    Token:       os.Getenv("GH_TOKEN"),
    Org:         "myorg",
    Repo:        "myrepo",
    Concurrency: 10,
    Timeout:     5 * time.Minute,
})
if err != nil {
    log.Fatal(err)
}

for _, f := range result.Findings {
    fmt.Printf("[%s] %s in %s: %s\n", f.Severity, f.Type, f.WorkflowFile, f.Evidence)
}

SDK API

함수설명
lib.Scan(ctx, cfg)전체 스캔: 플랫폼 초기화 → 워크플로 검색 → 탐지 실행
lib.GetPlatform(name)이름으로 플랫폼 어댑터 가져오기 (github, gitlab, azuredevops, bitbucket, jenkins, jfrog)
lib.ListPlatforms()등록된 모든 플랫폼 이름 나열
lib.GetDetections(platform)특정 플랫폼의 탐지 플러그인 가져오기
lib.GetDetectionsForPlatform(platform)플랫폼별 + 교차 플랫폼 탐지 가져오기
lib.ListDetectionPlatforms()등록된 탐지가 있는 플랫폼 나열

ScanConfig

root@kitploit:~
type ScanConfig struct {
    Platform    string        // CI/CD platform (required)
    Token       string        // API authentication token
    BaseURL     string        // Custom base URL for self-hosted instances
    Org         string        // Organization/owner name
    Repo        string        // Repository name (empty = scan all org repos)
    Concurrency int           // Parallel detection workers (default: 10)
    Timeout     time.Duration // Max scan duration (default: 5m)
    LocalPath   string        // Local filesystem path (file or dir) for offline scan
}

ScanResult

root@kitploit:~
type ScanResult struct {
    Findings          []detections.Finding   // Security vulnerabilities detected
    Workflows         []platforms.Workflow   // CI/CD workflow files discovered
    Errors            []error                // Non-fatal errors during scanning
    SkippedDetections []string               // Detection names skipped in LocalPath mode (API-only); always empty in API-mode scans
}

통합 예제 (Chariot 플랫폼)

SDK는 Chariot 공격 표면 관리 플랫폼에서 CI/CD 보안 스캔을 기능으로 실행하는 데 사용됩니다:

root@kitploit:~
import trajanlib "github.com/praetorian-inc/trajan/pkg/lib"

result, err := trajanlib.Scan(ctx, trajanlib.ScanConfig{
    Platform: platformName,
    Token:    token,
    Org:      repo.Org,
    Repo:     repo.Name,
})
// Convert result.Findings → capmodel.Risk emissions

빠른 사용법

root@kitploit:~
# Scan a GitHub repo
export GH_TOKEN=ghp_your_token
trajan github scan --repo owner/repo

# Scan a GitHub org
trajan github scan --org myorg --concurrency 20

# Scan GitLab projects
export GITLAB_TOKEN=glpat_your_token
trajan gitlab scan --group mygroup

# Scan Azure DevOps
export AZURE_DEVOPS_PAT=your_pat
trajan ado scan --org myorg --repo myproject/myrepo

# Offline scan: scan local workflow files without API access
trajan github scan --path ./my-repo
trajan github scan --path ./.github/workflows/ci.yml

# JSON output
trajan github scan --repo owner/repo -o json > results.json

자세한 사용법, 탐지 설명 및 공격 워크스루는 Wiki를 참조하세요.

플랫폼 커버리지

플랫폼탐지공격열거
GitHub Actions119토큰, 리포지토리, 시크릿
GitLab CI83토큰, 프로젝트, 그룹, 시크릿, 러너, 브랜치 보호
Azure DevOps69토큰, 프로젝트, 리포지토리, 파이프라인, 연결, 에이전트 풀, 사용자, 그룹 등
Jenkins73액세스, 작업, 노드, 플러그인
JFrog스캔 전용--

브라우저 확장

Trajan은 또한 단일 HTML 파일로 브라우저에서 완전히 실행되는 WebAssembly 바이너리로 컴파일됩니다. CLI와 동일한 탐지 엔진, 공격 플러그인 및 열거 로직을 사용하며 WASM으로 컴파일됩니다. Trajan의 웹 버전은 평가의 일환으로 대상 환경에 대한 장벽 없는 전달을 가능하게 합니다.

root@kitploit:~
make wasm       # build browser/trajan.wasm
make wasm-dist  # build self-contained trajan-standalone.html

아키텍처

root@kitploit:~
graph TD
    subgraph CLI
        CMD[Cobra Commands]
    end

    subgraph Platforms
        GH[GitHub]
        GL[GitLab]
        ADO[Azure DevOps]
        JK[Jenkins]
        JF[JFrog]
    end

    CMD --> GH & GL & ADO & JK & JF

    subgraph SF[Scan Flow]
        API[Platform API] --> |fetch workflows| YAML[Workflow YAML]
        YAML --> P

        subgraph P[Parser]
            direction LR
            GHP[GitHub] ~~~ GLP[GitLab] ~~~ ADP[Azure] ~~~ JKP[Jenkins]
        end

        P --> NW[Normalized Workflow]
        NW --> GB[Graph Builder]
        GB --> Graph[Workflow → Job → Step Graph]
    end

    subgraph AE[Analysis Engine]
        direction LR
        TT[Taint Tracker] --> Tagged[Tagged Graph]
        Tagged --> DP[Detection Plugins]
        DP --> GA[Gate Analysis]
        GA --> Findings
    end

    subgraph AF[Attack Flow]
        direction LR
        AP[Attack Plugins] --> |artifacts| Session[Session Tracker]
        Session --> Cleanup
    end

    Graph --> AE
    AE --> AF

로드맵

추가 CI/CD 플랫폼 지원이 활발히 개발 중입니다:

  • Bitbucket Pipelines
  • CircleCI
  • AWS CodePipeline
  • Google Cloud Build

기여하기

개발 지침, 플러그인 작성 및 프로젝트 구조는 CONTRIBUTING.md를 참조하세요.

감사의 말

연구는 Gato, Glato, Adnan Khan의 Gato-X 및 GitHub Security Lab을 기반으로 합니다.

라이선스

Apache 2.0. LICENSE를 참조하세요.

도구 다운로드