Safeguard
Developer Tools•

How do you follow security advisories for only the packages you use?

Follow advisories for your own stack, not the whole internet: GitHub watch settings, advisory database searches and registry feeds, with a checklist.

Safeguard Security Team
7 min read

Follow advisories for your own stack by combining three things: security alert watching on your key repositories, saved searches in an advisory database filtered by ecosystem and package, and registry feeds for the packages you care most about. Then read a short list, not the whole news cycle.

Why filter at all

Security news is a firehose. Most of it concerns software you do not run. Reading all of it feels responsible and mostly produces anxiety. A short, filtered list lets you spend your attention where an item can actually change your week.

The goal is not to miss the five items a quarter that matter, while ignoring the hundreds that do not.

Option 1: watch security alerts on your repositories

GitHub's notification documentation describes custom watch settings. For a single repository, you can choose to be notified only about certain event types: issues, pull requests, releases, security alerts or discussions. Choose security alerts for the repositories that matter most.

Two limits from the docs are worth knowing. You can watch at most 10,000 repositories. And notifications in the web inbox are kept for three months unless you save them, so copy anything you need into a ticket.

Option 2: search the advisory database by ecosystem and package

The GitHub Advisory Database is open for anyone to browse, and its search supports qualifiers. The documentation lists several that suit this job:

QualifierExample use
ecosystemecosystem:npm limits results to npm packages
affectsaffects:lodash limits results to one library
severityseverity:high filters by level
typetype:malware shows malware advisories
sortsort:updated-desc shows recently changed records first

Run a search such as ecosystem:npm type:malware sort:created-desc once a day, or whenever news breaks. The sort:updated-desc option is handy for catching edits to records you already read.

The docs also describe seeing which of your own repositories are affected by an advisory, through the Dependabot alerts link on the advisory page, if you have access to alerts for those repositories.

Option 3: use registry feeds for critical packages

PyPI documents RSS feeds, including a project releases feed with a URL of the form https://pypi.org/rss/project/PROJECT_NAME/releases.xml. Subscribing to the feed for a handful of critical Python dependencies means a new release shows up in your reader, which helps when a quiet package suddenly ships something.

A setup checklist

  1. List your top ten critical packages per ecosystem, from your inventory.
  2. Turn on security alert notifications for the repositories where they run.
  3. Save one advisory database search per ecosystem you use.
  4. Subscribe to release feeds for the packages where a bad release would hurt most.
  5. Pick one owner and one time of day to read the list.
  6. Write down where each item goes: ticket, chat channel or ignore.

Revisit the list quarterly. Stacks change and so should the filters.

A worked example

Take a small team that ships a web app on Node and a data job on Python. Their inventory shows about 400 direct and transitive packages, but ten matter most: the web framework, the authentication library, the database driver, the HTTP client, the build tool, plus a handful in Python for data access and scheduling.

They set up three simple things.

  1. Each of the two repositories is set to notify on security alerts only. No issue chatter, no release noise.
  2. Two saved advisory searches. One looks at npm advisories with the malware type, sorted newest first. The other filters npm and pip advisories affecting each of the ten named packages, sorted by recently updated.
  3. Release feeds for the four Python packages that matter most, delivered to a shared reader.

Every weekday at 09:30 one person spends ten minutes on the three sources. Most days the list is empty or irrelevant. Once in a while an item names one of the ten packages, and it goes straight to a ticket with a primary source link and a first check. The rest of the team reads one short note a week.

How to pick your critical list

Your critical packages are not the most popular ones. They are the ones where a bad release would hurt you most. Ask these questions about each direct dependency.

  • Does it run during build or deploy, where it can read secrets?
  • Does it handle authentication, sessions or cryptography?
  • Does it sit on the path of user data?
  • Is it hard to replace quickly?

A yes to any of these puts a package on your list. Aim for ten to twenty per ecosystem. A longer list stops being a filter.

Match the source to the question

You want to knowUse
Is something I depend on newly flagged?Repository security alerts
Is anything malicious appearing in my ecosystem?A saved malware search
Did a key package just ship a release?A registry release feed
Did a record I already read change?An advisory search sorted by recently updated

Each source answers a different question, which is why one source is rarely enough.

Keep the habit from decaying

Filters rot. Teams add dependencies, drop others and change owners. Put a quarterly reminder on the calendar to refresh the critical list from your current inventory, delete saved searches that no longer match, and confirm that the person who reads the feed still works on the project. When that person is on leave, name a backup.

Also check that the reading time is realistic. Ten focused minutes a day is sustainable. An hour of scrolling is not, and the habit will quietly die.

What to do with an item

Triage in three moves. First, does it name something you run, in a version you run? Second, if so, open a ticket with the source link, archive the page and note the time. Third, if not, note "not affected" with the reason and move on. See the earlier posts on archiving a write-up and on documenting a not affected decision.

Try it yourself

Click through it at your own pace, or open it full screen. Use it to see what a watch list for new issues looks like, then think about how you would narrow it to your own stack.

Safeguard's zero-day discovery and SBOM inventory are built to do that narrowing for you, matching new findings against what you actually run.

Quick check

Is one feed enough?

No single source covers everything. Combine repository alerts, an advisory search and feeds for your critical packages.

Can I keep GitHub notifications as my record?

Not for long. The inbox keeps notifications for three months unless saved, so copy decisions into a ticket.

How many packages should be on my critical list?

Ten to twenty per ecosystem is a workable range. Beyond that the list stops filtering and becomes another feed to skim.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.