Advisories
Query advisories.ecosyste.ms for security vulnerability metadata aggregated from GitHub Security Advisories, OSV, RustSec, ErlEf and others. Use when checking a package or repo for known CVEs, listing recent advisories for an ecosystem, or fetching CVSS/EPSS scores and patched version ranges.From its SKILL.md
npx -y skills add ecosyste-ms/skills --skill advisoriesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 7 commands, including `curl -s 'https://advisories.ecosyste.ms/api/v1/advisories/lookup?purl=pkg:npm/[email protected]'` and 6 more.
- fetches URLsInstructs the agent to fetch 7 URLs, including https://advisories.ecosyste.ms/api/v1/advisories/lookup?purl=pkg:npm/[email protected] and 6 more.
SKILL.md
2.5 KB, 627 tokens by cl100k_base, as published. Nobody here has run it
ecosyste.ms Advisories API
Base URL: https://advisories.ecosyste.ms/api/v1
All responses are JSON. No auth required. Set a User-Agent header. Results are deduplicated by CVE across sources.
Full OpenAPI spec: https://advisories.ecosyste.ms/docs/api/v1/openapi.yaml
Look up advisories for a package or repo
By purl (include a version to get only advisories affecting that version) or by source repository URL:
curl -s 'https://advisories.ecosyste.ms/api/v1/advisories/lookup?purl=pkg:npm/[email protected]'
curl -s 'https://advisories.ecosyste.ms/api/v1/advisories/lookup?repository_url=https://github.com/rails/rails'
List and filter advisories
# all advisories for a package
curl -s 'https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=django'
# critical severity only, newest first
curl -s 'https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&severity=CRITICAL&sort=published_at&order=desc'
# everything published since a date
curl -s 'https://advisories.ecosyste.ms/api/v1/advisories?created_after=2026-01-01T00:00:00Z'
Filters: ecosystem, package_name, severity (LOW/MODERATE/HIGH/CRITICAL), repository_url, source, created_after, updated_after, sort, order, page, per_page.
Single advisory
curl -s 'https://advisories.ecosyste.ms/api/v1/advisories/GHSA-jf85-cpcp-j695'
Sources
curl -s 'https://advisories.ecosyste.ms/api/v1/sources'
Response fields
uuid, title, description, severity, cvss_score, cvss_vector, epss_percentage, epss_percentile, published_at, withdrawn_at, identifiers (CVE/GHSA ids), references, repository_url, blast_radius, source_kind, packages[] (each with ecosystem, package_name, purl, versions[].vulnerable_version_range, versions[].first_patched_version, affected_versions, unaffected_versions).
When to use
- Checking whether a specific package@version has known vulnerabilities
- Auditing a project's dependency list against known CVEs
- Finding the first patched version for an advisory
- Tracking new advisories published for an ecosystem since a given date
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most security skills give in 627 tokens
Counted across 666 of the 889 authors here whose files we hold, read 2026-09-06
- Use parameterized queries for database accessin 82 of 666, across 79 files
- Hash passwords with BCryptin 55 of 666, across 39 files
- Implement rate limiting for public endpointsin 48 of 666, across 34 files
- Use environment variables for secretsin 35 of 666
- Scan dependencies for vulnerabilitiesin 35 of 666, across 24 files
- Validate and sanitize all user inputin 35 of 666, across 32 files
- Add security headers to all responsesin 34 of 666, across 20 files
- Validate all external input at the system boundaryin 26 of 666, across 25 files
- Use parameterized queries to prevent SQL injectionin 25 of 666, across 13 files
- Store secrets in Vault or environment variablesin 25 of 666, across 10 files
- Run containers as a non-root userin 21 of 666, across 18 files
- Validate all input using Bean Validationin 19 of 666, across 5 files
Said here and by no other author read
- Set a User-Agent header for all requests
- Use purl to lookup package vulnerabilities
- Use repository URL to lookup project vulnerabilities
- Filter advisories by ecosystem and severity
- Sort results by publication date
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.