Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
trajan — Ein plattformübergreifendes CI/CD-Schwachstellenerkennungs- und Angriffsautomatisierungswerkzeug zur Identifizierung von Sicherheitsschwächen in Pipeline-Konfigurationen. | Kitploit
Tools/GitHubGitHub/praetorian-inc/trajan
Statische AnalyseSchwachstellenscannerCode-AnalyseKonfigurationsprüfungCloud-SicherheitDevSecOpsSecret-ErkennungBedrohungsanalyseLieferkettensicherheitFehlkonfiguration
GitHubpraetorian-inc/trajan

trajan

176137vor 2 TagenVon Kitploit geprüft

Ein plattformübergreifendes CI/CD-Schwachstellenerkennungs- und Angriffsautomatisierungswerkzeug zur Identifizierung von Sicherheitsschwächen in Pipeline-Konfigurationen.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
trajan

Trajan: CI/CD-Sicherheitsscanner

Trajan scannt CI/CD-Pipelines auf Sicherheitslücken, die Angreifer nutzen, um Software-Lieferketten zu kompromittieren. Es unterstützt GitHub Actions, GitLab CI, Azure DevOps, Jenkins und JFrog.

Go Version License

Was es tut

Trajan parst Workflow-YAML-Dateien, erstellt Abhängigkeitsgraphen, führt Erkennungs-Plugins aus und validiert die Ausnutzbarkeit durch integrierte Angriffsfunktionen.

  • 32 Erkennungs-Plugins für mehrere CI/CD-Plattformen
  • 24 Angriffs-Plugins für mehrere CI/CD-Plattformen
  • Graphbasierte Analyse mit Taint-Tracking und Gate-Erkennung
  • Browserbasierter Scanner über WebAssembly (kein Backend nötig)
  • Angriffsketten für mehrstufige Sequenzen mit automatischer Kontextübergabe

[!NOTE] Trajan befindet sich in aktiver Entwicklung. Manche Funktionen sind möglicherweise unvollständig und es können Kanten auftreten. Falls du auf Probleme stößt, öffne bitte ein Issue.

Installation

Vorkompilierte Binärdateien sind auf der verfügbar.

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

Oder aus dem Quellcode bauen:

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

Anforderungen

  • Go 1.24 oder höher
  • GitHub Personal Access Token mit repo-Bereich (für private Repositorys) oder public_repo-Bereich (nur für öffentliche Repositorys)

Library SDK (pkg/lib)

Trajan kann als Go-Bibliothek eingebettet werden, um programmatische CI/CD-Sicherheitsscans durchzuführen. Das pkg/lib-Paket bietet ein öffentliches SDK, das das interne Plattform-Register, die Erkennungs-Engine und den Scanner in eine einzige High-Level-API kapselt.

Schnellstart (Bibliothek)

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

FunktionBeschreibung
lib.Scan(ctx, cfg)Vollständiger Scan: Plattforminitialisierung → Workflow-Erkennung → Ausführung der Erkennung
lib.GetPlatform(name)Einen Plattform-Adapter nach Name abrufen (github, gitlab, azuredevops, bitbucket, jenkins, jfrog)
lib.ListPlatforms()Alle registrierten Plattformnamen auflisten
lib.GetDetections(platform)Erkennungs-Plugins für eine bestimmte Plattform abrufen
lib.GetDetectionsForPlatform(platform)Plattformspezifische + plattformübergreifende Erkennungen abrufen
lib.ListDetectionPlatforms()Plattformen mit registrierten Erkennungen auflisten

ScanConfig

root@kitploit:~
type ScanConfig struct {
    Platform    string        // CI/CD-Plattform (erforderlich)
    Token       string        // API-Authentifizierungstoken
    BaseURL     string        // Benutzerdefinierte Basis-URL für selbst gehostete Instanzen
    Org         string        // Organisation/Eigentümername
    Repo        string        // Repository-Name (leer = alle Org-Repos scannen)
    Concurrency int           // Parallele Erkennungs-Worker (Standard: 10)
    Timeout     time.Duration // Maximale Scandauer (Standard: 5m)
    LocalPath   string        // Lokaler Dateisystempfad (Datei oder Verzeichnis) für Offline-Scan
}

ScanResult

root@kitploit:~
type ScanResult struct {
    Findings          []detections.Finding   // Erkannte Sicherheitslücken
    Workflows         []platforms.Workflow   // Erkannte CI/CD-Workflow-Dateien
    Errors            []error                // Nicht-fatale Fehler während des Scans
    SkippedDetections []string               // Namen der im LocalPath-Modus übersprungenen Erkennungen (nur API); im API-Modus immer leer
}

Integrationsbeispiel (Chariot-Plattform)

Das SDK wird von der Chariot-Plattform für das Angriffsflächenmanagement verwendet, um CI/CD-Sicherheitsscans als Fähigkeit auszuführen:

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

Schnelle Verwendung

root@kitploit:~
# Ein GitHub-Repo scannen
export GH_TOKEN=ghp_your_token
trajan github scan --repo owner/repo

# Eine GitHub-Organisation scannen
trajan github scan --org myorg --concurrency 20

# GitLab-Projekte scannen
export GITLAB_TOKEN=glpat_your_token
trajan gitlab scan --group mygroup

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

# Offline-Scan: lokale Workflow-Dateien ohne API-Zugriff scannen
trajan github scan --path ./my-repo
trajan github scan --path ./.github/workflows/ci.yml

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

Ausführliche Nutzung, Erklärungen zu Erkennungen und Angriffs-Durchgänge findest du im Wiki.

Plattformabdeckung

PlattformErkennungenAngriffeEnumeration
GitHub Actions119token, repos, secrets
GitLab CI83token, projects, groups, secrets, runners, branch-protections
Azure DevOps69token, projects, repos, pipelines, connections, agent-pools, users, groups, and more
Jenkins73access, jobs, nodes, plugins
JFrogscan-only--

Browser-Erweiterung

Trajan kann auch zu einer WebAssembly-Binärdatei kompiliert werden, die vollständig im Browser als einzelne HTML-Datei läuft. Es verwendet dieselbe Erkennungs-Engine, Angriffs-Plugins und Enumeration-Logik wie die CLI, nur kompiliert zu WASM. Die Webversion von Trajan ermöglicht eine reibungslose Auslieferung in Zielumgebungen im Rahmen einer Bewertung.

root@kitploit:~
make wasm       # build browser/trajan.wasm
make wasm-dist  # build trajan-standalone.html (eigenständig)

Architektur

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

Roadmap

Die Unterstützung für weitere CI/CD-Plattformen befindet sich in aktiver Entwicklung:

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

Mitwirken

Siehe CONTRIBUTING.md für Entwicklungsrichtlinien, Plugin-Erstellung und Projektstruktur.

Danksagungen

Basiert auf Forschung von Gato, Glato, Gato-X von Adnan Khan und dem GitHub Security Lab.

Lizenz

Apache 2.0. Siehe LICENSE.

Tool herunterladen