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

Host Finite State Binary Scan Plugin #3929

Closed
cpfarherFinitestate opened this issue May 17, 2024 · 37 comments
Closed

Host Finite State Binary Scan Plugin #3929

cpfarherFinitestate opened this issue May 17, 2024 · 37 comments
Labels
bot-check-complete Automated hosting checks passed hosting-request Request to host a component in jenkinsci security-audit-done The hosting request code passed the security audit with success

Comments

@cpfarherFinitestate
Copy link
Contributor

cpfarherFinitestate commented May 17, 2024

Repository URL

https://github.com/FiniteStateInc/binary-scan-jenkins

New Repository Name

finite-state-binary-scan-plugin

Description

The Finite State binary-scan allows you to easily integrate the Finite State Platform into Jenkins.

GitHub users to have commit permission

@cpfarherFinitestate

Jenkins project users to have release permission

finitestateinc

Issue tracker

GitHub issues

@cpfarherFinitestate cpfarherFinitestate added the hosting-request Request to host a component in jenkinsci label May 17, 2024
Copy link

Hello from your friendly Jenkins Hosting Checker

It appears you have some issues with your hosting request. Please see the list below and correct all issues marked Required. Your hosting request will not be approved until these issues are corrected. Issues marked with Warning or Info are just recommendations and will not stall the hosting process.

  • ⛔ Required: Your baseline specified does not meet the minimum Jenkins version required, please update <jenkins.version>2.414.3</jenkins.version> to at least 2.426.3 in your pom.xml. Take a look at the baseline recommendations.
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Jira: @cpfarherFinitestate, @phillipcurl (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Artifactory: @cpfarherFinitestate, @phillipcurl (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'GitHub Users to Authorize as Committers' are not valid GitHub usernames or are Organizations: cpfarherFinitestate phillipcurl

You can re-trigger a check by editing your hosting request or by commenting /hosting re-check

@jenkins-cert-app
Copy link
Collaborator

Security audit, information and commands

The security team is auditing all the hosting requests, to ensure a better security by default.

This message informs you that a Jenkins Security Scan was triggered on your repository.
It takes ~10 minutes to complete.

Commands

The bot will parse all comments, and it will check if any line start with a command.

Security team only:

  • /audit-ok => the audit is complete, the hosting can continue 🎉.
  • /audit-skip => the audit is not necessary, the hosting can continue 🎉.
  • /audit-findings => the audit reveals some issues that require corrections ✏️.

Anyone:

  • /request-security-scan => the findings from the Jenkins Security Scan were corrected, this command will re-scan your repository 🔍.
  • /audit-review => the findings from the audit were corrected, this command will ping the security team to review the findings 👀. It's only applicable when the previous audit required changes.

Only one command can be requested per comment.

(automatically generated message, version: 1.28.4)

@jenkins-cert-app jenkins-cert-app added the security-audit-todo The security team needs to audit the hosting request code label May 17, 2024
@jenkins-cert-app
Copy link
Collaborator

The Jenkins Security Scan discovered 21 finding(s) 🔍.

Please follow the instructions below for every identified issues:

  • Implement the recommended fix to address the issue.
  • If you think it's a false positive, suppress the warning directly within the code.
  • Alternative, you write an explanation here about why you think it's irrelevant. That will require a manual review, leading to a slower process.

After addressing the findings through one of the above methods:

  • If all modifications have been made to the code, please initiate a new security scan by triggering the /request-security-scan command.
  • If there are any unresolved findings (those not corrected or suppressed), request a review from the Jenkins security team by using the /audit-review command.

Jenkins: Missing permission check on a form fill web method with credentials lookup

You can find detailed information about this finding here.

UploadBinaryScanRecorder.java#377
doFillFiniteStateOrganizationContextItems should perform a permission check before calling #lookupCredentials
UploadBinaryScanRecorder.java#367
doFillFiniteStateSecretItems should perform a permission check before calling #lookupCredentials
UploadBinaryScanRecorder.java#357
doFillFiniteStateClientIdItems should perform a permission check before calling #lookupCredentials

Stapler: Missing POST/RequirePOST annotation

You can find detailed information about this finding here.

UploadBinaryScanRecorder.java#417
Potential CSRF vulnerability: If DescriptorImpl#doCheckFilePath connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#413
Potential CSRF vulnerability: If DescriptorImpl#doCheckVersion connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#409
Potential CSRF vulnerability: If DescriptorImpl#doCheckAssetId connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#404
Potential CSRF vulnerability: If DescriptorImpl#doCheckFiniteStateOrganizationContext connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#399
Potential CSRF vulnerability: If DescriptorImpl#doCheckFiniteStateSecret connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#394
Potential CSRF vulnerability: If DescriptorImpl#doCheckFiniteStateClientId connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#377
Potential CSRF vulnerability: If DescriptorImpl#doFillFiniteStateOrganizationContextItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#367
Potential CSRF vulnerability: If DescriptorImpl#doFillFiniteStateSecretItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#357
Potential CSRF vulnerability: If DescriptorImpl#doFillFiniteStateClientIdItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST

Stapler: Missing permission check

You can find detailed information about this finding here.

UploadBinaryScanRecorder.java#417
Potential missing permission check in DescriptorImpl#doCheckFilePath
UploadBinaryScanRecorder.java#413
Potential missing permission check in DescriptorImpl#doCheckVersion
UploadBinaryScanRecorder.java#409
Potential missing permission check in DescriptorImpl#doCheckAssetId
UploadBinaryScanRecorder.java#404
Potential missing permission check in DescriptorImpl#doCheckFiniteStateOrganizationContext
UploadBinaryScanRecorder.java#399
Potential missing permission check in DescriptorImpl#doCheckFiniteStateSecret
UploadBinaryScanRecorder.java#394
Potential missing permission check in DescriptorImpl#doCheckFiniteStateClientId
UploadBinaryScanRecorder.java#377
Potential missing permission check in DescriptorImpl#doFillFiniteStateOrganizationContextItems
UploadBinaryScanRecorder.java#367
Potential missing permission check in DescriptorImpl#doFillFiniteStateSecretItems
UploadBinaryScanRecorder.java#357
Potential missing permission check in DescriptorImpl#doFillFiniteStateClientIdItems

@jenkins-cert-app jenkins-cert-app added security-audit-needs-correction The security audit revealed issues that must be corrected from the hosting request and removed security-audit-todo The security team needs to audit the hosting request code labels May 17, 2024
Copy link

Hello from your friendly Jenkins Hosting Checker

It appears you have some issues with your hosting request. Please see the list below and correct all issues marked Required. Your hosting request will not be approved until these issues are corrected. Issues marked with Warning or Info are just recommendations and will not stall the hosting process.

  • ⛔ Required: Your baseline specified does not meet the minimum Jenkins version required, please update <jenkins.version>2.414.3</jenkins.version> to at least 2.426.3 in your pom.xml. Take a look at the baseline recommendations.
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Jira: cpfarherFinitestate, phillipcurl (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Artifactory: cpfarherFinitestate, phillipcurl (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'GitHub Users to Authorize as Committers' are not valid GitHub usernames or are Organizations: cpfarherFinitestate phillipcurl

You can re-trigger a check by editing your hosting request or by commenting /hosting re-check

Copy link

Hello from your friendly Jenkins Hosting Checker

It appears you have some issues with your hosting request. Please see the list below and correct all issues marked Required. Your hosting request will not be approved until these issues are corrected. Issues marked with Warning or Info are just recommendations and will not stall the hosting process.

  • ⛔ Required: Your baseline specified does not meet the minimum Jenkins version required, please update <jenkins.version>2.414.3</jenkins.version> to at least 2.426.3 in your pom.xml. Take a look at the baseline recommendations.
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Jira: @cpfarherFinitestate, @phillipcurl (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Artifactory: @cpfarherFinitestate, @phillipcurl (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'GitHub Users to Authorize as Committers' are not valid GitHub usernames or are Organizations: cpfarherFinitestate phillipcurl

You can re-trigger a check by editing your hosting request or by commenting /hosting re-check

Copy link

Hello from your friendly Jenkins Hosting Checker

It appears you have some issues with your hosting request. Please see the list below and correct all issues marked Required. Your hosting request will not be approved until these issues are corrected. Issues marked with Warning or Info are just recommendations and will not stall the hosting process.

  • ⛔ Required: Your baseline specified does not meet the minimum Jenkins version required, please update <jenkins.version>2.414.3</jenkins.version> to at least 2.426.3 in your pom.xml. Take a look at the baseline recommendations.
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Jira: @FiniteStateInc (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Artifactory: @FiniteStateInc (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'GitHub Users to Authorize as Committers' are not valid GitHub usernames or are Organizations: finitestateinc

You can re-trigger a check by editing your hosting request or by commenting /hosting re-check

Copy link

Hello from your friendly Jenkins Hosting Checker

It appears you have some issues with your hosting request. Please see the list below and correct all issues marked Required. Your hosting request will not be approved until these issues are corrected. Issues marked with Warning or Info are just recommendations and will not stall the hosting process.

  • ⛔ Required: Your baseline specified does not meet the minimum Jenkins version required, please update <jenkins.version>2.414.3</jenkins.version> to at least 2.426.3 in your pom.xml. Take a look at the baseline recommendations.
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Jira: @FiniteStateInc (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'Jenkins project users to have release permission' need to log into Artifactory: @FiniteStateInc (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⛔ Required: The following usernames in 'GitHub Users to Authorize as Committers' are not valid GitHub usernames or are Organizations: cpfarherFinitestate phillipcurl

You can re-trigger a check by editing your hosting request or by commenting /hosting re-check

@cpfarherFinitestate
Copy link
Contributor Author

/request-security-scan

@jenkins-cert-app jenkins-cert-app added security-audit-todo The security team needs to audit the hosting request code and removed security-audit-needs-correction The security audit revealed issues that must be corrected from the hosting request labels May 23, 2024
@jenkins-cert-app
Copy link
Collaborator

The Jenkins Security Scan discovered 9 finding(s) 🔍.

Please follow the instructions below for every identified issues:

  • Implement the recommended fix to address the issue.
  • If you think it's a false positive, suppress the warning directly within the code.
  • Alternative, you write an explanation here about why you think it's irrelevant. That will require a manual review, leading to a slower process.

After addressing the findings through one of the above methods:

  • If all modifications have been made to the code, please initiate a new security scan by triggering the /request-security-scan command.
  • If there are any unresolved findings (those not corrected or suppressed), request a review from the Jenkins security team by using the /audit-review command.

Stapler: Missing POST/RequirePOST annotation

You can find detailed information about this finding here.

UploadBinaryScanRecorder.java#406
Potential CSRF vulnerability: If DescriptorImpl#doFillFiniteStateOrganizationContextItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#387
Potential CSRF vulnerability: If DescriptorImpl#doFillFiniteStateSecretItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#360
Potential CSRF vulnerability: If DescriptorImpl#doFillFiniteStateClientIdItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST

Stapler: Missing permission check

You can find detailed information about this finding here.

UploadBinaryScanRecorder.java#461
Potential missing permission check in DescriptorImpl#doCheckFilePath
UploadBinaryScanRecorder.java#456
Potential missing permission check in DescriptorImpl#doCheckVersion
UploadBinaryScanRecorder.java#451
Potential missing permission check in DescriptorImpl#doCheckAssetId
UploadBinaryScanRecorder.java#445
Potential missing permission check in DescriptorImpl#doCheckFiniteStateOrganizationContext
UploadBinaryScanRecorder.java#439
Potential missing permission check in DescriptorImpl#doCheckFiniteStateSecret
UploadBinaryScanRecorder.java#433
Potential missing permission check in DescriptorImpl#doCheckFiniteStateClientId

@jenkins-cert-app jenkins-cert-app added security-audit-needs-correction The security audit revealed issues that must be corrected from the hosting request and removed security-audit-todo The security team needs to audit the hosting request code labels May 23, 2024
@cpfarherFinitestate
Copy link
Contributor Author

/request-security-scan

@jenkins-cert-app jenkins-cert-app added security-audit-todo The security team needs to audit the hosting request code and removed security-audit-needs-correction The security audit revealed issues that must be corrected from the hosting request labels May 28, 2024
@jenkins-cert-app
Copy link
Collaborator

The Jenkins Security Scan discovered 9 finding(s) 🔍.

Please follow the instructions below for every identified issues:

  • Implement the recommended fix to address the issue.
  • If you think it's a false positive, suppress the warning directly within the code.
  • Alternative, you write an explanation here about why you think it's irrelevant. That will require a manual review, leading to a slower process.

After addressing the findings through one of the above methods:

  • If all modifications have been made to the code, please initiate a new security scan by triggering the /request-security-scan command.
  • If there are any unresolved findings (those not corrected or suppressed), request a review from the Jenkins security team by using the /audit-review command.

Stapler: Missing POST/RequirePOST annotation

You can find detailed information about this finding here.

UploadBinaryScanRecorder.java#406
Potential CSRF vulnerability: If DescriptorImpl#doFillFiniteStateOrganizationContextItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#387
Potential CSRF vulnerability: If DescriptorImpl#doFillFiniteStateSecretItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST
UploadBinaryScanRecorder.java#360
Potential CSRF vulnerability: If DescriptorImpl#doFillFiniteStateClientIdItems connects to user-specified URLs, modifies state, or is expensive to run, it should be annotated with @POST or @RequirePOST

Stapler: Missing permission check

You can find detailed information about this finding here.

UploadBinaryScanRecorder.java#461
Potential missing permission check in DescriptorImpl#doCheckFilePath
UploadBinaryScanRecorder.java#456
Potential missing permission check in DescriptorImpl#doCheckVersion
UploadBinaryScanRecorder.java#451
Potential missing permission check in DescriptorImpl#doCheckAssetId
UploadBinaryScanRecorder.java#445
Potential missing permission check in DescriptorImpl#doCheckFiniteStateOrganizationContext
UploadBinaryScanRecorder.java#439
Potential missing permission check in DescriptorImpl#doCheckFiniteStateSecret
UploadBinaryScanRecorder.java#433
Potential missing permission check in DescriptorImpl#doCheckFiniteStateClientId

@jenkins-cert-app jenkins-cert-app added security-audit-needs-correction The security audit revealed issues that must be corrected from the hosting request and removed security-audit-todo The security team needs to audit the hosting request code labels May 28, 2024
@cpfarherFinitestate
Copy link
Contributor Author

/request-security-scan

@jenkins-cert-app jenkins-cert-app added security-audit-todo The security team needs to audit the hosting request code and removed security-audit-needs-correction The security audit revealed issues that must be corrected from the hosting request labels May 28, 2024
@jenkins-cert-app
Copy link
Collaborator

The Jenkins Security Scan did not find anything dangerous with your plugin, congratulations! 🎉


💡 The Security team recommends that you are setting up the scan in your repository by following our guide.

@jenkins-cert-app jenkins-cert-app added the security-audit-done The hosting request code passed the security audit with success label May 28, 2024
@cpfarherFinitestate
Copy link
Contributor Author

Related with this comment #3929 (comment) I already configure the security scan I think. Please, can you confirm that it is ok?
I don't understand why it has the needs-fix label. Please, can you clarify Which is the issue with this PR so I could fix it? Thanks!

@timja
Copy link
Member

timja commented May 30, 2024

Its failing to parse the issue template here: https://github.com/jenkins-infra/repository-permissions-updater/actions/runs/9304869956/job/25610484968

Something will be wrong in the issue description that's breaking it

@jenkins-cert-app jenkins-cert-app added security-audit-todo The security team needs to audit the hosting request code and removed security-audit-done The hosting request code passed the security audit with success labels May 31, 2024
@jenkins-cert-app
Copy link
Collaborator

The Jenkins Security Scan did not find anything dangerous with your plugin, congratulations! 🎉


💡 The Security team recommends that you are setting up the scan in your repository by following our guide.

@jenkins-cert-app jenkins-cert-app added security-audit-done The hosting request code passed the security audit with success and removed security-audit-todo The security team needs to audit the hosting request code labels May 31, 2024
@cpfarherFinitestate
Copy link
Contributor Author

Its failing to parse the issue template here: https://github.com/jenkins-infra/repository-permissions-updater/actions/runs/9304869956/job/25610484968

Something will be wrong in the issue description that's breaking it

Oh, ok thanks. So as I understand is something that a member of the team needs to investigate?. I re check the description but I didn't see any wrong. Please LMK if I could help on some way. Thanks!

@timja
Copy link
Member

timja commented May 31, 2024

You had changed the heading level of the repository url, it should work now

Copy link

Hello from your friendly Jenkins Hosting Checker

It looks like you have everything in order for your hosting request. A member of the Jenkins hosting team will check over things that I am not able to check(code review, README content, etc) and process the request as quickly as possible. Thank you for your patience.

Hosting team members can host this request with /hosting host

@github-actions github-actions bot added bot-check-complete Automated hosting checks passed and removed needs-fix labels May 31, 2024
@NotMyFault
Copy link
Member

@cpfarherFinitestate
Copy link
Contributor Author

/request-security-scan

@cpfarherFinitestate
Copy link
Contributor Author

/hosting re-check

@jenkins-cert-app jenkins-cert-app added security-audit-todo The security team needs to audit the hosting request code and removed security-audit-done The hosting request code passed the security audit with success labels Jul 12, 2024
@cpfarherFinitestate
Copy link
Contributor Author

cpfarherFinitestate commented Jul 12, 2024

Thanks for your review. It's done.

Copy link

Hello from your friendly Jenkins Hosting Checker

It looks like you have everything in order for your hosting request. A member of the Jenkins hosting team will check over things that I am not able to check(code review, README content, etc) and process the request as quickly as possible. Thank you for your patience.

Hosting team members can host this request with /hosting host

@jenkins-cert-app
Copy link
Collaborator

The Jenkins Security Scan did not find anything dangerous with your plugin, congratulations! 🎉


💡 The Security team recommends that you are setting up the scan in your repository by following our guide.

@jenkins-cert-app jenkins-cert-app added security-audit-done The hosting request code passed the security audit with success and removed security-audit-todo The security team needs to audit the hosting request code labels Jul 12, 2024
@cpfarherFinitestate
Copy link
Contributor Author

/hosting re-check

Copy link

Hello from your friendly Jenkins Hosting Checker

It looks like you have everything in order for your hosting request. A member of the Jenkins hosting team will check over things that I am not able to check(code review, README content, etc) and process the request as quickly as possible. Thank you for your patience.

Hosting team members can host this request with /hosting host

@NotMyFault
Copy link
Member

/hosting host

@jenkins-infra-bot
Copy link
Contributor

Hosting request complete, the code has been forked into the jenkinsci project on GitHub as https://github.com/jenkinsci/finite-state-binary-scan-plugin

GitHub issues has been selected for issue tracking and was enabled for the forked repo.

A pull request has been created against the repository permissions updater to setup release permissions. Additional users can be added by modifying the created file.

Please delete your original repository (if there are no other forks), under 'Danger Zone', so that the jenkinsci organization repository is the definitive source for the code. If there are other forks, please contact GitHub support to make the jenkinsci repo the root of the fork network (mention that Jenkins approval was given in support request 569994). Also, please make sure you properly follow the documentation on documenting your plugin so that your plugin is correctly documented.

You will also need to do the following in order to push changes and release your plugin:

Welcome aboard!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bot-check-complete Automated hosting checks passed hosting-request Request to host a component in jenkinsci security-audit-done The hosting request code passed the security audit with success
Projects
None yet
Development

No branches or pull requests

5 participants