Closed
Conversation
762a261 to
1a87d31
Compare
1a87d31 to
3f1668f
Compare
jglick
requested changes
Sep 4, 2020
| } | ||
| } | ||
| appInstallationToken = cachedToken.getToken(); | ||
| LOGGER.log(Level.FINE, "Generating App Installation Token for app ID {0} on agent", getAppID()); |
Member
There was a problem hiding this comment.
This degrades security as now the agent has access to the private key.
Member
There was a problem hiding this comment.
To be clear, I think there is a way to use CredentialsSnapshotTaker that retains the security benefits of the current code; would be a minor refinement.
Contributor
Author
Member
There was a problem hiding this comment.
has access to the private key
Also there is risk in the agent being able to select a different apiUrl: it could trick the controller into sending a “GitHub API” request to a malicious endpoint. I am not sure if it could actually mount a useful attack this way (since the controller would be sending a JWT not the original secret) but it is certainly unnerving and best avoided.
8 tasks
6 tasks
8 tasks
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.
Description
#326 made GitHub App Credentials much more stable and tolerant of errors during transport. It also implemented an asymmetric design where a GitHubAppCredentials instance that has been serialize via a path other than XStream is not a fully functional GitHubAppCredentials instance. This is fine for controller to agent, but breaks for controller-to-controller transfer.
This change fixes that by using CredentialsSnapshotTaker and detecting whether where the new credential is landing on an agent.
Submitter checklist
Reviewer checklist
Documentation changes
Users/aliases to notify