invuln

module
v0.0.0-...-25b3ae5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2024 License: BSD-3-Clause

README

Invulnerable - Modified Mirror of Vuln

A portmanteau of internal and vuln to be invuln. The actual authors have better taste. :)

vuln, the database client and tools for the Go vulnerability database, are state-of-art code analysis, but many interesting parts are inside the internal package so the implementation details are able to change without breaking any implied compatibility guarantee.

While I understand this, it makes me sad as I want to play with their toys, but for different purposes.

Specifically, I would like to use their static analysis to visualize and document bespoke Go workflows from request/event entry points to their side effects.

Imagine automatically creating an HTML document for every Pub/Sub or HTTP Request event handler that describes the event and documents where it goes from there, linking to the HTML document for any next steps (by analyzing the , and creating a nice little diagram.

See also:

Anyway, this repo was forked and just renamed the internal to external so I could import some unstable implementation details in my own tool.

I didn't do anything else original here (I mean, the invulnerable pun was mine), and only want to use this code as a library when I'm doing stuff in other repositories.

Go Vulnerability Management

Go Reference

Go's support for vulnerability management includes tooling for analyzing your codebase and binaries to surface known vulnerabilities in your dependencies. This tooling is backed by the Go vulnerability database, which is curated by the Go security team. Go’s tooling reduces noise in your results by only surfacing vulnerabilities in functions that your code is actually calling.

You can install the latest version of govulncheck using go install

go install github.com/StevenACoffman/invuln/cmd/govulncheck@latest

Then, run govulncheck inside your module:

govulncheck ./...

See the govulncheck tutorial to get started, and https://go.dev/security/vuln for more information about Go's support for vulnerability management. The API documentation can be found at https://pkgo.dev/github.com/StevenACoffman/invuln/scan.

Privacy Policy

The privacy policy for govulncheck can be found at https://vuln.go.dev/privacy.

License

Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.

Database entries available at https://vuln.go.dev are distributed under the terms of the CC-BY 4.0 license.

Directories

Path Synopsis
cmd
govulncheck
Govulncheck reports known vulnerabilities that affect Go code.
Govulncheck reports known vulnerabilities that affect Go code.
Package external contains functionality for x/vuln.
Package external contains functionality for x/vuln.
client
Package client provides an interface for accessing vulnerability databases, via either HTTP or local filesystem access.
Package client provides an interface for accessing vulnerability databases, via either HTTP or local filesystem access.
derrors
Package derrors defines external error values to categorize the different types error semantics supported by x/vuln.
Package derrors defines external error values to categorize the different types error semantics supported by x/vuln.
gosym
Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers.
Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers.
goversion
Package goversion reports the Go version used to build program executables.
Package goversion reports the Go version used to build program executables.
govulncheck
Package govulncheck contains the JSON output structs for govulncheck.
Package govulncheck contains the JSON output structs for govulncheck.
openvex
Package vex defines the Vulnerability EXchange Format (VEX) types supported by govulncheck.
Package vex defines the Vulnerability EXchange Format (VEX) types supported by govulncheck.
osv
Package osv implements the Go OSV vulnerability format (https://go.dev/security/vuln/database#schema), which is a subset of the OSV shared vulnerability format (https://ossf.github.io/osv-schema), with database and ecosystem-specific meanings and fields.
Package osv implements the Go OSV vulnerability format (https://go.dev/security/vuln/database#schema), which is a subset of the OSV shared vulnerability format (https://ossf.github.io/osv-schema), with database and ecosystem-specific meanings and fields.
sarif
Package sarif defines Static Analysis Results Interchange Format (SARIF) types supported by govulncheck.
Package sarif defines Static Analysis Results Interchange Format (SARIF) types supported by govulncheck.
semver
Package semver provides shared utilities for manipulating Go semantic versions.
Package semver provides shared utilities for manipulating Go semantic versions.
vulncheck
Package vulncheck detects uses of known vulnerabilities in Go programs.
Package vulncheck detects uses of known vulnerabilities in Go programs.
web
Package scan provides functionality for running govulncheck.
Package scan provides functionality for running govulncheck.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳