Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
trajan — Un outil de détection des vulnérabilités CI/CD et d'automatisation des attaques multi-plateforme pour identifier les faiblesses de sécurité dans les configurations de pipelines. | Kitploit
Outils/GitHubGitHub/praetorian-inc/trajan
Analyse StatiqueScanners de VulnérabilitésAnalyse de CodeAudit de ConfigurationSécurité CloudDevSecOpsDétection de SecretsRenseignement sur les MenacesSécurité de la Chaîne LogistiqueMauvaise Configuration
GitHubpraetorian-inc/trajan
17613il y a 4 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

trajan

Un outil de détection des vulnérabilités CI/CD et d'automatisation des attaques multi-plateforme pour identifier les faiblesses de sécurité dans les configurations de pipelines.

Voir le dépôt
trajan

Trajan: Scanneur de sécurité CI/CD

Trajan analyse les pipelines CI/CD à la recherche de vulnérabilités de sécurité que les attaquants utilisent pour compromettre les chaînes d'approvisionnement logicielles. Il prend en charge GitHub Actions, GitLab CI, Azure DevOps, Jenkins et JFrog.

Go Version License

Ce qu'il fait

Trajan analyse les fichiers YAML de workflows, construit des graphes de dépendances, exécute des plugins de détection et valide l'exploitabilité via des capacités d'attaque intégrées.

  • 32 plugins de détection sur plusieurs plateformes CI/CD
  • 24 plugins d'attaque sur plusieurs plateformes CI/CD
  • Analyse basée sur des graphes avec suivi de contamination et détection de seuils
  • Scanner basé sur navigateur via WebAssembly (aucun backend nécessaire)
  • Chaînes d'attaque pour séquences multi-étapes avec passage automatique de contexte

[!NOTE] Trajan est en cours de développement actif. Certaines fonctionnalités peuvent être incomplètes et des aspérités sont attendues. Si vous rencontrez des problèmes, veuillez en ouvrir un.

Installation

Les binaires précompilés sont disponibles sur la page des releases.

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

Ou construire depuis les sources :

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

Prérequis

  • Go 1.24 ou ultérieur
  • Jeton d'accès personnel GitHub avec le scope repo (pour les dépôts privés) ou le scope public_repo (pour les dépôts publics uniquement)

SDK de bibliothèque (pkg/lib)

Trajan peut être intégré comme une bibliothèque Go pour le scanning programmatique de sécurité CI/CD. Le paquet pkg/lib fournit un SDK public qui regroupe le registre de plateformes interne, le moteur de détection et le scanner de Trajan en une seule API de haut niveau.

Démarrage rapide (Bibliothèque)

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)
}

API du SDK

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
}

Exemple d'intégration (Plateforme Chariot)

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

Utilisation rapide

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

Pour une utilisation détaillée, des explications sur les détections et des démonstrations d'attaques, consultez le Wiki.

Couverture des plateformes

Extension navigateur

Trajan se compile également en un binaire WebAssembly qui s'exécute entièrement dans le navigateur sous la forme d'un fichier HTML unique. Il utilise le même moteur de détection, les mêmes plugins d'attaque et la même logique d'énumération que l'interface en ligne de commande, simplement compilé en WASM. La version web de Trajan permet une livraison à faible friction dans les environnements cibles dans le cadre d'une évaluation.

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

Architecture

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

Feuille de route

La prise en charge de plateformes CI/CD supplémentaires est en cours de développement actif :

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

Contribution

Voir CONTRIBUTING.md pour les directives de développement, la création de plugins et la structure du projet.

Remerciements

Construit sur les recherches de Gato, Glato, Gato-X par Adnan Khan, et du GitHub Security Lab.

Licence

Apache 2.0. Voir LICENSE.

Télécharger l’outil
FonctionDescription
lib.Scan(ctx, cfg)Scan complet : initialisation de la plateforme → découverte des workflows → exécution des détections
lib.GetPlatform(name)Obtenir un adaptateur de plateforme par nom (github, gitlab, azuredevops, bitbucket, jenkins, jfrog)
lib.ListPlatforms()Lister tous les noms de plateformes enregistrés
lib.GetDetections(platform)Obtenir les plugins de détection pour une plateforme spécifique
lib.GetDetectionsForPlatform(platform)Obtenir les détections spécifiques à la plateforme + multi-plateformes
lib.ListDetectionPlatforms()Lister les plateformes avec des détections enregistrées
PlateformeDétectionsAttaquesÉnumérer
GitHub Actions119token, repos, secrets
GitLab CI83token, projects, groups, secrets, runners, branch-protections
Azure DevOps69token, projects, repos, pipelines, connections, agent-pools, users, groups, et plus
Jenkins73access, jobs, nodes, plugins
JFrogscan uniquement--