본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

deal-with-security-advisory

Paperclip의 비공개 취약점 보고를 조사하고 수정 사항 검증, CVE 신청, 보안 권고문 공개, 긴급 릴리스 후 확인까지 진행합니다.

원문원문 설명 보기

Handle confidential GitHub Security Advisory response for Paperclip. Use when coordinating advisory triage, private-fork fixes, CVE/publication steps, and immediate security releases.

연동 도구GitHub

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • 비공개 취약점 보고를 조사합니다
  • 비공개 포크에서 수정 사항을 검증합니다
  • 권고문 공개와 긴급 릴리스를 조율합니다
  • CVE 할당과 릴리스를 확인합니다

한국어 소개

할 수 있는 일

Paperclip에 접수된 취약점 보고의 내용 확인부터 수정, 공개, 긴급 릴리스까지 진행합니다. GitHub Security Advisory에서 공격 경로와 심각도를 확인하고 임시 비공개 포크에서 수정합니다. 수정 전 문제를 재현하고 수정 후 차단 여부를 검증하며 유사한 공격 경로도 확인합니다. 취약점 식별 번호인 CVE 신청, 보고자 크레딧 확인, 수정 버전 정보 등록, 공개 후 확인도 다룹니다.

이럴 때 유용합니다

Paperclip 유지보수 담당자가 공개 전 보고 내용을 보호하면서 수정할 때 유용합니다. 권고문 공개와 수정 버전 제공을 조율하여 공개 후 사용자가 업데이트할 수 있도록 준비합니다.

사용 예시

  • “이 GHSA를 확인하고 비공개 포크에서 수정과 로컬 검증을 진행해 주세요.”
  • “CVE 신청과 보고자 크레딧을 확인하고 보안 릴리스를 준비해 주세요.”

주의 사항

GitHub CLI의 gh와 필요한 인증 및 권한을 사용하는 Paperclip 전용 절차입니다. 공개 전 정보는 비공개로 취급합니다. 임시 비공개 포크에서는 CI가 실행되지 않으므로 로컬에서 테스트합니다. 보고자에게 보내는 메시지는 사람이 권고문 스레드에 게시합니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

문서 점검

AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.

안전성전송·삭제·명령 실행 등을 명시하고 있는가
C확인 필요기밀 유지 규칙은 명시하지만 권고문 공개와 릴리스 생성은 사람의 승인 없이 진행합니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
B일부 부족gh와 인증 정보를 전제로 하지만 설치와 필요한 권한 설정 절차는 없습니다.

점수에는 넣지 않았습니다. 2026년 10월 20일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(1)

  • SKILL.md7.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Security Vulnerability Response Instructions

⚠️ CRITICAL: This is a security vulnerability. Everything about this process is confidential until the advisory is published. Do not mention the vulnerability details in any public commit message, PR title, branch name, or comment. Do not push anything to a public branch. Do not discuss specifics in any public channel. Assume anything on the public repo is visible to attackers who will exploit the window between disclosure and user upgrades.


Context

A security vulnerability has been reported via GitHub Security Advisory:

  • Advisory: {{ghsaId}} (e.g. GHSA-x8hx-rhr2-9rf7)
  • Reporter: {{reporterHandle}}
  • Severity: {{severity}}
  • Notes: {{notes}}

Step 0: Fetch the Advisory Details

Pull the full advisory so you understand the vulnerability before doing anything else:

gh api repos/paperclipai/paperclip/security-advisories/{{ghsaId}}

Read the description, severity, cvss, and vulnerabilities fields. Understand the attack vector before writing code.

Step 1: Acknowledge the Report

⚠️ This step requires a human. The advisory thread does not have a comment API. Ask the human operator to post a comment on the private advisory thread acknowledging the report. Provide them this template:

Thanks for the report, @{{reporterHandle}}. We've confirmed the issue and are working on a fix. We're targeting a patch release within {{timeframe}}. We'll keep you updated here.

Give your human this template, but still continue

Below we use gh tools - you do have access and credentials outside of your sandbox, so use them.

Step 2: Create the Temporary Private Fork

This is where all fix development happens. Never push to the public repo.

gh api --method POST \
  repos/paperclipai/paperclip/security-advisories/{{ghsaId}}/forks

This returns a repository object for the private fork. Save the full_name and clone_url.

Clone it and set up your workspace:

# Clone the private fork somewhere outside ~/paperclip
git clone <clone_url_from_response> ~/security-patch-{{ghsaId}}
cd ~/security-patch-{{ghsaId}}
git checkout -b security-fix

Do not edit ~/paperclip — the dev server is running off the ~/paperclip master branch and we don't want to touch it. All work happens in the private fork clone.

TIPS:

  • Do not commit pnpm-lock.yaml — the repo has actions to manage this
  • Do not use descriptive branch names that leak the vulnerability (e.g., no fix-dns-rebinding-rce). Use something generic like security-fix
  • All work stays in the private fork until publication
  • CI/GitHub Actions will NOT run on the temporary private fork — this is a GitHub limitation by design. You must run tests locally

Step 3: Develop and Validate the Fix

Write the patch. Same content standards as any PR:

  • It must functionally work — run tests locally since CI won't run on the private fork
  • Consider the whole codebase, not just the narrow vulnerability path. A patch that fixes one vector but opens another is worse than no patch
  • Ensure backwards compatibility for the database, or be explicit about what breaks
  • Make sure any UI components still look correct if the fix touches them
  • The fix should be minimal and focused — don't bundle unrelated changes into a security patch. Reviewers (and the reporter) should be able to read the diff and understand exactly what changed and why

Specific to security fixes:

  • Verify the fix actually closes the attack vector described in the advisory. Reproduce the vulnerability first (using the reporter's description), then confirm the patch prevents it
  • Consider adjacent attack vectors — if DNS rebinding is the issue, are there other endpoints or modes with the same class of problem?
  • Do not introduce new dependencies unless absolutely necessary — new deps in a security patch raise eyebrows

Push your fix to the private fork:

git add -A
git commit -m "Fix security vulnerability"
git push origin security-fix

Step 4: Coordinate with the Reporter

⚠️ This step requires a human. Ask the human operator to post on the advisory thread letting the reporter know the fix is ready and giving them a chance to review. Provide them this template:

@{{reporterHandle}} — fix is ready in the private fork if you'd like to review before we publish. Planning to release within {{timeframe}}.

Proceed

Step 5: Request a CVE

This makes vulnerability scanners (npm audit, Snyk, Dependabot) warn users to upgrade. Without it, nobody gets automated notification.

gh api --method POST \
  repos/paperclipai/paperclip/security-advisories/{{ghsaId}}/cve

GitHub is a CVE Numbering Authority and will assign one automatically. The CVE may take a few hours to propagate after the advisory is published.

Step 6: Publish Everything Simultaneously

This all happens at once — do not stagger these steps. The goal is zero window between the vulnerability becoming public knowledge and the fix being available.

6a. Verify reporter credit before publishing

gh api repos/paperclipai/paperclip/security-advisories/{{ghsaId}} --jq '.credits'

If the reporter is not credited, add them:

gh api --method PATCH \
  repos/paperclipai/paperclip/security-advisories/{{ghsaId}} \
  --input - << 'EOF'
{
  "credits": [
    {
      "login": "{{reporterHandle}}",
      "type": "reporter"
    }
  ]
}
EOF

6b. Update the advisory with the patched version and publish

gh api --method PATCH \
  repos/paperclipai/paperclip/security-advisories/{{ghsaId}} \
  --input - << 'EOF'
{
  "state": "published",
  "vulnerabilities": [
    {
      "package": {
        "ecosystem": "npm",
        "name": "paperclip"
      },
      "vulnerable_version_range": "< {{patchedVersion}}",
      "patched_versions": "{{patchedVersion}}"
    }
  ]
}
EOF

Publishing the advisory simultaneously:

  • Makes the GHSA public
  • Merges the temporary private fork into your repo
  • Triggers the CVE assignment (if requested in step 5)

6c. Cut a release immediately after merge

cd ~/paperclip
git pull origin master

gh release create v{{patchedVersion}} \
  --repo paperclipai/paperclip \
  --title "v{{patchedVersion}} — Security Release" \
  --notes "## Security Release

This release fixes a critical security vulnerability.

### What was fixed
{{briefDescription}} (e.g., Remote code execution via DNS rebinding in \`local_trusted\` mode)

### Advisory
https://github.com/paperclipai/paperclip/security/advisories/{{ghsaId}}

### Credit
Thanks to @{{reporterHandle}} for responsibly disclosing this vulnerability.

### Action required
All users running versions prior to {{patchedVersion}} should upgrade immediately."

Step 7: Post-Publication Verification

# Verify the advisory is published and CVE is assigned
gh api repos/paperclipai/paperclip/security-advisories/{{ghsaId}} \
  --jq '{state: .state, cve_id: .cve_id, published_at: .published_at}'

# Verify the release exists
gh release view v{{patchedVersion}} --repo paperclipai/paperclip

If the CVE hasn't been assigned yet, that's normal — it can take a few hours.

⚠️ Human step: Ask the human operator to post a final comment on the advisory thread confirming publication and thanking the reporter.

Tell the human operator what you did by posting a comment to this task, including:

  • The published advisory URL: https://github.com/paperclipai/paperclip/security/advisories/{{ghsaId}}
  • The release URL
  • Whether the CVE has been assigned yet
  • All URLs to any pull requests or branches

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

add-product-e2e-eval

무료요약 있음

Paperclip에서 실제 브라우저부터 서버, 데이터베이스, runner까지 검증하는 E2E 평가를 추가·확장합니다. 테스트 데이터와 판정 조건, 증거를 기존 보고서에 연결합니다.

  • 전체 사용자 작업 흐름의 평가 추가
  • 테스트 데이터와 판정 조건 갱신
  • 평가 보고서에 스크린샷과 산출물 추가
paperclipai/paperclip10.7만2026년 10월 23일 업데이트

add-runner-eval

무료요약 있음

Paperclip Runner의 동작 평가에 판정 조건, 실행 대상, 보고서 검증 데이터를 추가하고 증거와 실행 이력을 남겨 검증합니다.

  • Runner 동작 평가를 추가합니다
  • 정상 및 잘못된 증거로 판정을 검증합니다
  • 실행 대상 목록과 지속 평가를 갱신합니다
paperclipai/paperclip10.7만2026년 10월 23일 업데이트

agent-browser

무료요약 있음

실제 브라우저로 웹페이지와 앱을 조작하며 화면과 동작을 검증합니다. 스크린샷, 간단한 양식 입력, 오류 및 통신 기록으로 문제 재현과 결과 확인을 돕습니다.

  • UI 변경 후 화면을 확인합니다
  • JavaScript로 렌더링된 내용을 읽습니다
  • 화면 문제와 오류를 재현합니다
paperclipai/paperclip10.7만2026년 10월 23일 업데이트

agentmail

무료요약 있음

Paperclip에서 할당받은 AgentMail 수신함으로 작업에 연결된 메일을 확인하고, 새 메일 전송과 답장, 전송 결과 확인까지 수행합니다.

  • 담당 작업에 연결된 메일을 확인합니다
  • 할당된 수신함에서 새 메일을 보냅니다
  • 대화의 특정 메시지에 답장합니다
paperclipai/paperclip10.7만2026년 10월 23일 업데이트

check-pr

무료요약 있음

GitHub, GitLab, Perforce 변경의 검토 의견, 자동 검사 실패와 설명 누락을 확인하고, 할 일을 정리하며 요청에 따라 수정과 처리된 스레드 해결을 지원합니다.

  • 변경 사항을 제출하기 전에 점검합니다
  • 실패한 검사와 수정할 항목을 확인합니다
  • 사람과 봇의 검토 의견을 정리합니다
paperclipai/paperclip10.7만2026년 10월 23일 업데이트

company-creator

무료요약 있음

구상이나 기존 저장소를 바탕으로 AI 에이전트의 역할, 보고 체계, 작업 인계를 정리하고 규격에 맞는 회사 또는 팀 패키지를 만듭니다.

  • 구상에서 에이전트 회사를 만듭니다
  • 저장소를 팀 구성으로 정리합니다
  • 역할 분담과 작업 인계를 설계합니다
paperclipai/paperclip10.7만2026년 10월 23일 업데이트

paperclipai의 스킬 모두 보기

이 스킬의 문제 신고