Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
trajan — マルチプラットフォーム対応のCI/CD脆弱性検出および攻撃自動化ツールで、パイプライン構成のセキュリティ上の弱点を特定します。 | Kitploit
ツール/GitHubGitHub/praetorian-inc/trajan
静的分析脆弱性スキャナーコード分析構成監査クラウドセキュリティDevSecOpsシークレット検出脅威インテリジェンスサプライチェーンセキュリティ設定ミス
GitHubpraetorian-inc/trajan

trajan

176134日前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 は活発に開発中です。一部の機能は不完全であり、荒削りな部分があるかもしれません。問題が発生した場合は、こちら で issue を開いてください。

インストール

ビルド済みバイナリは リリースページ から入手できます。

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 Personal Access Token(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

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 を参照してください。

プラットフォームカバレッジ

ブラウザ拡張機能

Trajan は、単一の HTML ファイルとしてブラウザ内で完全に動作する WebAssembly バイナリにもコンパイルされます。CLI と同じ検出エンジン、攻撃プラグイン、列挙ロジックを使用し、WASM にコンパイルされています。Trajan の Web バージョンは、評価の一環として対象環境への低摩擦な配信を可能にします。

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 を参照してください。

謝辞

Adnan Khan による Gato、Glato、Gato-X、および GitHub Security Lab の研究に基づいています。

ライセンス

Apache 2.0. LICENSE を参照してください。

ツールをダウンロード
関数説明
lib.Scan(ctx, cfg)フルスキャン: プラットフォーム初期化 → ワークフロー発見 → 検出実行
lib.GetPlatform(name)名前でプラットフォームアダプターを取得 (github, gitlab, azuredevops, bitbucket, jenkins, jfrog)
lib.ListPlatforms()登録済みの全プラットフォーム名を一覧表示
lib.GetDetections(platform)特定のプラットフォームの検出プラグインを取得
lib.GetDetectionsForPlatform(platform)プラットフォーム固有 + クロスプラットフォームの検出を取得
lib.ListDetectionPlatforms()検出が登録されているプラットフォームを一覧表示
プラットフォーム検出攻撃列挙
GitHub Actions119トークン, リポジトリ, シークレット
GitLab CI83トークン, プロジェクト, グループ, シークレット, ランナー, ブランチ保護
Azure DevOps69トークン, プロジェクト, リポジトリ, パイプライン, 接続, エージェントプール, ユーザー, グループ, など
Jenkins73アクセス, ジョブ, ノード, プラグイン
JFrogスキャンのみ--