Przejdź do treści
Biblioteka skilli
Bezpieczeństwo · Pisanie

draft-security-advisory

/draft-security-advisory

Przygotowuje lokalny szkic GitHub security advisory dla nrwl/nx na podstawie zgłoszenia podatności, wskazuje dotknięte pakiety i wersje oraz proponuje CVSS i CWE.

Repozytorium
nx ↗
Licencja
MIT
Ostatnia zmiana repozytorium
23.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 23.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Przygotowuje lokalny szkic GitHub security advisory dla nrwl/nx na podstawie zgłoszenia podatności, wskazuje dotknięte pakiety i wersje oraz proponuje CVSS i CWE.

Wyzwalacze z opisu

draft an advisorywrite a GHSAsecurity advisory for <report>

Argumenty

/draft-security-advisory <report file path, pasted report text, or pointer to the report>
Oryginalny opis (EN)

Draft a GitHub security advisory (GHSA) for nrwl/nx from a vulnerability report. Investigates the affected code, determines affected packages and version ranges, proposes a CVSS score and CWEs, and writes a draft advisory following the layout of previously published nrwl/nx advisories. Output is a local draft only — a human reviews and publishes. Use when a security vulnerability report needs to become an advisory, or when the user says "draft an advisory", "write a GHSA", or "security advisory for <report>".

Jak działa

  1. Inputs
  2. Process
  3. Advisory body layout
  4. Hard rules
Sekcje z nagłówków SKILL.md, w oryginale · 148 linii, 947 słów
Podgląd SKILL.md
---
name: draft-security-advisory
description: Draft a GitHub security advisory (GHSA) for nrwl/nx from a vulnerability report. Investigates the affected code, determines affected packages and version ranges, proposes a CVSS score and CWEs, and writes a draft advisory following the layout of previously published nrwl/nx advisories. Output is a local draft only — a human reviews and publishes. Use when a security vulnerability report needs to become an advisory, or when the user says "draft an advisory", "write a GHSA", or "security advisory for <report>".
allowed-tools: Bash(gh api *), Bash(gh pr view *), Bash(gh pr list *), Bash(gh issue view *), Bash(gh search *), Bash(gh release view *), Bash(gh release list *), Bash(git -C *), Bash(git log *), Bash(git tag *), Bash(git show *), Bash(git branch *), Bash(npm view *), Bash(ls *), Bash(cat *), Bash(head *), Bash(tail *), Bash(jq *), Bash(grep *), Bash(mkdir -p *), Write(tmp/security-advisories/**), Edit(tmp/security-advisories/**), Read, Grep, Glob, Agent
argument-hint: '<report file path, pasted report text, or pointer to the report>'
---

# Draft Security Advisory (draft-security-advisory)

Turn a vulnerability report into a ready-to-review GitHub security advisory draft
for `nrwl/nx`. This skill drafts; it NEVER publishes. The final review and the
publish step are always performed by a human.

Save the finished draft to `tmp/security-advisories/<slug>/advisory.md` (gitignored),
where `<slug>` is a short kebab-case name for the vulnerability
(e.g. `graph-server-cors`).

## Inputs

The argument is the vulnerability report: a file path, pasted text, or a pointer
(e.g. a GitHub private vulnerability report / GHSA draft ID, fetchable via
`gh api /repos/nrwl/nx/security-advisories/<GHSA-ID>`). If no report is provided,
ask for one — do not invent a vulnerability.

## Process

Work through these phases in order. Do not skip the investigation phases — the
advisory must be grounded in the actual code, not just the reporter's claims.

### Phase 1 — Understand the report

- Read the full report. Identify: the claimed flaw, the attack scenario, the
  entry point (which package / command / server), and any proof of concept.
- Restate the vulnerability in one sentence before proceeding. If the report is
  ambiguous or you cannot confirm the flaw exists in the code, stop and report
  that instead of drafting.

### Phase 2 — Confirm scope in the code

- Locate the vulnerable code in this repo. Read enough surrounding code to
  understand the real trust boundary: what is attacker-controlled, what checks
  exist, and what the worst-case outcome is.
- Determine what is and is not exposed. Which configurations, commands, or
  product surfaces trigger the vulnerable path? Which ones use a different code
  path and are unaffected? This is a per-report judgment based on the code you
  just read — verify each claim of "not affected" by finding the diverging code
  path, and say so in the draft with a `> [!IMPORTANT]` callout.
- Distinguish "practical impact in realistic usage" from "theoretical worst
  case" — the Summary states the practical impact; the Details section may note
  the escalation path.

### Phase 3 — Establish version ranges

- Find the commit/PR that introduced the flaw: `git log -S '<code fragment>'`
  or `git log --follow` on the file, then `gh pr list --search <sha>` to map
  the commit to a PR.
- Map the introducing commit to the first released version:
  `git tag --contains <sha> | sort -V | head`.
- Find the fix PR(s) and the first patched version(s) on every affected release
  line (including backports). Verify with `npm view <pkg> versions --json` that
  the patched versions are actually published.
- List every affected npm package separately with its own vulnerable range and
  patched versions. If a package is deprecated rather than patched, its
  remediation is migration guidance, not an upgrade.

### Phase 4 — Score severity

- Propose a CVSS vector and score (v3.1 or v4.0 — match whichever the fix team
  is using; include the full vector string). Justify each metric choice in one
  line each in your working notes; the advisory itself gets the score, the
  vector, and a one-sentence statement of exploitation preconditions.
- Identify the applicable CWE ID(s).

### Phase 5 — Write the draft

Write `tmp/security-advisories/<slug>/advisory.md` with two parts:

1. The advisory body (markdown, layout below) — this is what gets pasted into
   the GHSA "Description" field.
2. A metadata section at the end for the GHSA form fields: summary/title
   (≤ 100 chars), severity, CVSS vector, CWE IDs, and a per-package table of
   `ecosystem | package | vulnerable version range | patched versions`.

Then print the draft location and a short recap (severity, affected packages,
patched versions) so the reviewer can sanity-check at a glance.

## Advisory body layout

Follow the structure of previously published nrwl/nx advisories
(e.g. GHSA-vp3h-ghgh-jr7g, GHSA-g2r8-wvmj-jf5w). Sections, in order:

```markdown
## Summary

One short paragraph: what the flaw is, who is exposed, and the practical
impact. If the realistic impact differs from the theoretical worst case,
state the realistic one here.

## Severity

**<High/Medium/...>** — CVSS vX.Y **<score>** (`<full vector string>`)

One or two sentences on exploitation preconditions (what an attacker needs,
what the victim must be doing).

- **CWE-NNN**: <name>

## Affected & Patched Versions

Per-package version ranges and patched versions. State which version
introduced the flaw. Call out release lines that are NOT patched and where
those users should go.

> [!IMPORTANT]
> Use callouts like this to scope the blast radius when the investigation
> shows that common configurations or related surfaces are unaffected —
> name them explicitly and say why they are unaffected.

## Remediation

Exact upgrade targets ("Upgrade to `X.Y.Z` or later"). Note when the fix is a
drop-in vs. requires configuration changes. For deprecated packages, link the
migration guidance instead of a patched version.

## Details

Technical walkthrough: the vulnerable code (short, real snippets from the
repo), why it is exploitable, and what the fix changes. Be precise about what
is attacker-controlled and what is not — if part of the attack requires
capabilities that already imply code execution, say so.

## References

- Fix: <PR link(s)>
- Introduced: <PR link(s) that introduced the vulnerable code>
- Any related advisories, CVEs, or docs

## Credits

- **<Name>** (<affiliation or GitHub handle>) — Reporter
```

## Hard rules

- Never publish, create, or update an advisory on GitHub. Output is the local
  draft file only. If the reviewer wants to create the GHSA draft via
  `gh api`, they run that themselves after review.
- Never include unpublished vulnerability details in anything that leaves the
  draft directory (commits, PRs, issues, comments).
- Every factual claim in the draft (ranges, introducing PR, patched versions,
  "not affected" statements) must be verified during Phases 2–3, not copied
  from the report.
- Credit the reporter by the name/handle they used in the report.

Wersje

W bazie nie ma innych skilli o nazwie draft-security-advisory.

Migawka bazy z 13.11.2026 · wersja paczki f4687b002588 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 90advisory-triage
    Obsługuje zgłoszenia podatności i doradcze GitHub: od przyjęcia i wykrywania duplikatów po ocenę CVSS, poprawkę i ujawnienie.
  • 100xwiki-security-advisory
    Przygotowuje treść GitHub Security Advisory dla luki w XWiki według oficjalnego szablonu z polityki bezpieczeństwa projektu.
  • 100create-security-advisory
    Przygotowuje ustrukturyzowane raporty o podatnościach i szkice prywatnych ostrzeżeń bezpieczeństwa na GitHubie dla przeglądu.
  • 100security-advisory
    Triażuje prywatne zgłoszenie podatności w repozytorium Zod, od karty roboczej po decyzję o poprawce, według procedury advisory.
  • 96affected
    Sprawdza, czy dana podatność CVE, GHSA lub OSV dotyczy agentów, serwerów MCP, obrazów lub pakietów i podaje wersję do poprawy.
  • 96affected
    Sprawdza, czy dana podatność CVE, GHSA lub OSV dotyczy agentów, serwerów MCP, obrazów lub pakietów własnego środowiska, i podaje wersję poprawki.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.