Skip to main content

go-inspector is a scancode plugin to extract symbols and dependencies found in Go binaries.

Project description

go-inspector is a utility to extract dependencies and symbols from Go binaries. It is designed to work as a ScanCode Toolkit plugin and integrated in ScanCode.io

To install and use:

  • Run pip install go-inspector

  • Use with scancode --json-pp - --go-symbol --verbose <PATH to a tree or file with Go binaries>

The JSON output will contain various dependencies and symbols found in Go binaries if any.

  • License: Apache-2.0 AND MIT AND BSD-3-Clause WITH LicenRef-scancode-google-patent-license-golang

  • Copyright (c) nexB Inc., Mandiant, The Go Authors, Elliot Chance and others.

  • Homepage: https://github.com/nexB/go-inspector/

See the src/go_inspector/bin for detailed license and credits for bundled third-party packages.

Development

  • Install requirements and dependencies using make dev

  • Then source venv/bin/activate

Testing:

  • To run tests: pytest -vvs

  • To regen test fixtures: SCANCODE_REGEN_TEST_FIXTURES=yes pytest -vvs

  • To update the bundled GoReSym, see src/bin/update.sh

How to re-generate test binaries

These are compiled (and committed) from code in tests/data/basic :

  • Run go tool dist list to get all possible pairs of OSes and arches to compile the binary.

  • Then build a OS/arch pair like this to get compiled binaries: GOOS=<OS> GOARCH=<arch> go build -o ./tests/data/basic/app_<OS>_exe ./tests/data/main.go

  • Make a copy and run strip of the Linux executable as “app_lin_exe_stripped”

Funding and sponsoring

This project is funded in part through:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

go_inspector-0.3.1.tar.gz (5.5 MB view hashes)

Uploaded Source

Built Distribution

go_inspector-0.3.1-py3-none-any.whl (1.3 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page