GitHub Actions
Configure um workflow no repositório para executar scans do XGuardian em pushes, pull requests, schedules ou por acionamento manual.
1. Criar o segredo do XGuardian
- no repositório GitHub, acesse Settings > Secrets and variables > Actions;
- clique em New repository secret;
- informe
XGUARDIAN_TOKENcomo nome; - cole o PAT gerado no XGuardian e salve;
- não exiba esse valor no workflow, em logs ou em prints.
2. Criar o workflow
Crie o arquivo .github/workflows/xguardian-security.yml no repositório. Use uma versão fixa da action; não utilize @main ou @latest.
Substitua em todos os exemplos:
| Campo | Valor |
|---|---|
app_name |
Nome da aplicação no XGuardian. |
team_id |
ID da equipe em JSON, por exemplo [1]. |
languages |
Linguagens em JSON, por exemplo ["Java", "JavaScript"]. |
scan_directory |
Diretório a analisar; . representa todo o repositório. |
exclude |
Diretórios ou arquivos que não devem ser enviados ao scan. |
SAST
name: XGuardian SAST
on: { workflow_dispatch: {} }
permissions: { contents: read }
jobs:
xguardian_sast:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: xguardian-actions/actions/sast@v26.6.1
with:
token: ${{ secrets.XGUARDIAN_TOKEN }}
app_name: minha-aplicacao
team_id: "[1]"
languages: '["JavaScript"]'
scan_directory: "."
exclude: "node_modules/,dist/"
translate: "true"
get_scan_id: "true"
SCA
name: XGuardian SCA
on: { workflow_dispatch: {} }
permissions: { contents: read }
jobs:
xguardian_sca:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: xguardian-actions/actions/sca@v26.6.1
with:
token: ${{ secrets.XGUARDIAN_TOKEN }}
app_name: minha-aplicacao
team_id: "[1]"
languages: '["JavaScript"]'
scan_directory: "."
exclude: "node_modules/,dist/"
translate: "true"
get_scan_id: "true"
Flex: SAST + SCA
name: XGuardian Flex
on: { workflow_dispatch: {} }
permissions: { contents: read }
jobs:
xguardian_flex:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: xguardian-actions/actions/sast-sca@v26.6.1
with:
token: ${{ secrets.XGUARDIAN_TOKEN }}
app_name: minha-aplicacao
team_id: "[1]"
languages: '["JavaScript"]'
scan_directory: "."
exclude: "node_modules/,dist/"
translate: "true"
get_scan_id: "true"
3. Executar e validar
- faça commit do workflow;
- abra a aba Actions do repositório;
- selecione o workflow XGuardian e clique em Run workflow, ou aguarde o evento configurado;
- acompanhe os logs sem copiar o valor do secret;
- ao concluir, valide o scan e os achados no XGuardian.
DAST e Container
GitHub Actions também oferece ações específicas para DAST Web, DAST API e Container. DAST exige autorização formal e credenciais de teste com menor privilégio. Container exige que a imagem já tenha sido construída ou baixada no runner antes do scan.
Consulte o repositório técnico para os parâmetros desses modos: xguardian-actions/actions.
Checklist
XGUARDIAN_TOKENestá salvo como Secret;- a versão da action está fixa;
app_name,team_idelanguagescorrespondem ao ativo correto;excluderemove dependências empacotadas, builds e arquivos gerados quando aplicável;- o primeiro scan foi validado em uma branch ou evento controlado.