Pular para o conteúdo
Skillpedia
Testes35 mil · #5986

integrating-dast-with-owasp-zap-in-pipeline

Ajuda seu agente a integrar testes de segurança de aplicações dinâmicos (DAST) em pipelines de CI/CD.

O que ela faz

Esta ferramenta ajuda a verificar se seu site ou API tem falhas de segurança comuns, como ataques de injeção de código (SQLi) ou scripts maliciosos (XSS). Ela faz isso automaticamente quando você envia novas versões do seu código para testes.

Quando usar

  • ✓Ao testar sites e APIs que já estão funcionando.
  • ✓Quando você precisa garantir que o site está seguro antes de ir para o público.
  • ✓Ao querer verificar falhas de segurança que só aparecem quando o site está rodando.

Exemplo do que pedir para a IA

“Verifique meu site em staging.example.com para falhas de segurança.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/integrating-dast-with-owasp-zap-in-pipeline/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/integrating-dast-with-owasp-zap-in-pipeline/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa um programa chamado OWASP ZAP para 'navegar' pelo seu site ou API e tentar encontrar problemas. Ela pode ser configurada para fazer verificações rápidas ou mais completas.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill integrating-dast-with-owasp-zap-in-pipeline

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/integrating-dast-with-owasp-zap-in-pipeline/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Integrando DAST com OWASP ZAP em um Pipeline

Quando Usar

  • Ao testar aplicações web em execução em busca de vulnerabilidades como XSS, SQLi, CSRF e configurações incorretas.
  • Quando SAST sozinho é insuficiente e testes de comportamento em tempo de execução são necessários.
  • Quando a conformidade exige testes de segurança dinâmicos de aplicações web antes da produção.
  • Ao testar APIs (REST/GraphQL) em busca de falhas de autenticação, autorização e injeção.
  • Ao estabelecer varreduras DAST contínuas em ambientes de staging antes da implantação em produção.

Não use para varrer código-fonte (use SAST), para varrer dependências (use SCA) ou para varrer configurações de infraestrutura (use ferramentas de varredura IaC).

Pré-requisitos

  • Imagem Docker do OWASP ZAP ou instalada localmente (zaproxy/zap-stable ou zaproxy/action-*)
  • Aplicação alvo em execução e acessível a partir do runner de CI/CD (URL de staging ou serviço Docker)
  • Configuração das regras de varredura do ZAP (opcional, para ajuste)
  • Especificação OpenAPI/Swagger para varredura de API (opcional)

Fluxo de Trabalho

Passo 1: Configurar Varredura Base do ZAP no GitHub Actions

# .github/workflows/dast-scan.yml
name: DAST Security Scan

on:
  deployment_status:
  workflow_dispatch:
    inputs:
      target_url:
        description: 'Target URL to scan'
        required: true

jobs:
  zap-baseline:
    name: ZAP Baseline Scan
    runs-on: ubuntu-latest
    services:
      webapp:
        image: ${{ github.repository }}:${{ github.sha }}
        ports:
          - 8080:8080
        options: --health-cmd="curl -f http://localhost:8080/health" --health-interval=10s --health-timeout=5s --health-retries=5

    steps:
      - uses: actions/checkout@v4

      - name: ZAP Baseline Scan
        uses: zaproxy/action-baseline@v0.12.0
        with:
          target: 'http://webapp:8080'
          rules_file_name: '.zap/rules.tsv'
          cmd_options: '-a -j'
          allow_issue_writing: false

      - name: Upload ZAP Report
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: zap-baseline-report
          path: report_html.html

Passo 2: Configurar Varredura Completa do ZAP para Testes Abrangentes

  zap-full-scan:
    name: ZAP Full Scan
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: ZAP Full Scan
        uses: zaproxy/action-full-scan@v0.12.0
        with:
          target: ${{ github.event.inputs.target_url || 'https://staging.example.com' }}
          rules_file_name: '.zap/rules.tsv'
          cmd_options: '-a -j -T 60'

      - name: Upload Reports
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: zap-full-report
          path: |
            report_html.html
            report_json.json

Passo 3: Configurar Varredura de API com Especificação OpenAPI

  zap-api-scan:
    name: ZAP API Scan
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: ZAP API Scan
        uses: zaproxy/action-api-scan@v0.12.0
        with:
          target: 'https://staging.example.com/api/openapi.json'
          format: openapi
          rules_file_name: '.zap/api-rules.tsv'
          cmd_options: '-a -j'

Passo 4: Configurar Regras de Varredura do ZAP

# .zap/rules.tsv
# Rule ID	Action (IGNORE/WARN/FAIL)	Description
10003	IGNORE	# Vulnerable JS Library (handled by SCA)
10015	WARN	# Incomplete or No Cache-control Header
10021	FAIL	# X-Content-Type-Options Missing
10035	FAIL	# Strict-Transport-Security Missing
10038	FAIL	# Content Security Policy Missing
10098	IGNORE	# Cross-Domain Misconfiguration (CDN)
40012	FAIL	# Cross Site Scripting (Reflected)
40014	FAIL	# Cross Site Scripting (Persistent)
40018	FAIL	# SQL Injection
40019	FAIL	# SQL Injection (MySQL)
40032	FAIL	# .htaccess Information Leak
90033	FAIL	# Loosely Scoped Cookie

Passo 5: Executar o ZAP com Docker Compose para Testes Locais

# docker-compose.zap.yml
version: '3.8'
services:
  webapp:
    build: .
    ports:
      - "8080:8080"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
      interval: 10s
      retries: 5

  zap:
    image: zaproxy/zap-stable:latest
    depends_on:
      webapp:
        condition: service_healthy
    command: >
      zap-baseline.py
        -t http://webapp:8080
        -r /zap/wrk/report.html
        -J /zap/wrk/report.json
        -c /zap/wrk/rules.tsv
        -I
    volumes:
      - ./zap-reports:/zap/wrk
      - ./.zap/rules.tsv:/zap/wrk/rules.tsv

…

Perguntas frequentes

O que é DAST?

DAST significa Teste Dinâmico de Segurança de Aplicações. É como um teste de invasão automatizado que verifica um aplicativo em execução.

O que é OWASP ZAP?

OWASP ZAP é um programa gratuito e popular que ajuda a encontrar vulnerabilidades em aplicativos web.

Posso usar isso para verificar meu código fonte?

Não, esta ferramenta é para testar o aplicativo enquanto ele está rodando, não o código em si. Para código, você usaria outra ferramenta chamada SAST.

Detalhes

Descrição original do autor

Integrates OWASP ZAP (Zed Attack Proxy) into GitHub Actions and GitLab CI pipelines, covering baseline, full, and API scan configuration against running applications, ZAP finding interpretation, scan policy tuning, and DAST quality gates. Use when testing running web apps or REST/GraphQL APIs for XSS, SQLi, CSRF, and auth/authz flaws, or when SAST alone is insufficient and runtime DAST is required

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5986
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas