Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.
Shade in the A or B circle for each question.
Draw a line connecting each item on the left to its match on the right.
| Left column | Right column | |
|---|---|---|
| 1Static analysis scan | AScan + peer review | |
| 2Dependency scan | BFalse positive | |
| 3A tool flags a line of code as a risk, but a developer checks and finds it is actually safe | CTreating a clean scan as proof the code is secure. Tools only detect known patterns and miss logic flaws, so human review is still needed. | |
| 4Automated tools support human code review but do not replace it, because they only find known patterns | DIgnoring a warning without investigating it. Each result should be checked by a person to decide whether it is a real vulnerability or a false positive. | |
| 5Scan passed with no warnings, so skip code review | EChecks source code without running it, looking for known insecure patterns such as unsanitised input | |
| 6Warning found: delete it, it must be a false positive | FCompares the libraries a project uses against lists of known vulnerable versions |
Complete each line of code by filling in the missing parts.
Shade in the letter of the line that contains an error.
automated code analysis — Tools that scan source code or dependencies for known insecure patterns and vulnerable components. They support, but do not replace, human code review.report ← staticAnalysis("src/")results ← dependencyScan("package.json")IF finding.confirmed = FALSE THEN
markAsFalsePositive(finding)
END IFreleaseOk ← scanOk AND reviewOknpm audit --production