The Patchlynx blog

AppSec Signal

Technical writing on dependency security, call-graph reachability, SCA triage, and what it actually takes to reduce MTTR on reachable CVEs. No marketing, no roundups — practitioner-first.

Abstract visualization of risk scoring — many bars with one highlighted as significant

Why CVSS Scores Lie to Your Security Team

A CVSS 9.8 in a package your application never calls is noise. Here's why the scoring system was never designed to tell you whether your specific code is exposed.

Read article
Abstract call graph network visualization with illuminated path

Call Graph Analysis: A Practical Primer for AppSec Engineers

Before you can know which CVEs matter, you need to understand how your code actually executes. A call graph traces the reachable paths — this is how to read one.

Read article
Abstract visualization of large overwhelming queue versus small manageable list

Dependency Triage at Scale: What 50 Deploys a Week Does to Your Patch Queue

Engineering teams shipping fast accumulate CVE debt faster than they can triage it. We analyzed what the backlog looks like at 50+ deploys per week — and how to stop it growing.

Read article
Abstract visualization of two data streams merging for vulnerability intelligence

OSV vs NVD: Which Advisory Feed Should Your Tool Trust?

The Open Source Vulnerability database and the National Vulnerability Database have different update cadences, coverage gaps, and CVSS scoring philosophies. Here's the practical difference for AppSec tooling.

Read article
Abstract warning visualization — a path that appears connected but has a gap

The Reachability Analysis False Positive: When We Get It Wrong

Static call graph analysis can miss dynamic dispatch patterns, reflection, and certain polymorphic call sites. Here's an honest look at Patchlynx's known blind spots and how we're addressing them.

Read article
Abstract visualization of a filtered pipeline — most items passing, one blocked

How to Set Up PR-Blocking Security Gates Without Destroying Developer Velocity

Blocking PRs on every CVSS 7+ is how you get engineers to bypass your security scanner. Reachability-scoped gates block on confirmed exploitability only — here's the configuration pattern.

Read article
Abstract deep dependency tree — hundreds of small nodes with a few highlighted

The Hidden Risk in Your Node.js Transitive Dependencies

The average Node.js application has 800+ transitive dependencies. Most AppSec tools score them all equally. Reachability analysis shows which 12 actually matter to your running code.

Read article
Abstract visualization of dynamic code paths — branching and unpredictable routes

Python Dependency Vulnerability Patterns That Static Analysis Misses

Python's dynamic import system and conditional dependencies create call-graph edges that naive static analysis can't follow. Here's how Patchlynx handles the common patterns.

Read article
Abstract sprint board visualization with security tasks integrated cleanly

The AppSec Engineer's Sprint Workflow: Fitting Patch Triage Into a Two-Week Cycle

Most security teams don't have their own sprint — they interrupt engineering. Here's a workflow pattern for embedding reachability-prioritized patch work into a two-week engineering cycle without becoming the bottleneck.

Read article
Abstract visualization of widespread vulnerability blast radius through an application network

What log4shell Taught Us About Reachability (And What We Still Got Wrong)

Log4Shell's broad blast radius came partly from call paths that teams didn't know existed. The post-mortem analysis revealed something interesting: reachability tools had the data — but nobody was reading it.

Read article
Abstract visualization of accelerating resolution rate over time — metrics trending up

How to Measure Patch Velocity (And Why Most Teams Track the Wrong Metric)

Time-to-patch is a vanity metric if you're patching the wrong things. The right measure is time-to-patch for confirmed-reachable CVEs. Here's how to instrument it.

Read article