guacsec/guac

GitHub: guacsec/guac

将分散的软件安全元数据聚合为图数据库,实现软件供应链关系的深度查询和追溯。

Stars: 1450 | Forks: 194

# GUAC:理解工件组合的图数据库

[![build](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/240a9ff9c2184541.svg)](https://github.com/guacsec/guac/actions?query=workflow%3Arelease) [![PkgGoDev](https://pkg.go.dev/badge/github.com/guacsec/guac)](https://pkg.go.dev/github.com/guacsec/guac) [![Go Report Card](https://goreportcard.com/badge/github.com/guacsec/guac)](https://goreportcard.com/report/github.com/guacsec/guac) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/guacsec/guac/badge)](https://api.securityscorecards.dev/projects/github.com/guacsec/guac) **注意:** GUAC 正处于活跃开发阶段 - 如果您有兴趣 做出贡献,请查看[贡献者指南](CONTRIBUTING.md)。GUAC 是 [OpenSSF](https://openssf.org) 下属 [Supply Chain Integrity WG](https://github.com/ossf/wg-supply-chain-integrity) 的一个孵化项目。 [Graph for Understanding Artifact Composition (GUAC)](https://guac.sh/) 将软件安全元数据聚合到高保真图数据库中——规范化实体身份并映射它们之间的标准关系。查询该图可以推动更高层级的组织成果,例如审计、策略、风险管理甚至开发人员协助。 从概念上讲,GUAC 占据了软件供应链透明度逻辑模型中的“聚合与合成”层: ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/3940c822db184543.png) GUAC 可以回答的问题包括: ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/7d174d085f184546.png) ## 快速开始 我们的[文档](https://docs.guac.sh/)是一个很好的入门点。 我们提供了各种[演示用例](https://docs.guac.sh/guac-use-cases/)供您 查看。 使用我们的 [docker compose 快速入门](https://docs.guac.sh/setup/) 启动 GUAC 服务。 ## 文档 GUAC 的所有文档都位于 [docs.guac.sh](https://docs.guac.sh),由以下 [docs github repository](https://github.com/guacsec/guac-docs) 提供支持。 ## 架构 以下是 GUAC 的架构概览: ![guac_api](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/890b779971184549.png) 有关 GUAC Beta 组件的深入视图和解释,请参阅 [GUAC 工作原理](https://docs.guac.sh/how-guac-works/)。 ## 支持的输入文档 - [CycloneDX](https://github.com/CycloneDX/specification) - [Dead Simple Signing Envelope](https://github.com/secure-systems-lab/dsse) - [Deps.dev API](https://deps.dev/) - [In-toto ITE6](https://github.com/in-toto/attestation) - [OpenSSF Scorecard](https://github.com/ossf/scorecard) - [OSV](https://osv.dev/) - [SLSA](https://github.com/slsa-framework/slsa) - [SPDX](https://spdx.dev/specifications/) - [CSAF/CSAF VEX](https://docs.oasis-open.org/csaf/csaf/v2.0/os/csaf-v2.0-os.html) - [OpenVEX](https://github.com/openvex) 请注意,GUAC 使用软件标识符标准来帮助链接元数据。然而,这些标识符并不总是可用的,需要使用启发式方法来链接它们。因此,在摄取数据时可能会出现未处理的边缘情况和错误。如果您在摄取过程中遇到任何错误或 bug,如果您能提交一个[数据质量问题](https://github.com/guacsec/guac/issues/new?assignees=&labels=bug%2C+data-sources%2C+data-quality&projects=&template=bug_report_ingestion.md&title=%5Bingestion%2Fdata-quality+issue%5D+FILL+THIS+IN),我们将不胜感激。 ## GraphQL 后端 GUAC 在软件抽象层之后支持多种[后端](pkg/assembler/backends)。GraphQL API 始终相同,客户端不受所用后端的影响。后端分类如下: 1. 支持/不支持:支持的后端是指 GUAC 项目承诺积极维护的后端。不支持的后端不积极维护,但接受社区贡献。 2. 完整/不完整:完整的后端支持所有强制性的 GraphQL API。不完整的后端仅支持这些 API 的一个子集,可能功能不完整。 3. 已优化:后端经过一定程度的优化以帮助提高性能。 两个受支持、完整且已优化的后端是: - [keyvalue(受支持、完整、已优化)](https://github.com/guacsec/guac/tree/main/pkg/assembler/backends/keyvalue): 一个非持久化的内存后端,不需要任何额外的基础设施。同时也作为 API 实现的一致性后端。如果您刚开始使用 GUAC,我们建议从这个开始! - [ent(受支持、完整、已优化)](https://github.com/guacsec/guac/tree/main/pkg/assembler/backends/ent) 配合 [PostgreSQL](https://www.postgresql.org/):一个基于 [Entity Framework for Go](https://entgo.io/) 的持久化后端,可以在各种 SQL 后端上运行。GUAC 仅支持配合 PostgreSQL 使用 ent。其他 ent 后端如 [MySQL](https://www.mysql.com/) 和 [SQLite](https://www.sqlite.org/index.html) 不受支持。 其他后端包括: - [arangoDB(不受支持、不完整、已优化)](https://github.com/guacsec/guac/tree/main/pkg/assembler/backends/arangodb): 基于 [ArangoDB](https://arangodb.com/) 的持久化后端 - [neo4j/openCypher(不受支持、不完整)](https://github.com/guacsec/guac/tree/main/pkg/assembler/backends/neo4j): 基于 [neo4j](https://neo4j.com/) 和 [openCypher](https://opencypher.org/) 的持久化后端。该后端应适用于任何支持 openCypher 查询的数据库。 - [keyvalue: Redis(实验性、完整)](/pkg/assembler/kv/redis): 默认的 keyvalue 后端,但使用 Redis 作为存储。 - [keyvalue: TiKV(实验性、完整)](/pkg/assembler/kv/tikv): 默认的 keyvalue 后端,但使用 [TiKV](https://tikv.org/) 作为存储。 ## 附加参考 - [GUAC 用例](use-cases.md) - [GUAC 在 OSS NA 2023 的演讲](https://sched.co/1K5Hn) - [GUAC 2023 年第一季度维护者峰会笔记](https://docs.google.com/document/d/15Kb3I3SWhq-9_R7WYhSjsIxn_FykYgPyFlQWlLgF4fA/edit) - [GUAC 在 KubeCon NA 2022 的演讲](https://www.youtube.com/watch?v=xFRNgIEzbkA) - [GUAC 介绍幻灯片](https://docs.google.com/presentation/d/1WF4dsJiwR6URWPgn1aiHAE3iLVl-oGP4SJRWFpcOlao/edit#slide=id.p) - [GUAC 设计文档](https://docs.google.com/document/d/1N5x0HErb-kmCPgG9M8TwBEOGIVU54clqp_X4KhtNJI8/edit) ## 交流 有关如何参与社区、邮件列表和会议的更多信息,请参阅我们的[社区页面](https://guac.sh/community/) 对于安全问题或行为准则疑虑,应发送电子邮件至 GUAC-Maintainers@lists.openssf.org。 ## 治理 有关治理的信息,包括项目章程,可以在 [guacsec/governance repo](https://github.com/guacsec/governance) 中找到。
标签:DNS 解析, EVTX分析, EVTX分析, Force Graph, Go语言, GPT, Lerna, OpenSSF, SBOM, WebSocket, 依赖分析, 动态调试, 合规性审计, 威胁情报, 安全元数据聚合, 安全态势感知, 开发者工具, 搜索引擎查询, 文档安全, 日志审计, 构件组成图谱, 测试用例, 溯源分析, 漏洞管理, 硬件无关, 程序破解, 策略执行, 请求拦截, 跌倒检测, 身份规范化, 软件供应链安全, 软件开发工具包, 软件物料清单, 软件透明度, 远程方法调用