Update Tinfoil proxy security runtime#233
Open
AnthonyRonning wants to merge 2 commits into
Open
Conversation
WalkthroughThe Tinfoil proxy now uses a pinned Go 1.26.5 Nix toolchain, reproducible static Linux builds, refreshed dependencies, explicit client options, and response-body-driven request cancellation. ChangesTinfoil proxy build and runtime updates
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant doWithResponseStartTimeout
participant http.Client
participant responseWithCancelOnClose
participant cancelOnCloseReadCloser
doWithResponseStartTimeout->>http.Client: Execute request
http.Client-->>doWithResponseStartTimeout: Return response and error
doWithResponseStartTimeout->>responseWithCancelOnClose: Wrap response and cancel function
responseWithCancelOnClose->>cancelOnCloseReadCloser: Wrap response body
cancelOnCloseReadCloser-->>doWithResponseStartTimeout: Return response
doWithResponseStartTimeout->>cancelOnCloseReadCloser: Close response body
cancelOnCloseReadCloser-->>doWithResponseStartTimeout: Invoke request context cancellation
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tinfoil-go0.12.8 to 0.14.2 and rebuild it with patched Go 1.26.5Security validation
nix develop ./tinfoil-proxy -c go test ./...nix develop ./tinfoil-proxy -c go vet ./...nix develop ./tinfoil-proxy -c govulncheck ./...(no called or imported vulnerabilities)nix build ./tinfoil-proxy --no-linknix develop -c just build-tinfoil-proxygo version -mconfirms Go 1.26.5,tinfoil-go0.14.2,x/crypto0.53.0,x/net0.56.0, Rekor 1.5.2,sigstore-go1.2.1, and timestamp-authority 2.1.2 in both binaries7470dd74545e5317d708b0d0f36e58f32194bc54bfcdc2f4832b5bca6b807636e9c85c686319f4eda7951b2403b95eaf672b786a1fc93b3f1ca5b703670e6157The module-level binary heuristic still knows about the unmaintained OpenPGP package, but
go list -depsconfirms that package is absent from this production build graph.Summary by CodeRabbit
go vet, and vulnerability scanning via the same pinned environment.Body.Close()).