mathewboswell.com — llms-summarize-advisories-breaking-changes.md
guest@mathewboswell:~$ cat llms-summarize-advisories-breaking-changes.md

Using LLMs to Summarize Security Advisories and Breaking Changes

2024-07-21 · # security # llms # vulnerability-management

Reading advisories is part of the job. So is reading release notes before an upgrade. Neither is especially pleasant.

Advisories vary in quality and format. Some state affected versions clearly in a structured table. Others describe the issue in a paragraph and mention the fixed version in passing near the bottom. Release notes for a major upgrade can run to dozens of pages, with the one breaking change that affects you buried in the middle.

Summarizing that material is a reasonable job for an LLM. The key is making sure the summary stays tied to the evidence.

What a good advisory summary contains

Engineers deciding whether and how to act need consistent information:

  • What is affected: product, component, and version ranges
  • What is fixed: the version or versions that resolve the issue
  • The issue itself: what an attacker can do, in plain terms
  • Preconditions: configuration, features, or deployment patterns required for exploitation
  • Workarounds or mitigations if upgrading isn't immediately possible
  • Exploitation status if the source states it
  • Links to the original advisory, CVE record, and fix commit

Ask for the summary in a fixed structure every time. Consistency makes summaries quicker to read and easier to validate.

What a good breaking-change summary contains

For upgrades, the questions are different:

  • Which APIs, configuration options, or behaviors changed?
  • Which were removed or deprecated?
  • Are there new minimum requirements, such as runtime versions?
  • Is there a migration guide, and what are its key steps?
  • Which of these changes affect this codebase?

The last question is where an LLM adds the most. Given the release notes and the relevant source files or configuration, it can point out that a removed option is set in a specific file, or that a renamed function is called in specific places.

Preserve the evidence

The biggest risk with summaries is that they replace the source instead of pointing to it.

Every summary should:

  • Link to the original advisory or release notes
  • Quote or reference the specific passages supporting key claims, such as affected versions
  • Distinguish between what the source states and what the model inferred

That last distinction matters. "The advisory lists versions before 2.4.1 as affected" is a stated fact. "This likely affects your configuration because the vulnerable parser is enabled by default" is an inference that should be labeled as such.

Validate the facts

Structured fields like affected and fixed versions are exactly where a model can make a quiet, costly mistake. Validate them against structured data sources, such as OSV, GitHub Security Advisories, or the vendor's machine-readable feeds, wherever those exist.

If the model's summary disagrees with the structured source, flag it. Don't let the summary win.

Include verification steps

A summary should tell engineers how to confirm both exposure and remediation:

  • How to check which version is installed or deployed
  • How to check whether the vulnerable feature or configuration is in use
  • What a scan, test, or runtime check should show after the fix

This turns a summary from information into something an engineer can act on and close.

Watch for untrusted input

Advisories and release notes are third-party text. In most cases they're legitimate, but the pipeline should still treat them as data, not instructions. A changelog containing text designed to steer the model shouldn't be able to change its output format, alter recommendations, or influence what happens downstream.

Keep summarization output as text for humans and validated structured fields. Don't let summaries directly trigger automated actions without further checks.

Where summaries fit in the workflow

Summaries are most useful where engineers already work:

  • Attached to vulnerability tickets
  • Posted as comments on dependency update pull requests
  • Included in upgrade planning documents
  • Collected into a weekly digest of advisories relevant to your stack

Limits

Summaries compress. Something will always be left out. For high-risk decisions, such as an emergency patch on a critical system or a major upgrade with migration steps, engineers should still read the relevant parts of the original. The summary's job is to tell them which parts.

Models can also misread ambiguous advisories. When the source is unclear, the summary should say so rather than resolving the ambiguity on its own.

The value

Engineers spend less time digging through long, inconsistent documents and more time deciding what to do. That is a real gain, as long as every summary leads back to the source and every key fact is checked.

guest@mathewboswell:~$ cd /posts
guest@mathewboswell:/posts/llms-summarize-advisories-breaking-changes2026 — System 1.0