Security

Patches

Go programming language arrives at security warnings that are useful

Low-noise tool hopes to highlight vulnerabilities imported into projects


The open source Go programming language, developed by Google, has added support for vulnerability management in a way designed to preserve programmers' patience.

The Go team recently set up a website at vuln.go.dev to host a selection of known vulnerabilities in packages that can be imported from public Go modules. These chosen vulnerabilities have been curated and reviewed by the Go security team, based on CVEs, GitHub Security Advisories, and reports from maintainers.

Presumably, this results in a high-quality database of flaws because the inconsequential issues have been filtered out. But there's more to it than selectivity.

On Tuesday, Julie Qiu, a member of that team, described Go's approach, which is notably different from, say, the way GitHub's npm CLI handles vulnerabilities in the JavaScript ecosystem.

Back in 2018, before its acquisition by GitHub, npm introduced an audit command, to find and identify npm packages with known vulnerabilities in apps that rely on npm for package management.

But using npm audit proved problematic because it flooded developers with false alarms, prompting Facebook software engineer Dan Abramov last year to declare, "npm audit is a stain on the entire npm ecosystem."

Though npm has seen some improvements since then, npm's overeager vulnerability reporting appears to remain unresolved.

Go, on the other hand, has implemented a more targeted approach with its govulncheck command, which in conjunction with vuln.go.dev serves as "a low-noise, reliable way for Go users to learn about known vulnerabilities that may affect their projects."

And there's also the related vulncheck package which exports govulncheck’s functionality as a Go API, for integration with security tools.

"Govulncheck analyzes your codebase and only surfaces vulnerabilities that actually affect you, based on which functions in your code are transitively calling vulnerable functions," said Qiu in a blog post.

The package documentation explains that govulncheck "uses static analysis of source code or a binary's symbol table to narrow down reports to only those that could affect the application."

That bit about low-noise and alerting developers only to relevant vulnerabilities is the key. It means fewer false alarms, though it won't necessarily eliminate them entirely. The documentation for the command states that the code's conservative approach to function pointer and interface calls "may result in false positives or inaccurate call stacks in some cases," among other limitations.

Even so, this should be a significant improvement over the way current Go vulnerability scanners rely on go.sum files to check the cryptographic hashes of Go modules. ®

Send us news
6 Comments

Dump C++ and in Rust you should trust, Five Eyes agencies urge

Memory safety vulnerabilities need to be crushed with better code

Uh-oh, update Google Chrome – exploit already out there for one of these 6 security holes

Plus: 3 critical CVEs in Zyxel NAS devices

Polish train maker denies claims its software bricked rolling stock maintained by competitor

Says it was probably hacked, which isn't good news either

Weak session keys let snoops take a byte out of your Bluetooth traffic

BLUFFS spying flaw present in iPhones, ThinkPad, plenty of chipsets

Boffins fool AI chatbot into revealing harmful content – with 98 percent success rate

This one weird trick works every time, most of the time

Proposed US surveillance regime would enlist more businesses

Expanded service provider definition could force cafes and hotels to spy for the feds

Atlassian security advisory reveals four fresh critical flaws – in mail with dead links

Bitbucket, Confluence and Jira all in danger, again. Sigh

Boffins devise 'universal backdoor' for image models to cause AI hallucinations

Data poisoning appears open to all

Today's 'China is misbehaving online' allegations come from Google, Meta

Zuck boots propagandists, Big G finds surge of action directed at Taiwan

Google launches Gemini AI systems, claims it's beating OpenAI and others - mostly

Gemini accepts text, images, audio, and video and comes in three flavors

Either the FBI is recruiting in Iran – or some govt Google ad buyers are getting a lousy deal

Advertisers may be surprised to find where their banners appear

Google releases fix for missing Drive for desktop files

Just install the latest client and follow the instructions, but don't ask questions