My task for this assignment is to use two different SCA tools “Snyk” and “Dependency-Check” to find vulnerable dependencies in open-source projects. Each tool requires a different setup method that can be found in the online documentation of the tool. You are required to follow the instructions in the online documentation to set up the environment, perform a scan, and prepare reports in a useful format. The ability to use online documentation is part of this assessment.
- Ubuntu Linux VM
For Part 1 of this assignment, you will be using Snyk to scan a customized ”Gemfile.lock” file (also attached below) that contains a list of modules used by an open-source Ruby application and identify vulnerable dependencies. Snyk is a security tool that enables you to find and fix known vulnerabilities in open-source software. Watch this video to learn more about Snyk:
- Create a free account with Snyk
- Setup Snyk CLI on your Linux VM. For instructions, check the “CLI – Installation” page.
- Create a directory called “CYB505-Snyk” and copy ”Gemfile.lock” there.
- Change to the newly created directory and run a test using Snyk CLI (refer to installation documentation for more details).
- Login back to Snyk portal and observe the results. A new project should have been created by executing the test from the CLI. It will show you a summary of the findings. Clicking on the project name takes you to the finding details.
- Summarize the findings in the format of a report. See the “Deliverables” section below.
For Part 2, you will be using Dependency-Check, which is an open-source SCA tool from OWASP. You are required to install this tool on your Linux VM and run a test on another open-source tool from OWASP, Juice Shop.
To complete Part 2 of the assignment, follow the instructions:
- Create a folder on your Linux VM called “CYB505-DC”.
- Download OWASP Juice Shop (if you have not already done so for Discussion 7.1). Unzip and copy it to the newly created folder.
- Download OWASP Dependency Check binaries zip file from the following link: https://bintray.com/jeremy-long/owasp/dependency-check under downloads.
- Extract the zip file and look for the executable script called “dependency-check.sh” in the bin folder.
- Run the scan and output the results into an HTML file. Use the command help option(“.\dependency-check -h”) for guidance. Hints: Check out -f and -o arguments and ensure that your command line is in the directory with the .sh file.
- Summarize the findings in the report format. See the “Deliverables” section below.
Submit a zip file that contains the following three files:
- A single assessment report PDF file that contains findings from both scans. The report should include:
- An executive summary that summarizes the findings for the upper-management audience using limited technical knowledge.
- Vulnerability overview
- Detailed dependencies paths
- Risk rating
- Remediation recommendations
- Your analysis of the proposed remediation method, ONLY for “High” rated findings. I.e., if it is possible to do, what are the challenges, etc.
- You are free to choose the report format and headings, but points are allocated for a professional-looking, industry-standard level report. The report should be readable and eye-catching, yet accurate and informative for the technical audience.
- PDF export of the Snyk report
- PDF export of the Dependency-Check HTML report.