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
Mensagem pronta para colar
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-scanningOu 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.mdConteú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.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4058
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC