Community코딩 & 개발github.com

openclaw-ghsa-maintainer

OpenClaw GHSA 보안 권고사항 및 비공개 포크 상태를 검사, 패치, 검증, 게시 또는 확인합니다.

openclaw-ghsa-maintainer란 무엇인가요?

이 스킬은 GitHub Security Advisory(GHSA) 워크플로우를 전담으로 관리하는 도구입니다. 개발자는 이 스킬을 사용하여 특정 GHSA 보안 권고사항의 현재 상태를 확인하고, 필요한 경우 패치 제안사항을 적용하거나 유효성을 검증한 후 최종적으로 게시할 수 있습니다. 또한 권고사항과 연결된 비공개 포크의 PR 상태를 확인하여 게시 전 필요한 조건이 충족되었는지 점검합니다. 이 스킬은 주로 `gh` CLI와 `jq` 같은 명령줄 도구를 활용하며, Markdown 설명과 JSON 페이로드를 안전하게 구성하는 방법, 필드 업데이트 순서를 지키는 방법 등 GHSA API의 까다로운 제약사항을 피하는 구체적인 예제를 제공합니다. 일반 릴리스 작업과는 분리하여 사용해야 하며, 게시 전 반드시 `SECURITY.md`를 읽고 권한을 얻도록 권장합니다.

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

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

OpenClaw GHSA Maintainer

이 스킬은 저장소 보안 권고사항 워크플로우 전용입니다. 일반 릴리스 작업은 release-openclaw-maintainer를 사용하십시오.

권고사항 안전 가드

  • 저장소 권고사항을 검토하거나 게시하기 전에 SECURITY.md를 읽으십시오.
  • 게시 작업을 수행하기 전에 반드시 허가를 요청하십시오.
  • 이 스킬은 GHSA 전용으로 취급하십시오. 안정 버전 또는 베타 릴리스 작업에는 사용하지 마십시오.

권고사항 상태 가져오기 및 검사

현재 권고사항과 최신 게시된 npm 버전을 가져옵니다:

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

패치를 적용하기 전에 가져온 출력을 사용하여 권고사항 상태, 연결된 비공개 포크, 취약점 페이로드 형태를 확인하십시오.

비공개 포크 PR이 닫혔는지 확인

게시 전에 권고사항의 비공개 포크에 열린 PR이 없는지 확인합니다:

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

게시하기 전에 PR 목록이 비어 있어야 합니다.

권고사항 Markdown 및 JSON 안전하게 준비

  • 권고사항 Markdown은 heredoc을 사용하여 임시 파일에 작성하십시오. 이스케이프된 \n 문자열을 사용하지 마십시오.
  • PATCH 페이로드 JSON은 jq로 빌드하십시오. 수동으로 이스케이프된 셸 JSON을 사용하지 마십시오.

예제 패턴:

cat > /tmp/ghsa.desc.md <<'EOF'
<markdown 설명>
EOF

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

PATCH 호출을 올바른 순서로 적용

  • 동일한 PATCH 호출에서 severity와 cvss_vector_string을 함께 설정하지 마십시오.
  • 권고사항에 두 필드가 모두 필요한 경우 별도의 호출을 사용하십시오.
  • 권고사항을 PATCH하고 "state":"published"로 설정하여 게시합니다. 별도의 /publish 엔드포인트는 없습니다.

예제 형태:

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

게시 및 성공 확인

게시 후 권고사항을 다시 가져와서 다음을 확인하십시오:

  • state=published
  • published_at 설정됨
  • 설명에 리터럴 이스케이프된 \\n이 포함되지 않음

확인 패턴:

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

일반적인 GHSA 함정

  • 필수 필드가 누락되었거나 비공개 포크에 여전히 열린 PR이 있는 경우 HTTP 422로 게시가 실패합니다.
  • 셸에서 올바르게 보이는 페이로드라도 Markdown이 이스케이프된 개행 문자열로 구성된 경우 여전히 잘못될 수 있습니다.
  • 권고사항 PATCH 순서가 중요합니다. GHSA API 제약 조건에서 요구하는 경우 필드 업데이트를 분리하십시오.
  • 공개 강화/비게시 주석 및 초안 텍스트는 원시 커밋 해시, PR 제목/번호, 수정 메커니즘 요약을 피해야 합니다. 패치된 버전 필드 또는 릴리스 전용 표현을 사용하고, SHA, PR 및 구현 노트는 내부 증거에 남겨 두십시오.

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.

관련 스킬