Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
trajan — Uma ferramenta de automação de ataques e detecção de vulnerabilidades em CI/CD multiplataforma para identificar fragilidades de segurança em configurações de pipeline. | Kitploit
Ferramentas/GitHubGitHub/praetorian-inc/trajan
Análise EstáticaScanners de VulnerabilidadesAnálise de CódigoAuditoria de ConfiguraçãoSegurança na NuvemDevSecOpsDetecção de SegredosInteligência de AmeaçasSegurança da Cadeia de SuprimentosConfiguração Incorreta
GitHubpraetorian-inc/trajan
17613há 4 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

trajan

Uma ferramenta de automação de ataques e detecção de vulnerabilidades em CI/CD multiplataforma para identificar fragilidades de segurança em configurações de pipeline.

Ver Repositório
trajan

Trajan: Scanner de Segurança para CI/CD

O Trajan examina pipelines de CI/CD em busca de vulnerabilidades de segurança que atacantes usam para comprometer cadeias de suprimento de software. Ele suporta GitHub Actions, GitLab CI, Azure DevOps, Jenkins e JFrog.

Go Version License

O que faz

O Trajan analisa arquivos YAML de workflow, constrói grafos de dependência, executa plugins de detecção e valida a explorabilidade por meio de capacidades de ataque integradas.

  • 32 plugins de detecção em múltiplas plataformas de CI/CD
  • 24 plugins de ataque em múltiplas plataformas de CI/CD
  • Análise baseada em grafos com rastreamento de contaminação e detecção de gate
  • Scanner baseado em navegador via WebAssembly (sem necessidade de backend)
  • Cadeias de ataque para sequências em múltiplos estágios com passagem automática de contexto

[!NOTE] Trajan está em desenvolvimento ativo. Alguns recursos podem estar incompletos e espera-se arestas ásperas. Se você encontrar problemas, por favor abra um.

Instalação

Binários pré-compilados estão disponíveis na página de releases.

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

Ou compile a partir do código-fonte:

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

Requisitos

  • Go 1.24 ou posterior
  • Token de Acesso Pessoal do GitHub com escopo repo (para repositórios privados) ou escopo public_repo (apenas para repositórios públicos)

SDK da Biblioteca (pkg/lib)

O Trajan pode ser embutido como uma biblioteca Go para varredura de segurança programática em CI/CD. O pacote pkg/lib fornece um SDK público que encapsula o registro interno de plataforma do Trajan, o mecanismo de detecção e o scanner em uma única API de alto nível.

Início Rápido (Biblioteca)

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

Exemplo de Integração (Plataforma Chariot)

O SDK é usado pela plataforma de gerenciamento de superfície de ataque Chariot para executar varreduras de segurança de CI/CD como uma capacidade:

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

Uso rápido

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

Para uso detalhado, explicações de detecção e guias de ataque, consulte a Wiki.

Cobertura de plataforma

Extensão de navegador

O Trajan também compila para um binário WebAssembly que roda inteiramente no navegador como um único arquivo HTML. Ele utiliza o mesmo mecanismo de detecção, plugins de ataque e lógica de enumeração que a CLI, apenas compilado para WASM. A versão web do Trajan permite a entrega com baixo atrito em ambientes-alvo como parte de uma avaliação.

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

Arquitetura

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

Roteiro

Suporte adicional a plataformas de CI/CD está em desenvolvimento ativo:

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

Contribuindo

Veja CONTRIBUTING.md para diretrizes de desenvolvimento, criação de plugins e estrutura do projeto.

Agradecimentos

Construído com base em pesquisas do Gato, Glato, Gato-X por Adnan Khan, e do GitHub Security Lab.

Licença

Apache 2.0. Veja LICENSE.

Baixar ferramenta
FunçãoDescrição
lib.Scan(ctx, cfg)Varredura completa: inicialização da plataforma → descoberta de workflows → execução de detecção
lib.GetPlatform(name)Obter um adaptador de plataforma pelo nome (github, gitlab, azuredevops, bitbucket, jenkins, jfrog)
lib.ListPlatforms()Listar todos os nomes de plataforma registrados
lib.GetDetections(platform)Obter plugins de detecção para uma plataforma específica
lib.GetDetectionsForPlatform(platform)Obter detecções específicas da plataforma + multi-plataforma
lib.ListDetectionPlatforms()Listar plataformas com detecções registradas
PlataformaDetecçõesAtaquesEnumeração
GitHub Actions119token, repositórios, segredos
GitLab CI83token, projetos, grupos, segredos, runners, proteções de branch
Azure DevOps69token, projetos, repositórios, pipelines, conexões, pools de agentes, usuários, grupos e mais
Jenkins73acesso, jobs, nós, plugins
JFrogapenas varredura--