chainguard-dev/sdk

GitHub: chainguard-dev/sdk

Chainguard 平台的官方 SDK,提供 gRPC proto 定义和 Go 代码,用于集成其加密文档管理与 OSV 漏洞查询服务。

Stars: 2 | Forks: 26

# SDK 本仓库包含支持我们服务的公开 [gRPC](https://grpc.io/) proto,以及旨在简化与 Chainguard 平台集成的软件包。 ## 更新 `*.proto` 文件 更新 `*.proto` 后,您需要更新对应的生成的 Go 代码。 ### 使用 Docker(推荐) 在预装所有依赖的临时容器中运行 codegen: ``` ./hack/update-codegen-docker.sh ``` 这需要 Docker,但无需在本地安装 `protoc` 或其插件。 ### 本地运行 ``` ./hack/update-codegen.sh ``` #### 前置条件 安装 `protoc` [v34.1](https://github.com/protocolbuffers/protobuf/releases/tag/v34.1): 我们目前要求 `protoc` 版本为 v34.1。 安装 `protoc` codegen 依赖: ``` go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.11 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.1 go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@v2.22.0 go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@v2.22.0 ``` ## Argos 平台服务 `proto/platform/argos/v1` 软件包通过平台 endpoint 暴露两个 gRPC 服务。 ### ArgosDocuments `ArgosDocuments` 用于管理组织范围(organization-scoped)且经过客户端加密的文档。 根据具体操作,调用方需要具备 `CAP_ARGOS_DOCUMENTS_CREATE`、`CAP_ARGOS_DOCUMENTS_LIST` 或 `CAP_ARGOS_DOCUMENTS_DELETE` 权限之一。文档在上传前会在客户端进行加密;服务器永远不会持有明文。 ### ArgosOSV `ArgosOSV` 提供对私有 OSV 共享语料库的 OSV 格式漏洞查询访问。所有持有 `CAP_ARGOS_OSV_READ` 的 Argos 成员都能看到相同的记录集——没有针对每个组织的过滤。该服务暴露三个 RPC: | RPC | HTTP | 描述 | |-----|------|-------------| | `Query` | `POST /argos/v1/osv/query` | 查询特定版本的 package 受到的 vulnerabilities | | `QueryBatch` | `POST /argos/v1/osv/querybatch` | Query 的批量请求形式 | | `GetVuln` | `GET /argos/v1/osv/vulns/{id}` | 通过 ID 获取单个 OSV 记录 | 记录以 [OSV schema](https://ossf.github.io/osv-schema/) 格式返回。 ## Breaking Changes 虽然我们尽一切努力保持向后兼容性并避免 breaking changes,但我们无法保证未来对此 SDK 的更新完全没有 breaking changes。随着我们平台的演进和新功能的增加,可能有必要对 API 接口进行一些修改。我们建议在生产环境中锁定特定版本,并在部署前对更新进行彻底的测试。
标签:Chainguard, EVTX分析, gRPC, Python工具, 日志审计, 漏洞查询, 请求拦截