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

I want to host a plugin in the Jenkins organization #3564

Closed
kishorikumar opened this issue Oct 6, 2023 · 38 comments
Closed

I want to host a plugin in the Jenkins organization #3564

kishorikumar opened this issue Oct 6, 2023 · 38 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

@kishorikumar
Copy link
Contributor

kishorikumar commented Oct 6, 2023

Repository URL

https://github.com/synopsys-sig/synopsys-security-scan-plugin

New Repository Name

synopsys-security-scan-plugin

Description

Synopsys Security Scan for Jenkins

Synopsys Security Scan Plugin for Jenkins enables you to configure your Jenkins pipeline to run Synopsys security testing and take action on the results. Synopsys Security Scan leverages Synopsys Bridge, allowing you to run tests for several Synopsys products from the command line.

  • Install and configure Synopsys Security Scan plugin and Jenkins pipeline as described in the Readme section.

  • Synopsys Security Scan will use the following Synopsys products leveraging Synopsys-Bridge.

Polaris

Black Duck

Coverity

GitHub users to have commit permission

@sig-tithi
@kishorikumar
@dmamidisynopsys

Jenkins project users to have release permission

sig_tithi
kishorikumar
dmamidisynopsys

Issue tracker

GitHub issues

@kishorikumar kishorikumar added the hosting-request Request to host a component in jenkinsci label Oct 6, 2023
@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.26.3)

@jenkins-cert-app jenkins-cert-app added the security-audit-todo The security team needs to audit the hosting request code label Oct 6, 2023
@github-actions
Copy link

github-actions bot commented Oct 6, 2023

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: The following usernames in 'Jenkins project users to have release permission' need to log into Jira: sig_tithi, kishorikumar (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: kishorikumar, dmamidisynopsys (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: sig_tithi
  • ⚠️ Warning: No pom.xml detected.

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

@jenkins-cert-app
Copy link
Collaborator

The Jenkins Security Scan discovered 16 finding(s) 🔍.
For each of them, either apply the recommended correction, suppress the warning or provide a justification.

Once you're done, either re-run the scan with /request-security-scan or request the Security team to review your justifications with /audit-review.


Remoting: Unsafe Callable

You can find detailed information about this finding here.

OsNameTask.java#22
Potentially unsafe Callable implementation OsNameTask#checkRoles

Stapler: Missing POST/RequirePOST annotation

You can find detailed information about this finding here.

SecurityScanStep.java#408
Potential CSRF vulnerability: If DescriptorImpl#doFillProductItems 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.

SecurityScanStep.java#408
Potential missing permission check in DescriptorImpl#doFillProductItems

Jenkins: Plaintext password storage

You can find detailed information about this finding here.

ScannerGlobalConfig.java#67
Field should be reviewed whether it stores a password and is serialized to disk: polarisAccessToken
ScannerGlobalConfig.java#61
Field should be reviewed whether it stores a password and is serialized to disk: bitbucketToken
ScannerGlobalConfig.java#37
Field should be reviewed whether it stores a password and is serialized to disk: coverityConnectUserPassword
ScannerGlobalConfig.java#25
Field should be reviewed whether it stores a password and is serialized to disk: blackDuckApiToken
SecurityScanStep.java#87
Field should be reviewed whether it stores a password and is serialized to disk: bitbucket_token
SecurityScanStep.java#73
Field should be reviewed whether it stores a password and is serialized to disk: polaris_access_token
SecurityScanStep.java#57
Field should be reviewed whether it stores a password and is serialized to disk: coverity_passphrase
SecurityScanStep.java#43
Field should be reviewed whether it stores a password and is serialized to disk: blackduck_token
Api.java#17
Field should be reviewed whether it stores a password and is serialized to disk: token
Project.java#16
Field should be reviewed whether it stores a password and is serialized to disk: key
BlackDuck.java#16
Field should be reviewed whether it stores a password and is serialized to disk: token
User.java#16
Field should be reviewed whether it stores a password and is serialized to disk: password
Polaris.java#14
Field should be reviewed whether it stores a password and is serialized to disk: accessToken

@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 Oct 6, 2023
@github-actions
Copy link

github-actions bot commented Oct 6, 2023

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: The following usernames in 'Jenkins project users to have release permission' need to log into Jira: sig_tithi (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: kishorikumar, dmamidisynopsys (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⚠️ Warning: No pom.xml detected.

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

@kishorikumar
Copy link
Contributor Author

/hosting re-check

@github-actions
Copy link

github-actions bot commented Oct 6, 2023

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: The following usernames in 'Jenkins project users to have release permission' need to log into Artifactory: dmamidisynopsys (reports are re-synced hourly, wait to re-check for a bit after logging in)
  • ⚠️ Warning: No pom.xml detected.

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

@kishorikumar
Copy link
Contributor Author

/hosting re-check

@github-actions
Copy link

github-actions bot commented Oct 6, 2023

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.

  • ⚠️ Warning: No pom.xml detected.

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

@NotMyFault
Copy link
Member

Please recreate your repository using the Jenkins archetype for the maven plugin as base layout: https://www.jenkins.io/doc/developer/tutorial/create/
Choosing "4" and modifying the example java classes.

@jahid1209
Copy link

@NotMyFault
Are you requesting to restructure our repository with Maven as the build tool instead of Gradle?
If so, is this a new requirement to publish a plugin in the marketplace? As we have three plugins in the marketplace developed with Gradle.
Please checkout the repositories for the aforementioned three plugins.

@MarkEWaite
Copy link
Contributor

MarkEWaite commented Oct 9, 2023

Yes, @jahid1209, @NotMyFault is requesting that you use Apache Maven for your plugin rather than Gradle. The build tooling improvements that have been made over the last 12-18 months have been implemented in Apache Maven. Jenkins core, Jenkins libraries, and the vast majority of Jenkins plugins use Apache Maven. You'll have a better Jenkins development experience if you use Apache Maven.

As an unrelated note, will Synopsys be removing the Prototype.js JavaScript library use from the Synopsys Coverity plugin as noted in JENKINS-71308? The May 2023 blog post announced that the Prototype.js library will be removed from Jenkins. Weekly releases beginning with 2.426 (Oct 3, 2023) no longer include that JavaScript library. LTS releases beginning Nov 15, 2023 will no longer include that library.

Instructions on the steps to remove that library are in the blog post.

@jahid1209
Copy link

@MarkEWaite
Thanks for your detailed response. We will migrate our project accordingly.

Also, thanks for the heads up about Synopsys Coverity plugin. We will get back to you after necessary changes are done.

@dmamidibd
Copy link

Hello @MarkEWaite Is this recommendation or absolute requirement? I am only asking since it is saying "Warning". Our current build/release pipelines are based out of gradle just like other plugins. Those all need to be changed. Can we make that change at a later point? Please advise. Thank you for your prompt responses!

@MarkEWaite
Copy link
Contributor

I believe that @NotMyFault is trying to guide you to future success on this new plugin. Switching this plugin from gradle to maven gives you a low risk location to explore the changes you'll need to make in your internal build and release processes. This plugin has no users currently, since it is not yet released. That's the safest place to learn more about the transition.

I'll leave it to @NotMyFault to answer if it is mandatory or a recommendation. There have been discussions in the developer mailing list, but I don't recall the details of the discussions.

@NotMyFault
Copy link
Member

We're not accepting new plugin hosting requests using any other build tool but maven anymore. The declining interest of contributors to implement, document and maintain feature parity of the Gradle JPI plugin with the maven ecosystem led to this decision put in place.

@dmamidibd
Copy link

dmamidibd commented Oct 9, 2023

Ok. Thanks for responses. This seems a bit restrictive to me. Gradle is widely used and might be daunting change for existing build systems depending on the usage. But if it is absolute requirement now, we will evaluate the changes needed on our end and get back.

@MarkEWaite
Copy link
Contributor

This seems a bit restrictive to me. Gradle is widely used and might be daunting change for existing build systems depending on the usage

If someone wants to provide and support the Maven based Jenkins tooling updates for Gradle projects, they are welcome to do so. We've not had anyone offer to do that. Are you interested in doing that?

@daniel-beck
Copy link
Contributor

daniel-beck commented Oct 9, 2023

Noting previous context: https://groups.google.com/g/jenkinsci-dev/c/lHQAiEepBiw/m/TiXBGbkpAwAJ

@zaman-akib
Copy link
Contributor

/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 Oct 12, 2023
@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 Oct 12, 2023
@jahid1209
Copy link

/hosting re-check

@github-actions github-actions bot added bot-check-complete Automated hosting checks passed and removed needs-fix labels Oct 12, 2023
@dmamidibd
Copy link

dmamidibd commented Oct 13, 2023

Hello Jenkins hosting team! cc: @MarkEWaite and @NotMyFault

Now that all checks are complete and I believe we are good from the above comment, can you provide us an ETA if possible when hosting will be complete on to jenkinsci org? Thank you for all your help!

@NotMyFault
Copy link
Member

/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-done The hosting request code passed the security audit with success labels Oct 13, 2023
@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 Oct 13, 2023
@NotMyFault
Copy link
Member

/hosting re-check

@github-actions
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

Hey @kishorikumar,

I took a brief look over your hosting request and have some feedback for you:

@kishorikumar
Copy link
Contributor Author

Hey @kishorikumar,

I took a brief look over your hosting request and have some feedback for you:

Hi @NotMyFault Than you for your feedbacks. We have addressed all the feedbacks. Please have a look on it, re-review and provide us further feedbacks if you get any. Thank you for all your help!

@jahid1209
Copy link

/request-security-scan

@jahid1209
Copy link

/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 Oct 17, 2023
@github-actions
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 Oct 17, 2023
@dmamidibd
Copy link

@NotMyFault All the items in your last comment are addressed now. Can you please let us know the ETA for hosting on "jenkinsci" org to be complete? Thank you for all your help.

@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/synopsys-security-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:

In order for your plugin to be built by the Jenkins CI Infrastructure and check pull requests, please add a Jenkinsfile to the root of your repository with the following content:
https://github.com/jenkinsci/archetypes/blob/master/common-files/Jenkinsfile

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

9 participants