triagem-de-seguranca

Trie de advisories de segurança do OpenClaw, rascunhos e relatórios GHSA com verificação de versão enviada e prova de modelo de confiança.

O que é triagem-de-seguranca?

Esta skill capacita um agente de IA a realizar triagem de alta confiança de advisories de segurança do OpenClaw, incluindo rascunhos e relatórios GHSA, com foco em não fechar problemas reais nem introduzir regressões desnecessárias. Ela é projetada para plataformas como Claude Code, Cursor ou Codex, onde o agente pode interagir com a linha de comando, a API do GitHub e o Git. A skill define um processo rigoroso: primeiro, o agente deve ler o `SECURITY.md` e o advisory GHSA via API; depois, verificar o estado de lançamento usando `git tag` e `npm view`; e, em seguida, decidir entre fechar, manter aberto ou manter aberto com escopo reduzido. Cada decisão é baseada em cinco critérios: modelo de confiança (se a pré-condição está dentro do estado confiável), comportamento enviado (se o bug está na versão lançada), caminho de exploração (se há uma verdadeira violação de limite), trade-off funcional (se a correção preserva funcionalidades) e possível hardening (separado da correção de vulnerabilidade). O agente deve processar um advisory por vez, preparar um comentário detalhado para o mantedor e copiá-lo para a área de transferência usando `pbcopy`, aguardando instruções para prosseguir. A skill também inclui diretrizes de higiene de redação pública, modo de discussão para quando o mantenedor posta manualmente, e tratamento de interrupções por classificadores cibernéticos.

Funciona com~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/security-triage

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Triagem de Segurança

Use ao revisar advisories de segurança do OpenClaw, rascunhos ou relatórios GHSA.

Objetivo: triagem de alta confiança por mantenedores sem fechar excessivamente problemas reais ou enviar regressões desnecessárias.

Barra de Fechamento

Feche apenas se uma destas condições for verdadeira:

  • duplicata de um advisory existente ou problema corrigido
  • inválido contra o comportamento enviado
  • fora do escopo conforme SECURITY.md
  • corrigido antes de qualquer release/tag afetada

Não feche apenas porque main está corrigido. Se a tag enviada mais recente ou a release npm estiver afetada, mantenha aberto até que seja lançado ou publicado com o status correto.

Leituras Obrigatórias

Antes de responder:

  1. Leia SECURITY.md.
  2. Leia o corpo do GHSA com gh api /repos/openclaw/openclaw/security-advisories/<GHSA>.
  3. Inspecione os caminhos de código exatos implicados.
  4. Verifique o estado enviado:
    • git tag --sort=-creatordate | head
    • npm view openclaw version --userconfig "$(mktemp)"
    • git tag --contains <fix-commit>
    • se necessário: git show <tag>:path/to/file
  5. Pesquise por sobreposição canônica:
    • GHSAs publicados existentes
    • bugs corrigidos mais antigos
    • mesma classe de modelo de confiança já coberta em SECURITY.md

Método de Revisão

Para cada advisory, decida:

  • close
  • keep open
  • keep open but narrow

Padrão: um advisory por vez quando envolver comentários/fechamentos:

  1. Revise exatamente um GHSA.
  2. Imprima a URL do GHSA primeiro.
  3. Resuma a decisão e as evidências para discussão.
  4. Redija um comentário pronto para o mantenedor.
  5. Copie apenas esse comentário para a área de transferência.
  6. Pare e aguarde Peter postar/discutir antes de passar para o próximo GHSA.

Não agrupe múltiplos comentários de fechamento a menos que Peter peça explicitamente um lote.

Verifique nesta ordem:

  1. Modelo de confiança
    • A pré-condição já está dentro do estado confiável de host/local/plugin/operador?
    • SECURITY.md declara explicitamente esta classe como fora do escopo ou apenas hardening?
  2. Comportamento enviado
    • O bug está presente na tag enviada mais recente ou na release npm?
    • Foi corrigido antes da release?
  3. Caminho de exploração
    • O relatório mostra uma verdadeira violação de limite, não apenas injeção de prompt, controle local do mesmo usuário ou semântica de nível auxiliar?
    • Se os dados apenas se movem entre arquivos de memória de workspace confiáveis mencionados em SECURITY.md, não trate "marcadores de injeção" isoladamente como um bug de segurança.
    • Nesse caso, enquadre a sanitização como hardening opcional apenas se preservar os fluxos de memória esperados.
  4. Trade-off funcional
    • Se uma mudança de hardening reduzir a funcionalidade pretendida do usuário, destaque isso antes de propô-la.
    • Prefira correções que preservem os fluxos de trabalho do usuário em vez de regressões de negação por padrão, a menos que o limite exija.
  5. Acompanhamento de hardening
    • Mesmo quando o GHSA deve ser fechado, pergunte se uma mudança estreita de hardening reduziria riscos sem alterar o limite de confiança documentado.
    • Separe hardening do status de vulnerabilidade. Expresse como "não necessário para o fechamento do GHSA, mas vale considerar".
    • Traga hardening apenas se for concreto, de baixo risco e preservar os fluxos de trabalho pretendidos do mantenedor/operador.
    • Se o hardening exigir uma mudança no modelo de produto/segurança, diga isso explicitamente e não implique que é uma correção necessária para o fechamento.

Formato de Resposta

Ao preparar uma resposta de fechamento pronta para o mantenedor:

  1. Imprima a URL do GHSA primeiro.
  2. Em seguida, redija uma resposta detalhada que o mantenedor possa postar.
  3. Inclua:
    • motivo exato para o fechamento
    • referências de código exatas
    • fatos exatos de tag enviada / release
    • proveniência da correção ou GHSA duplicata canônico quando aplicável
    • nota opcional de hardening apenas se valer a pena e preservar funcionalidades

Mantenha um tom firme, específico e não defensivo.

Higiene de Redação Pública

  • Mantenha hashes de commit brutos, títulos/números de PR e resumos de mecanismo de correção fora do texto público do advisory. Use apenas o campo de release/versão corrigida.
  • Mantenha SHAs de commit exatos, PRs e notas de implementação em notas internas e arquivos de verificação.
  • Para resultados de hardening/sem publicação, não adicione detalhes pesados de exploração, texto "Corrigido por" ou uma seção "Commit(s) de Correção". Agradeça aos relatores, preserve o crédito, declare o limite de SECURITY.md e diga claramente que o GHSA será fechado sem publicação.
  • Para texto de CVE/GHSA publicado, prefira ### Versões Corrigidas com a release corrigida. Não explique como o patch funciona a menos que Peter peça explicitamente esse detalhe público.
  • Mantenha IDs de GHSA fora do changelog e da redação de notas de release a menos que Peter peça explicitamente.

Modo de Discussão

Quando Peter estiver postando manualmente comentários de GHSA, use este fluxo:

  1. Mostre a URL.
  2. Dê um veredito conciso (close, keep open ou keep open but narrow).
  3. Liste os marcadores de evidência mais fortes.
  4. Declare qualquer acompanhamento opcional de hardening separadamente do motivo de fechamento.
  5. Copie o corpo do comentário proposto com pbcopy.
  6. Termine a resposta após o único advisory. Não continue para o próximo advisory até que Peter diga para continuar.

Se a API do GitHub não puder postar comentários para advisories privados, diga isso uma vez e continue usando área de transferência/cola da interface.

Etapa de Área de Transferência

Após redigir o corpo final da postagem para o advisory atual, copie-o:

pbcopy <<'EOF'
<resposta final>
EOF

Diga ao usuário que a área de transferência agora contém a resposta proposta para aquele advisory.

Comandos Úteis

gh api /repos/openclaw/openclaw/security-advisories/<GHSA>
gh api /repos/openclaw/openclaw/security-advisories --paginate
git tag --sort=-creatordate | head -n 20
npm view openclaw version --userconfig "$(mktemp)"
git tag --contains <commit>
git show <tag>:<path>
gh search issues --repo openclaw/openclaw --match title,body,comments -- "<termos>"
gh search prs --repo openclaw/openclaw --match title,body,comments -- "<termos>"

Interrupções por Classificador Cibernético

Para trabalho defensivo permitido interrompido por um classificador cibernético, use uma rota Daybreak Blue aprovada e disponível apenas para aquela tarefa delimitada, depois restaure o modelo anterior. Preserve a identidade, escopo, permissões, sandbox e portões de revisão aprovados. Nunca troque de modelos para contornar negações de acesso, solicitações não permitidas ou ações de ferramenta recusadas; se essa rota também recusar, pare e relate. Siga a orientação da OpenAI para acesso aprovado a modelos.

Notas de Decisão

  • "corrigido na main, não lançado" geralmente não é um fechamento.
  • "requer primeiro estado local confiável controlado pelo atacante" geralmente está fora do escopo.
  • "processo mesmo host mesmo usuário já pode ler/escrever estado local" geralmente está fora do escopo.
  • "memória de workspace confiável promove/reindexa memória de workspace confiável" geralmente está fora do escopo, a menos que cruze um limite documentado.
  • "função auxiliar se comporta de forma diferente da semântica de configuração documentada" geralmente é inválido.
  • Se apenas a gravidade estiver errada, mas o bug for real, mantenha aberto e restrinja o impacto na resposta.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Habilidades Relacionadas