Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add build provenance with Sigstore #19

Open
Tracked by #12
Qonfused opened this issue May 5, 2024 · 1 comment
Open
Tracked by #12

Add build provenance with Sigstore #19

Qonfused opened this issue May 5, 2024 · 1 comment
Assignees
Labels
status:triage type:feature New feature or request

Comments

@Qonfused
Copy link
Member

Qonfused commented May 5, 2024

Use Sigstore to sign build artifacts generated in CI, providing provenance for release artifacts and runtime assets. This is essentially a tamper-proof way of verifying that an artifact was actually built in our CI to verify it's identity. This is now available in GitHub Actions through a public beta of artifact attestations.

This isn't compatible with the Windows trust store for Authenticode, so we'll have to look into purchasing an EV certificate or using an OV certificate from SignPath. We'll have to wait and see whether GitHub is planning on offering a signed timestamp for Authenticode compatibility. Until then, we'll need to submit samples to Microsoft in order to gain reputation for SmartScreen (reference).

@Qonfused Qonfused self-assigned this May 5, 2024
@Qonfused Qonfused changed the title Sign CI artifacts with Sigstore Add build provenance with Sigstore May 7, 2024
@Qonfused
Copy link
Member Author

Qonfused commented May 7, 2024

For release builds of MTGOSDK built in CI, we'll want to validate that the corresponding ClrMD assembly we're communicating with at runtime also came from there -- or from another build if re-using the same MTGO instance with another version of MTGOSDK.

There is still an open question about debug/non-release builds of the SDK, especially for integration testing in CI. It's easiest to disable this validation if the MTGOSDK assembly isn't attested, though this undermines the zero-trust model we're trying to implement.

@Qonfused Qonfused added type:feature New feature or request status:triage labels Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:triage type:feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant