openclaw-ghsa-maintainer

Inspecione, corrija, valide, publique ou confirme avisos de segurança GHSA do OpenClaw e o estado do fork privado.

O que é openclaw-ghsa-maintainer?

Esta skill foi projetada exclusivamente para o fluxo de trabalho de avisos de segurança de repositórios GHSA do OpenClaw. Ela permite inspecionar o estado atual de um aviso, buscar o fork privado vinculado e verificar se não há pull requests em aberto antes de qualquer ação de publicação. A skill fornece instruções precisas para preparar arquivos Markdown e JSON de correção com segurança, usando heredocs e `jq`, evitando problemas comuns como strings de escape em markdown. Também documenta a sequência correta de chamadas PATCH da API do GitHub, incluindo a separação de atualizações de `severity` e `cvss_vector_string` quando necessário. Ao final, orienta como verificar o sucesso da publicação, confirmando que o estado é `published`, que `published_at` está definido e que a descrição não contém caracteres de escape literais. A skill alerta sobre armadilhas comuns, como erros HTTP 422, payloads incorretos e a necessidade de evitar expor hashes de commit ou números de PR em comentários públicos. É compatível com o ecossistema GitHub e ferramentas de linha de comando como `gh` e `jq`.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/openclaw-ghsa-maintainer

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

OpenClaw GHSA Maintainer

Use esta skill exclusivamente para o fluxo de trabalho de avisos de segurança de repositório. Mantenha o trabalho geral de versão em release-openclaw-maintainer.

Respeite as diretrizes de avisos

  • Antes de revisar ou publicar um aviso de repositório, leia SECURITY.md.
  • Peça permissão antes de qualquer ação de publicação.
  • Trate esta skill como exclusiva para GHSA. Não a use para trabalho de versão estável ou beta.

Busque e inspecione o estado do aviso

Busque o aviso atual e a versão npm publicada mais recente:

gh api /repos/openclaw/openclaw/security-advisories/<GHSA>
npm view openclaw version --userconfig "$(mktemp)"

Use a saída da busca para confirmar o estado do aviso, o fork privado vinculado e a forma do payload de vulnerabilidade antes de corrigir.

Verifique se os PRs do fork privado estão fechados

Antes de publicar, verifique se o fork privado do aviso não tem PRs abertos:

fork=$(gh api /repos/openclaw/openclaw/security-advisories/<GHSA> | jq -r .private_fork.full_name)
gh pr list -R "$fork" --state open

A lista de PRs deve estar vazia antes da publicação.

Prepare o Markdown e JSON do aviso com segurança

  • Escreva o Markdown do aviso via heredoc para um arquivo temporário. Não use strings \n escapadas.
  • Construa o payload JSON de PATCH com jq, não com JSON escapado manualmente no shell.

Exemplo de padrão:

cat > /tmp/ghsa.desc.md <<'EOF'
<descrição markdown>
EOF

jq -n --rawfile desc /tmp/ghsa.desc.md \
  '{summary,severity,description:$desc,vulnerabilities:[...]}' \
  > /tmp/ghsa.patch.json

Aplique as chamadas PATCH na sequência correta

  • Não defina severity e cvss_vector_string na mesma chamada PATCH.
  • Use chamadas separadas quando o aviso exigir ambos os campos.
  • Publique fazendo PATCH no aviso e definindo "state":"published". Não existe um endpoint /publish separado.

Exemplo de formato:

gh api -X PATCH /repos/openclaw/openclaw/security-advisories/<GHSA> \
  --input /tmp/ghsa.patch.json

Publique e verifique o sucesso

Após a publicação, busque novamente o aviso e confirme:

  • state=published
  • published_at está definido
  • a descrição não contém \n literais escapados

Padrão de verificação:

gh api /repos/openclaw/openclaw/security-advisories/<GHSA>
jq -r .description < /tmp/ghsa.refetch.json | rg '\\n'

Armadilhas comuns do GHSA

  • A publicação falha com HTTP 422 se campos obrigatórios estiverem ausentes ou se o fork privado ainda tiver PRs abertos.
  • Um payload que parece correto no shell pode ainda estar errado se o Markdown foi montado com strings de nova linha escapadas.
  • A sequência de PATCH do aviso é importante; atualizações de campo separadas quando as restrições da API GHSA exigirem.
  • Comentários públicos de hardening/sem publicação e texto de rascunho devem evitar hashes de commit brutos, títulos/números de PR e resumos de mecanismo de correção. Prefira campos de versão corrigida ou redação exclusiva de versão; mantenha SHAs, PRs e notas de implementação em evidência interna.

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