Pular para o conteúdo
Skillpedia
Diversos35 mil · #5534

building-devsecops-pipeline-with-gitlab-ci

Faz seu agente construir um sistema de segurança dentro do processo de desenvolvimento. Ele verifica o código e os aplicativos em busca de falhas antes que sejam lançados.

O que ela faz

Esta ferramenta ajuda a configurar verificações de segurança automáticas no seu código usando o GitLab CI. Ela encontra problemas como códigos inseguros, dependências desatualizadas e segredos expostos antes que seu programa seja lançado.

Quando usar

  • ✓Ao configurar um novo projeto no GitLab e querer adicionar segurança.
  • ✓Ao atualizar um projeto existente para incluir verificações de segurança automáticas.
  • ✓Quando você precisa garantir que seu código está livre de vulnerabilidades conhecidas antes de lançá-lo.

Exemplo do que pedir para a IA

“Configure verificações de segurança automáticas para meu projeto no GitLab.”

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/building-devsecops-pipeline-with-gitlab-ci/SKILL.md

Mensagem pronta para colar

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

Você adiciona um arquivo de configuração chamado `.gitlab-ci.yml` ao seu projeto. Este arquivo diz ao GitLab para executar várias ferramentas de segurança que analisam seu código, dependências e até mesmo segredos que podem ter sido acidentalmente incluídos.

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 building-devsecops-pipeline-with-gitlab-ci

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/building-devsecops-pipeline-with-gitlab-ci/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.

Construindo Pipeline DevSecOps com GitLab CI

Visão Geral

O GitLab oferece uma plataforma DevSecOps integrada que incorpora testes de segurança diretamente no pipeline CI/CD. Ao alavancar os scanners de segurança nativos do GitLab — SAST, DAST, escaneamento de contêineres, escaneamento de dependências, detecção de segredos e conformidade de licenças — as equipes podem "deslocar a segurança para a esquerda", detectando vulnerabilidades durante o desenvolvimento em vez de após a implantação. O GitLab Duo AI auxilia na detecção de falsos positivos para vulnerabilidades SAST, ajudando as equipes de segurança a se concentrarem em problemas genuínos.

Quando Usar

  • Ao implantar ou configurar a construção de pipelines devsecops com capacidades do gitlab ci em seu ambiente
  • Ao estabelecer controles de segurança alinhados aos requisitos de conformidade
  • Ao construir ou melhorar a arquitetura de segurança para este domínio
  • Ao realizar avaliações de segurança que exigem esta implementação

Pré-requisitos

  • Licença GitLab Ultimate (necessária para o conjunto completo de scanners de segurança)
  • GitLab Runner configurado (compartilhado ou auto-hospedado)
  • Familiaridade com a configuração de pipeline .gitlab-ci.yml
  • Docker-in-Docker (DinD) ou Kaniko para compilações de contêineres
  • Aplicação implantada em um ambiente de staging para escaneamento DAST

Estágios Principais de Escaneamento de Segurança

Teste de Segurança de Aplicação Estática (SAST)

O SAST analisa o código-fonte em busca de vulnerabilidades antes da compilação. O GitLab suporta mais de 14 linguagens usando analisadores como Semgrep, SpotBugs, Gosec, Bandit e NodeJsScan. A inclusão mais simples usa os modelos gerenciados do GitLab.

Teste de Segurança de Aplicação Dinâmica (DAST)

O DAST testa aplicações em execução simulando payloads de ataque contra endpoints HTTP. Ele detecta XSS, SQLi, CSRF e outras vulnerabilidades de tempo de execução que a análise estática não consegue encontrar. O DAST requer uma URL de destino implantada e acessível.

Escaneamento de Contêineres

Usa o Trivy para escanear imagens Docker em busca de CVEs conhecidos em pacotes do sistema operacional e dependências de aplicações. Executa após o estágio de compilação do Docker para validar imagens antes que elas cheguem a um registro.

Escaneamento de Dependências

Inspeciona manifestos de dependências (package.json, requirements.txt, pom.xml, Gemfile.lock) em busca de versões vulneráveis conhecidas. Opera no nível do código-fonte, complementando o escaneamento de contêineres.

Detecção de Segredos

Escaneia commits em busca de credenciais, chaves de API, tokens e chaves privadas acidentalmente commitados usando correspondência de padrões e análise de entropia. Executa em cada commit para evitar que segredos cheguem ao repositório.

Implementação

Configuração Completa do Pipeline

# .gitlab-ci.yml

stages:
  - build
  - test
  - security
  - deploy-staging
  - dast
  - deploy-production

variables:
  DOCKER_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
  SECURE_LOG_LEVEL: "info"

# Inclui modelos de segurança gerenciados pelo GitLab
include:
  - template: Security/SAST.gitlab-ci.yml
  - template: Security/Secret-Detection.gitlab-ci.yml
  - template: Security/Dependency-Scanning.gitlab-ci.yml
  - template: Security/Container-Scanning.gitlab-ci.yml
  - template: DAST.gitlab-ci.yml
  - template: Security/License-Scanning.gitlab-ci.yml

build:
  stage: build
  image: docker:24.0
  services:
    - docker:24.0-dind
  variables:
    DOCKER_TLS_CERTDIR: "/certs"
  script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - docker build -t $DOCKER_IMAGE .
    - docker push $DOCKER_IMAGE
  rules:
    - if: $CI_COMMIT_BRANCH

unit-tests:
  stage: test
  image: $DOCKER_IMAGE
  script:
    - npm ci
    - npm run test:coverage
  coverage: '/Lines\s*:\s*(\d+\.?\d*)%/'
  artifacts:
    reports:
      junit: junit-report.xml
      coverage_report:
        coverage_format: cobertura
        path: coverage/cobertura-coverage.xml

# Sobrescreve SAST para executar no estágio de segurança
sast:
  stage: security
  variables:
    SAST_EXCLUDED_PATHS: "spec,test,tests,tmp,node_modules"
    SEARCH_MAX_DEPTH: 10

# Sobrescreve escaneamento de contêineres
container_scanning:
  stage: security
  variables:
    CS_IMAGE: $DOCKER_IMAGE
    CS_SEVERITY_THRESHOLD: "HIGH"

# Sobrescreve escaneamento de dependências
dependency_scanning:
  stage: security

# Sobrescreve detecção de segredos
secret_detection:
  stage: security

# Escaneamento de conformidade de licenças
license_scanning:
  stage: security

deploy-staging:
  stage: deploy-staging
  image: bitnami/kubectl:latest
  script:
    - kubectl set image deployment/app app=$DOCKER_IMAGE -n staging
    - kubectl rollout status deployment/app -n staging --timeout=300s
  environment:
    name: staging
    url: https://staging.example.com
  rules:

…
Perguntas frequentes

O que é DevSecOps?

DevSecOps significa integrar práticas de segurança em todas as etapas do desenvolvimento de software, desde o início até o final.

Preciso de alguma licença especial?

Sim, para usar todas as ferramentas de segurança incluídas, você geralmente precisa de uma licença GitLab Ultimate.

O que são SAST e DAST?

SAST (Static Application Security Testing) analisa seu código-fonte sem executá-lo. DAST (Dynamic Application Security Testing) testa seu aplicativo enquanto ele está em execução, simulando ataques.

Detalhes

Descrição original do autor

Configure a GitLab CI/CD pipeline that embeds SAST (Semgrep, SpotBugs, Gosec, Bandit, NodeJsScan), DAST, container scanning, dependency scanning, and secret detection via GitLab's managed security templates. Use when building a shift-left DevSecOps pipeline in GitLab, adding automated vulnerability scanning stages to .gitlab-ci.yml, or triaging scanner findings with GitLab Duo AI before deployment

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5534
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