Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
trajan — Uno strumento multi-piattaforma di rilevamento delle vulnerabilità e automazione degli attacchi CI/CD per identificare le debolezze di sicurezza nelle configurazioni delle pipeline. | Kitploit
Strumenti/GitHubGitHub/praetorian-inc/trajan
Analisi StaticaScanner di VulnerabilitàAnalisi del CodiceAudit di ConfigurazioneSicurezza CloudDevSecOpsRilevamento SegretiThreat IntelligenceSicurezza della Supply ChainConfigurazione Errata
GitHubpraetorian-inc/trajan
1761372 giorni faRevisionato da Kitploit

trajan

Uno strumento multi-piattaforma di rilevamento delle vulnerabilità e automazione degli attacchi CI/CD per identificare le debolezze di sicurezza nelle configurazioni delle pipeline.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
trajan

Trajan: Scanner per la Sicurezza CI/CD

Trajan analizza le pipeline CI/CD alla ricerca di vulnerabilità di sicurezza che gli attaccanti sfruttano per compromettere le supply chain software. Supporta GitHub Actions, GitLab CI, Azure DevOps, Jenkins e JFrog.

Go Version License

Cosa fa

Trajan analizza i file YAML dei workflow, costruisce grafi di dipendenze, esegue plugin di rilevamento e convalida la sfruttabilità attraverso capacità d'attacco integrate.

  • 32 plugin di rilevamento su più piattaforme CI/CD
  • 24 plugin d'attacco su più piattaforme CI/CD
  • Analisi basata su grafi con tracciamento dei taint e rilevamento dei gate
  • Scanner basato su browser tramite WebAssembly (nessun backend necessario)
  • Catene d'attacco per sequenze multi-stadio con passaggio automatico del contesto

[!NOTE] Trajan è in fase di sviluppo attivo. Alcune funzionalità potrebbero essere incomplete e sono previsti spigoli. Se incontri problemi, ti preghiamo di aprire una segnalazione.

Installazione

Binari precompilati sono disponibili nella pagina delle release.

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

Oppure compila dal sorgente:

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

Requisiti

  • Go 1.24 o successivo
  • Token di accesso personale GitHub con ambito repo (per repository privati) o ambito public_repo (solo per repository pubblici)

SDK della Libreria (pkg/lib)

Trajan può essere incorporato come libreria Go per la scansione della sicurezza CI/CD programmatica. Il pacchetto pkg/lib fornisce un SDK pubblico che racchiude il registro interno della piattaforma, il motore di rilevamento e lo scanner di Trajan in una singola API di alto livello.

Avvio Rapido (Libreria)

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 SDK

FunzioneDescrizione
lib.Scan(ctx, cfg)Scansione completa: inizializzazione piattaforma → scoperta workflow → esecuzione rilevamento
lib.GetPlatform(name)Ottiene un adattatore di piattaforma per nome (github, gitlab, azuredevops, bitbucket, jenkins, jfrog)
lib.ListPlatforms()Elenca tutti i nomi delle piattaforme registrate
lib.GetDetections(platform)Ottiene i plugin di rilevamento per una piattaforma specifica
lib.GetDetectionsForPlatform(platform)Ottiene rilevamenti specifici della piattaforma + cross-platform
lib.ListDetectionPlatforms()Elenca le piattaforme con rilevamenti registrati

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
}

Esempio di Integrazione (Piattaforma Chariot)

L'SDK è utilizzato dalla piattaforma di gestione della superficie d'attacco Chariot per eseguire scansioni di sicurezza CI/CD come capacità:

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

Utilizzo rapido

root@kitploit:~
# Scansiona un repository GitHub
export GH_TOKEN=ghp_your_token
trajan github scan --repo owner/repo

# Scansiona un'organizzazione GitHub
trajan github scan --org myorg --concurrency 20

# Scansiona progetti GitLab
export GITLAB_TOKEN=glpat_your_token
trajan gitlab scan --group mygroup

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

# Scansione offline: analizza file workflow locali senza accesso API
trajan github scan --path ./my-repo
trajan github scan --path ./.github/workflows/ci.yml

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

Per un utilizzo dettagliato, spiegazioni sui rilevamenti e guide agli attacchi, consulta la Wiki.

Copertura delle piattaforme

PiattaformaRilevamentiAttacchiEnumerazione
GitHub Actions119token, repository, secrets
GitLab CI83token, progetti, gruppi, secrets, runner, protezioni rami
Azure DevOps69token, progetti, repository, pipeline, connessioni, pool di agenti, utenti, gruppi e altro
Jenkins73accesso, job, nodi, plugin
JFrogsolo scansione--

Estensione per il browser

Trajan viene anche compilato in un binario WebAssembly che viene eseguito interamente nel browser come un singolo file HTML. Utilizza lo stesso motore di rilevamento, gli stessi plugin d'attacco e la stessa logica di enumerazione della CLI, semplicemente compilati in WASM. La versione web di Trajan consente una distribuzione a basso attrito negli ambienti target come parte di una valutazione.

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

Architettura

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

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

Contributi

Vedi CONTRIBUTING.md per linee guida sullo sviluppo, creazione di plugin e struttura del progetto.

Riconoscimenti

Costruito sulla ricerca di Gato, Glato, Gato-X di Adnan Khan, e del GitHub Security Lab.

Licenza

Apache 2.0. Vedi LICENSE.

Scarica lo strumento