The process to objectively assess the security risk of 3rd party open source components or dependencies is outlined with consideration of the legacy way of performing the assessment, as well as the new process discussed within the project during the Hanoi development time frame.
...
Use Case | Process | Tools | Applicability |
---|---|---|---|
1.) Existing Code (Skeletons in the Closet) | Automated scan within build automation via Snyk CLI Scans of the published Docker images via Snyk with notifications to SIR Team members / Snyk Administrators Working groups should review any issues identified via the build automation tools and address within the context of the working group reviews. | Snyk Community Bridge Advanced Snyk Reports Clair | Scan automation occurs within the build - PR merge to master |
2.) Code in Holding (Analysis of code before it is accepted) | Review catalog of approved packages in this wiki. Compare that list to the list being submitted. Provide the summary of differences to include the list of new packages and why they are needed. | Complete the paper study for each package. Run this command at the root of your repo GO111MODULE=on go list -m all GO111MODULE=on go mod graph See paper study process as written for use case 3. | When considering code that is under consideration for moving into the main EdgeX Foundry Org, out of holding |
3.) Pull Request with new dependency | Submitter of a Pull Request (PR) will complete the Pull Request template to include any new changes that introduce dependency changes (e.g. imports or go module dependencies) The standard Pull Request template includes a question that asks - "Are there any new imports or modules? If so, what are they used for and why?" Submitter of the PR will add a If the dependency is security related, the submitter will add the Submitter should include scan results which include consideration of compliance (license) as well as security vulnerability (e.g. CVE) data, that can be reviewed by a Security WG member. | Run this command at the root of your repo GO111MODULE=on go list -m all GO111MODULE=on go mod graph For a PR with new dependencies, the submitter of the PR will complete a manual paper study to collect the following data points for review:
| On a Pull Request, whenever there's a new dependency introduced as shown through changes to the go.mod |
...