Programming language: Go
License: BSD 2-clause "Simplified" License
Tags: Security    
Latest version: v4.0.2

go-yara alternatives and similar packages

Based on the "Security" category.
Alternatively, view go-yara alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of go-yara or a related project?

Add another 'Security' Package




PkgGoDev Travis Go Report Card

Go bindings for YARA, staying as close as sensible to the library's C-API while taking inspiration from the yara-python implementation.


On y Unix system, libyara version 4, corresponding header files, and pkg-config must be installed. Adding go-yara v4 to a project with Go Modules enabled, simply add the proper dependency…

import "github.com/hillu/go-yara/v4"

…and rebuild your package.

To install go-yara v4 to GOPATH, do:

go get github.com/hillu/go-yara/v4
go install github.com/hillu/go-yara/v4

If libyara has been installed to a custom location, the PKG_CONFIG_PATH environment variable can be used to point pkg-config at the right yara.pc file.

For anything more complicated, refer to the "Build Tags" section below. Instructions for cross-building go-yara for different operating systems or architectures can be found in [README.cross-building.md](README.cross-building.md).

Build Tags

Static builds

The build tag yara_static can be used to tell the Go toolchain to run pkg-config with the --static switch. This is not enough for a static build; the appropriate linker flags (e.g. -extldflags "-static") still need to be passed to the go tool.

Building without pkg-config

The build tag yara_no_pkg_config can be used to tell the Go toolchain not to use pkg-config's output. In this case, any compiler or linker flags have to be set via the CGO_CFLAGS and CGO_LDFLAGS environment variables, e.g.:

export CGO_CFLAGS="-I${YARA_SRC}/libyara/include"
export CGO_LDFLAGS="-L${YARA_SRC}/libyara/.libs -lyara"
go install -tags yara_no_pkg_config github.com/hillu/go-yara

YARA 4.x vs. earlier versions

This version of go-yara can only be used with YARA 4.0 or later.

Versions of go-yara compatible with YARA 3.11 are available via the v3.x branch or tagged v3.* releases.

Versions of go-yara compatible with earlier 3.x versions of YARA are available via the v1.x branch or tagged v1.* releases.


BSD 2-clause, see LICENSE file in the source distribution.


Hilko Bengen <[email protected]>

*Note that all licence references and agreements mentioned in the go-yara README section above are relevant to that project's source code only.