Sync upstream (3284e24) — needs conflict resolution - #12
guest-components-upstream-sync[bot] wants to merge 57 commits into
Conversation
Bumps [filetime](https://github.com/alexcrichton/filetime) from 0.2.27 to 0.2.29. - [Commits](alexcrichton/filetime@0.2.27...0.2.29) --- updated-dependencies: - dependency-name: filetime dependency-version: 0.2.29 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.4 to 4.35.5. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@68bde55...9e0d7b8) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.35.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.19.1 to 2.19.3. - [Release notes](https://github.com/step-security/harden-runner/releases) - [Commits](step-security/harden-runner@a5ad31d...ab7a940) --- updated-dependencies: - dependency-name: step-security/harden-runner dependency-version: 2.19.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [jwt-simple](https://github.com/jedisct1/rust-jwt-simple) from 0.12.15 to 0.12.16. - [Release notes](https://github.com/jedisct1/rust-jwt-simple/releases) - [Commits](jedisct1/rust-jwt-simple@0.12.15...0.12.16) --- updated-dependencies: - dependency-name: jwt-simple dependency-version: 0.12.16 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Extract the process_runtime_digest() helper function from the SE attester into a general-purpose utility function. Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
Use more secure SHA-512 algorithm for report data in IBM SEL instead of the fallback algorithm SHA-384. Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.52.2 to 1.52.3. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](tokio-rs/tokio@tokio-1.52.2...tokio-1.52.3) --- updated-dependencies: - dependency-name: tokio dependency-version: 1.52.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the cargo group with 1 update in the / directory: [openssl](https://github.com/rust-openssl/rust-openssl). Updates `openssl` from 0.10.79 to 0.10.80 - [Release notes](https://github.com/rust-openssl/rust-openssl/releases) - [Commits](rust-openssl/rust-openssl@openssl-v0.10.79...openssl-v0.10.80) --- updated-dependencies: - dependency-name: openssl dependency-version: 0.10.80 dependency-type: direct:production dependency-group: cargo ... Signed-off-by: dependabot[bot] <support@github.com>
Our resource URI doc is out-of-date. Let's update it to reflect how we actually use resource URIs and to clarify the relationship between resource URIs and the KBS API. This has confused a number of people in the past. Also, let's introduce a mechanism for specifying the plugin in the resource URI. Specifically, let's allow people to specify the plugin in the scheme. Signed-off-by: Tobin Feldman-Fitzthum <tfeldmanfitz@nvidia.com>
Allow the plugin to be specifid as part of the scheme. For example, kbs+plugin:///a/b/c Signed-off-by: Tobin Feldman-Fitzthum <tfeldmanfitz@nvidia.com>
Fixup a couple of checks based on the scheme to allow for plugins Signed-off-by: Tobin Feldman-Fitzthum <tfeldmanfitz@nvidia.com>
The keyprovider does some manipulation of the resource uri. Update this so that it will work if the uri specifies a plugin. Signed-off-by: Tobin Feldman-Fitzthum <tfeldmanfitz@nvidia.com>
Allow plugins in the resource uri scheme Signed-off-by: Tobin Feldman-Fitzthum <tfeldmanfitz@nvidia.com>
Add support for kbs+plugin URI path. When the path is `kbs+plugin:///`, use `try_from()` to get also plugin name. Signed-off-by: Matias Ezequiel Vara Larsen <mvaralar@redhat.com>
The upstream astral-tokio-tar does not handle correctly about uid/gid, mode for different kind of files. Thus we are always doing some patching work in image-rs. Because of the changes will also modify mtime, so we should also care about the mtime of the files. This patch does a refactoring about the logic, and make it more clear about what we are doing in image-rs. Also, the unpack logic should also keep the root dir "." with the mtime it declares in the tar header. This is also fixed by the patch. But note that the image-rs pulled rootfs is mounted by overlayfs. Overlayfs will use multiple different extracted directories, thus the target mount point's "." mtime cannot be determined by any of the tar files, so it's not the scope of this commit. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Bumps [astral-tokio-tar](https://github.com/astral-sh/tokio-tar) from 0.6.1 to 0.6.2. - [Release notes](https://github.com/astral-sh/tokio-tar/releases) - [Changelog](https://github.com/astral-sh/tokio-tar/blob/main/CHANGELOG.md) - [Commits](astral-sh/tokio-tar@v0.6.1...v0.6.2) --- updated-dependencies: - dependency-name: astral-tokio-tar dependency-version: 0.6.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Add an optional `encoding=base64` query parameter to `/aa/evidence`. When set, decode `runtime_data` with URL-safe base64 (no padding) before forwarding to the attestation agent. Preserve the existing behavior when `encoding` is omitted. Close confidential-containers#1434 Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Now in the kbs protocol level, the report_data/runtime_data digest could be set, thus the binding between device evidences and CPU evidence can be acieved for IBM SE. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.19.3 to 2.19.4. - [Release notes](https://github.com/step-security/harden-runner/releases) - [Commits](step-security/harden-runner@ab7a940...9af89fc) --- updated-dependencies: - dependency-name: step-security/harden-runner dependency-version: 2.19.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](docker/setup-buildx-action@4d04d5d...d7f5e7f) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.1.0 to 7.2.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](docker/build-push-action@bcafcac...f9f3042) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-version: 7.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [aes-kw](https://github.com/RustCrypto/key-wraps) from 0.2.1 to 0.3.0. - [Commits](RustCrypto/key-wraps@aes-kw-v0.2.1...aes-kw-v0.3.0) --- updated-dependencies: - dependency-name: aes-kw dependency-version: 0.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
new aes-kw 0.3.0 crate updates its api thus we need to update the crates. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Add GET /aa/additional-evidence so containers can obtain additional TEE evidence through api-server-rest. Reuse the same runtime_data query handling as /aa/evidence, including optional base64 encoding. Assisted-by: Cursor Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.13.3 to 0.13.4. - [Release notes](https://github.com/seanmonstar/reqwest/releases) - [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md) - [Commits](seanmonstar/reqwest@v0.13.3...v0.13.4) --- updated-dependencies: - dependency-name: reqwest dependency-version: 0.13.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Bumps [docker/login-action](https://github.com/docker/login-action) from 4.1.0 to 4.2.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](docker/login-action@4907a6d...650006c) --- updated-dependencies: - dependency-name: docker/login-action dependency-version: 4.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Attestation Agent's -V command, relies on "build::LAST_TAG" macro. This macro calls `git describe --tags --abbrev=0 HEAD` underlying. But the current AA release CI uses shalow clone, thus no tags is downloaded. The published AA now will have -V info like ``` attestation-agent -af4deffc supported attesters: SAMPLE, SAMPLE_DEVICE, TDX token plugins: KBS, COCO_AS ``` This fix will help to get proper tag before '-' Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Bumps [aes-kw](https://github.com/RustCrypto/key-wraps) from 0.3.0 to 0.3.1. - [Commits](RustCrypto/key-wraps@aes-kw-v0.3.0...aes-kw-v0.3.1) --- updated-dependencies: - dependency-name: aes-kw dependency-version: 0.3.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
This will help to clear memory of the aes-kw object after using it. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Upstream kernels with version >=6.7 now supports to get tdx quote via TSM configfs. Original libtdx-attest is using an old way of ioctl to get quotes. This patch removes the old way and only supports platforms with TSM support. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Before this commit, the caller of extend_runtime_measurement will always assumpt that the runtime measurement of current TDX environment is supported as `supports_runtime_measurement` always returns true. But actually runtime measurement is not always enabled, and the function `extend_runtime_measurement` would fail because of not supporting. Whether runtime measurement is supported is now judged when TdxAttester is created, by detecting whether tsm sysfs or libtdx-attester is enabled/compiled in. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Turn get_report into an instance method ioctl_get_report, drop TdxReportReq::Default in favor of explicit initialization, and add TDX_REGISTER_LENGTH for SHA384 register sizing. Fix the missing tracing::debug import and TDX_TSM_SYSFS_PATH reference introduced in the prior commit so the crate builds again. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Route extend_runtime_measurement, bind_init_data, and get_runtime_measurement through TSM sysfs when supports_sysfs is set at attester creation time (kernel >= 6.16). Fall back to ioctl report reads and libtdx-attest extend otherwise. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.2.1 to 2.2.2. - [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md) - [Commits](assert-rs/assert_cmd@v2.2.1...v2.2.2) --- updated-dependencies: - dependency-name: assert_cmd dependency-version: 2.2.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.5 to 4.36.0. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@9e0d7b8...7211b7c) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.36.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.7.0 to 4.1.0. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](docker/setup-qemu-action@c7c5346...0611638) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
OcicryptConfig::from_env currently returns Ok(None) silently when the environment variable (typically OCICRYPT_KEYPROVIDER_CONFIG) is not set in the calling process. Callers register zero keyproviders as a result, and any subsequent encrypted-image pull then fails downstream inside image-rs with a generic decrypt error such as "Failed to decrypt the image layer" or "missing private key needed for decryption". The actual root cause -- the missing env var -- is not surfaced anywhere in the error chain. This change emits a tracing::warn! when the environment variable is not present, naming the variable, describing the consequence, and linking to the keyprovider documentation. Behavior is otherwise unchanged: Ok(None) is still returned and the existing caller contract is preserved. The `tracing` dependency is added as optional and pulled in via the `keywrap-keyprovider` feature, since OcicryptConfig::from_env is only consumed inside the keyprovider registration block in lib.rs (already gated on `keywrap-keyprovider`). Non-keyprovider builds do not incur the `tracing` dependency. `from_env`, its only caller-helper `from_file`, and the dedicated test `test_ocicrypt_config` are all gated to the same feature so that `--no-default-features` builds stay clean under `-D dead_code`. `tracing::warn!` is used inline at the call site rather than via a `use` import, so no `#[cfg]`'d import block is needed. No functional change beyond the added warning. Encrypted-image flows that already set the env behave exactly as before. Signed-off-by: Abhishek Agrawal <abhishek.yours4@gmail.com>
Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Now the whole workspace uses protos crate to provide grpc/ttrpc implementations, so online_sev_kbc does not need to impl it ad-hoc. Also, fixed compilation error for bincode. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Generalize ResourceUri to carry an explicit plugin, optional query, and a variable-length segment path so arbitrary plugins and path depths are representable. Introduce ResourcePluginPath for the resource-plugin convention (repo/type/tag); the three-segment layout is specific to that plugin, not a global URI restriction. KbcInterface::get_resource still takes ResourceUri, but only cc_kbc forwards the URI unchanged to kbs_protocol; legacy KBCs (sample, offline_fs, online_sev) convert via ResourcePluginPath and only accept the Trustee "resource" plugin with a three-segment path. Update kbs_protocol clients to build KBS URLs from plugin() and the joined path. Refresh RESOURCE_URI.md accordingly. Rename kbs_addr to kbs_address Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Bumps [ctr](https://github.com/RustCrypto/block-modes) from 0.9.2 to 0.10.0. - [Commits](RustCrypto/block-modes@ctr-v0.9.2...ctr-v0.10.0) --- updated-dependencies: - dependency-name: ctr dependency-version: 0.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
1. aes 0.8.3 -> 0.9.1 2. aes-gcm 0.10.2 -> 0.11.0-rc.4 Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.23.1 to 1.23.2. - [Release notes](https://github.com/uuid-rs/uuid/releases) - [Commits](uuid-rs/uuid@v1.23.1...v1.23.2) --- updated-dependencies: - dependency-name: uuid dependency-version: 1.23.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [oci-spec](https://github.com/youki-dev/oci-spec-rs) from 0.9.0 to 0.10.0. - [Release notes](https://github.com/youki-dev/oci-spec-rs/releases) - [Changelog](https://github.com/youki-dev/oci-spec-rs/blob/main/release.md) - [Commits](youki-dev/oci-spec-rs@v0.9.0...v0.10.0) --- updated-dependencies: - dependency-name: oci-spec dependency-version: 0.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.36.0 to 4.36.2. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@7211b7c...8aad20d) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.36.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [prost](https://github.com/tokio-rs/prost) from 0.14.3 to 0.14.4. - [Release notes](https://github.com/tokio-rs/prost/releases) - [Changelog](https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md) - [Commits](tokio-rs/prost@v0.14.3...v0.14.4) --- updated-dependencies: - dependency-name: prost dependency-version: 0.14.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@de0fac2...df4cb1c) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [config](https://github.com/rust-cli/config-rs) from 0.15.22 to 0.15.23. - [Changelog](https://github.com/rust-cli/config-rs/blob/main/CHANGELOG.md) - [Commits](rust-cli/config-rs@v0.15.22...v0.15.23) --- updated-dependencies: - dependency-name: config dependency-version: 0.15.23 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.20.0 to 3.21.0. - [Release notes](https://github.com/jonasbb/serde_with/releases) - [Commits](jonasbb/serde_with@v3.20.0...v3.21.0) --- updated-dependencies: - dependency-name: serde_with dependency-version: 3.21.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Update openssl dependency from 0.10.x to 0.10.81 in workspace Cargo.toml to address security vulnerability CVE-2026-45784. Signed-off-by: Rafsal-Rahim <rafsal.rahim@ibm.com>
Bumps [zeroize](https://github.com/RustCrypto/utils) from 1.8.2 to 1.9.0. - [Commits](RustCrypto/utils@zeroize-v1.8.2...zeroize-v1.9.0) --- updated-dependencies: - dependency-name: zeroize dependency-version: 1.9.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [which](https://github.com/harryfei/which-rs) from 8.0.2 to 8.0.4. - [Release notes](https://github.com/harryfei/which-rs/releases) - [Changelog](https://github.com/harryfei/which-rs/blob/master/CHANGELOG.md) - [Commits](harryfei/which-rs@8.0.2...8.0.4) --- updated-dependencies: - dependency-name: which dependency-version: 8.0.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.149 to 1.0.150. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](serde-rs/json@v1.0.149...v1.0.150) --- updated-dependencies: - dependency-name: serde_json dependency-version: 1.0.150 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@df4cb1c...9c091bb) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3284e24. Configure here.
| )?; | ||
| let quote_bytes = TsmReportPath::new(TsmReportProvider::Tdx) | ||
| .context("TDX Attester: failed to create TSM Report path")? | ||
| .attestation_report(TsmReportData::Tdx(report_data))?; |
There was a problem hiding this comment.
TDX quote ioctl fallback removed
High Severity
get_evidence now always uses TsmReportPath and no longer falls back to the DCAP ioctl quote path when TSM setup fails. TDX guests that only expose /dev/tdx_guest (or lack a working TSM report provider) can attestation-fail even though platform detection still treats them as TDX-capable.
Reviewed by Cursor Bugbot for commit 3284e24. Configure here.
| path: segments, | ||
| query: query.map(|s| s.to_string()), | ||
| plugin: plugin.unwrap_or(DEFAULT_RESOURCE_PLUGIN).to_string(), | ||
| }) |
There was a problem hiding this comment.
ResourceUri new path mangled
Medium Severity
ResourceUri::new splits a leading-slash path into segments that retain an empty first element, so resource_path() becomes a string with a leading /. KBS URLs built as {plugin}/{resource_path} then contain a double slash and no longer match paths produced by TryFrom parsing of the same logical resource.
Reviewed by Cursor Bugbot for commit 3284e24. Configure here.


Upstream sync — manual merge needed
Upstream has new commits to merge into
vijay/sync-cohere-test, but there are conflicts.Upstream HEAD:
3284e24How to resolve
The sync branch already contains the upstream commits (it points at
origin/main). To make it mergeable intovijay/sync-cohere-test,merge cohere into the sync branch and resolve conflicts there:
Your IDE will show the native merge conflict UI with accept-theirs /
accept-ours / accept-both options for each conflict. Once the push
succeeds, the PR will become mergeable.
Review checklist
Note
High Risk
Large dependency and attestation/crypto surface area (AES-GCM RC, TDX/SE evidence paths, Resource URI → KBS URL mapping) can affect image decrypt, KBS resource fetch, and CI release flows if fork-specific patches conflict during merge.
Overview
This sync brings upstream guest-components changes into the fork: broader Resource URI support (
kbs+<plugin>://, variable path segments, plugin-aware KBS HTTP paths), refreshed api-server-rest behavior, attester/crypto updates, and routine CI/dependency bumps.Resource URIs and KBS clients replace the fixed three-segment
repository/type/tagmodel with plugin names and joined path segments. KBS fetch URLs become/kbs/v0/<plugin>/<path>. Docs move fromKBS_URI.mdtoRESOURCE_URI.md. Call sites (KBCs, CDH, image-rs, coco_keyprovider, trustee-attester) are updated to parse URIs viaResourceUri/ResourcePluginPathwhere a classic resource plugin layout is required.api-server-rest adds GET
/aa/additional-evidence(mirroring evidence) and optional queryencoding=base64soruntime_datacan be URL-safe base64 instead of raw UTF-8 bytes. OpenAPI and README examples are updated;decode_runtime_dataand rstest coverage are added.Attestation / crypto: TDX quoting favors TSM reports with optional sysfs RTMR/MRCONFIGID when kernel ≥ 6.16, otherwise ioctl fallbacks. IBM SE runtime digest binding moves to 64-byte (SHA-512) padding via shared
validate_and_pad_data. Workspace crypto moves to aes 0.9 / aes-gcm 0.11-rc / ctr 0.10 with corresponding API fixes incrypto,ocicrypt-rs, and coco_keyprovider.csv-rsis pulled from crates.io; online SEV KBC drops localtonic-buildprotos in favor of sharedprotos.CI: GitHub Actions pin bumps (
actions/checkoutv7,harden-runnerv2.19.4, CodeQL v4.36.2, Docker build/login actions, etc.);publish-artifactsadjusts checkout (fetch-depth: 0, tags).Reviewed by Cursor Bugbot for commit 3284e24. Bugbot is set up for automated code reviews on this repo. Configure here.