Package monitoring connects FullHunt advisory records to a software inventory maintained outside FullHunt. An advisory match becomes actionable only after its affected ranges are compared with versions you operate.

Requirements

  • OEM Vulnerability Intelligence access
  • A normalized package name and ecosystem from your software bill of materials
  • A scheduled job that runs at least once inside the selected feed window
  • Python 3.10 or later with requests
The OEM feed accepts a 1 through 7 day window and up to 100 results per page. Each successful page request deducts one OEM credit.

Run the monitor

monitor_package_vulnerabilities.py

Match installed versions

For each returned affected entry:
  1. Match the advisory ecosystem and package to a component in your software bill of materials.
  2. Evaluate the installed version against every introduced, fixed, and last-affected boundary.
  3. Keep aliases such as CVE and GHSA identifiers on one internal issue to avoid duplicate tickets.
  4. Use CISA Known Exploited Vulnerabilities (KEV), Exploit Prediction Scoring System (EPSS), exploit evidence, external exposure, and asset importance as separate prioritization inputs.
  5. Close the issue only after the deployed version or compensating control is verified.
Do not compare versions as plain strings. Use the ecosystem’s version parser and range semantics.

Initial baseline and scheduling

The recent feed is intended for recurring collection, not a complete historical package inventory. POST /oem/vulnerability-intelligence/advisories-search can provide an initial package search, but it returns a bounded result set without page controls. Record that limitation in the baseline. Run with overlapping windows, such as every day with DAYS=2. Deduplication prevents overlap from creating duplicate issues. Preserve cutoff_epoch so delayed or failed runs are visible.