GitHunt

GUAC: Graph for Understanding Artifact Composition

build PkgGoDev Go Report Card
OpenSSF Scorecard

Note: GUAC is under active development - if you are interested in
contributing, please look at contributor guide. GUAC is an
OpenSSF incubating project under the
Supply Chain Integrity WG.

Graph for Understanding Artifact Composition (GUAC)
aggregates software security metadata into a high fidelity graph
database—normalizing entity identities and mapping standard relationships
between them. Querying this graph can drive higher-level organizational outcomes
such as audit, policy, risk management, and even developer assistance.

Conceptually, GUAC occupies the “aggregation and synthesis” layer of the
software supply chain transparency logical model:

image

A few examples of questions answered by GUAC include:

image

Quickstart

Our documentation is a good place to get started.

We have various demos use cases that you
can take a look.

Starting the GUAC services with our
docker compose quickstart.

Docs

All documentation for GUAC lives on docs.guac.sh, backed
by the following docs github repository.

Architecture

Here is an overview of the architecture of GUAC:

guac_api

For an in-depth view and explanation of components of the GUAC Beta, please
refer to how GUAC works.

Supported input documents

Note that GUAC uses software identifiers standards to help link metadata
together. However, these identifiers are not always available and heuristics
need to be used to link them. Therefore, there may be unhandled edge cases and
errors occurring when ingesting data. We appreciate it if you could create a
data quality issue
if you encounter any errors or bugs with ingestion.

GraphQL backends

GUAC supports multiple backends behind a software
abstraction layer. The GraphQL API is always the same and clients should be
unaffected by which backend is in use. The backends are categorized into:

  1. Supported/Unsupported: Supported backends are those which the GUAC project
    is committed to actively maintain. Unsupported backends are not actively
    maintained but will accept community contributions.

  2. Complete/Incomplete: Complete backends support all mandatory GraphQL
    APIs. Incomplete backends support a subset of those APIs and may not be
    feature complete.

  3. Optimized: The backend has gone through a level of optimization to help
    improve performance.

The two backend that are Supported, Complete, and Optimized are:

The other backends are:

Additional References

Communication

For more information on how to get involved in the community, mailing lists and
meetings, please refer to our community page

For security issues or code of conduct concerns, an e-mail should be sent to
GUAC-Maintainers@lists.openssf.org.

Governance

Information about governance, including the project charter, can be found in the
guacsec/governance repo.

Languages

Go99.6%Makefile0.3%Shell0.1%Starlark0.0%Dockerfile0.0%Nix0.0%
Apache License 2.0
Created June 10, 2022
Updated March 10, 2026
guacsec/guac | GitHunt