Pular para o conteúdo
Skillpedia
Segurança48 mil · #4058

sast-scanning

Executa testes de segurança em código-fonte. Usa ferramentas como Semgrep e SonarQube. Ajuda a identificar vulnerabilidades antes do lançamento.

O que ela faz

Esta ferramenta verifica seu código em busca de falhas de segurança antes que ele seja usado. Ela ajuda a encontrar problemas como senhas expostas ou vulnerabilidades de injeção de código.

Quando usar

  • ✓Ao adicionar checagens de segurança em processos automáticos de desenvolvimento.
  • ✓Quando você quer garantir que seu código está seguro antes de lançá-lo.
  • ✓Para atender a regras de segurança exigidas por empresas ou leis.

Exemplo do que pedir para a IA

“Verifique meu código Python em busca de vulnerabilidades de segurança conhecidas.”

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/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/sast-scanning/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/sast-scanning/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta analisa o código escrito sem executá-lo, comparando-o com padrões de segurança conhecidos. Ela usa programas como Semgrep, CodeQL ou SonarQube para encontrar os problemas.

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 sickn33/agentic-awesome-skills --skill sast-scanning

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/sast-scanning/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.

Análise SAST

Identifique vulnerabilidades de segurança no código-fonte através de análise estática.

Quando Usar Esta Habilidade

Use esta habilidade quando:

  • Implementar práticas de SDLC seguras
  • Adicionar portões de segurança ao CI/CD
  • Automatizar revisões de segurança de código
  • Encontrar vulnerabilidades antes da implantação
  • Atender a requisitos de conformidade

Pré-requisitos

  • Acesso ao código-fonte
  • Pipeline de CI/CD
  • Instalação da ferramenta SAST

Comparação de Ferramentas

Ferramenta Licença Linguagens Ideal Para
Semgrep OSS/Comercial 30+ Regras personalizadas, velocidade
CodeQL Gratuito (GitHub) 10+ Análise profunda
SonarQube OSS/Comercial 25+ Qualidade + Segurança
Bandit OSS Python Projetos Python
Brakeman OSS Ruby Aplicativos Rails

Semgrep

Instalação

# Install via pip
pip install semgrep

# Or via Homebrew
brew install semgrep

Uso Básico

# Run with default rules
semgrep --config auto .

# Run specific rulesets
semgrep --config p/security-audit .
semgrep --config p/owasp-top-ten .
semgrep --config p/ci .

# Scan specific languages
semgrep --config p/python .
semgrep --config p/javascript .

# Output formats
semgrep --config auto --json -o results.json .
semgrep --config auto --sarif -o results.sarif .

Regras Personalizadas

# .semgrep/custom-rules.yaml
rules:
  - id: hardcoded-password
    patterns:
      - pattern-either:
          - pattern: password = "..."
          - pattern: PASSWORD = "..."
          - pattern: passwd = "..."
    message: Hardcoded password detected
    severity: ERROR
    languages: [python, javascript, java]
    metadata:
      cwe: "CWE-798"
      owasp: "A3:2017"

  - id: sql-injection
    patterns:
      - pattern: |
          $QUERY = "..." + $USER_INPUT + "..."
          $DB.execute($QUERY)
    message: Potential SQL injection
    severity: ERROR
    languages: [python]
    metadata:
      cwe: "CWE-89"

  - id: insecure-random
    pattern: random.random()
    message: Use secrets module for security-sensitive randomness
    severity: WARNING
    languages: [python]
    fix: secrets.token_hex()

Configuração de CI

# .github/workflows/semgrep.yml
name: Semgrep

on:
  push:
    branches: [main]
  pull_request:

jobs:
  semgrep:
    runs-on: ubuntu-latest
    container:
      image: returntocorp/semgrep
    steps:
      - uses: actions/checkout@v4

      - name: Run Semgrep
        run: semgrep ci
        env:
          SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}

CodeQL

Configuração

# .github/workflows/codeql.yml
name: CodeQL Analysis

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
  schedule:
    - cron: '0 0 * * 0'

jobs:
  analyze:
    runs-on: ubuntu-latest
    permissions:
      security-events: write
      actions: read
      contents: read

    strategy:
      matrix:
        language: ['javascript', 'python']

    steps:
      - uses: actions/checkout@v4

      - name: Initialize CodeQL
        uses: github/codeql-action/init@v3
        with:
          languages: ${{ matrix.language }}
          queries: +security-and-quality

      - name: Autobuild
        uses: github/codeql-action/autobuild@v3

      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v3
        with:
          category: "/language:${{ matrix.language }}"

Consultas Personalizadas

// queries/sql-injection.ql
/**
 * @name SQL Injection
 * @description User input in SQL query
 * @kind path-problem
 * @problem.severity error
 * @security-severity 9.0
 * @precision high
 * @id py/sql-injection
 * @tags security
 */

import python
import semmle.python.dataflow.new.DataFlow
import semmle.python.dataflow.new.TaintTracking
import semmle.python.security.dataflow.SqlInjectionQuery

from SqlInjectionConfiguration config, DataFlow::PathNode source, DataFlow::PathNode sink
where config.hasFlowPath(source, sink)
select sink.getNode(), source, sink, "SQL injection from $@.", source.getNode(), "user input"

SonarQube

Configuração com Docker

# docker-compose.yml
version: '3.8'

services:
  sonarqube:
    image: sonarqube:lts-community
    ports:
      - "9000:9000"
    environment:
      - SONAR_JDBC_URL=jdbc:postgresql://db:5432/sonar
      - SONAR_JDBC_USERNAME=sonar
      - SONAR_JDBC_PASSWORD=sonar
    volumes:
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_logs:/opt/sonarqube/logs
    depends_on:
      - db

  db:
    image: postgres:15

…
Perguntas frequentes

Quais linguagens de programação essa ferramenta suporta?

Ela suporta muitas linguagens, como Python, JavaScript, Java, Ruby e outras, dependendo da ferramenta específica usada.

Preciso instalar algo para usar?

Sim, você precisa ter acesso ao código, um sistema de entrega contínua (CI/CD) e as ferramentas de análise de segurança instaladas.

Posso criar minhas próprias regras de segurança?

Sim, ferramentas como o Semgrep permitem que você crie regras personalizadas para encontrar problemas específicos do seu projeto.

Detalhes

Descrição original do autor

Perform static application security testing with tools like Semgrep, CodeQL, and SonarQube.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4058
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas