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 | |
|---|---|---|
| 1requests==2.31.0 | AThe package is installed without checking who made it or whether it is trusted. Verify and scan it first, or avoid it. | |
| 2pip-audit | BPins one exact version of a dependency, so a new or tampered release cannot slip in during an update. | |
| 3Verify integrity by checking that a downloaded file has the same hash the publisher shared | CThis does not pin a version. Any newer release is allowed, including a tampered one. Use an exact version such as requests==2.31.0. | |
| 4Use fewer trusted dependencies by keeping your list short and only adding packages you need | Dsha256sum package.zip | |
| 5requests>=2.0 | Erequests==2.31.0 | |
| 6pip install totally-new-pkg | FScans your dependencies and reports any that have known vulnerabilities, so you can update or replace them. |
Complete each line of code by filling in the missing parts.
Shade in the letter of the line that contains an error.
reduce supply chain risk — Lower the chance of a bad dependency: use fewer trusted ones, pin exact versions, verify their integrity with hashes, and scan them for known vulnerabilities.flask==3.0.0digest = hashlib.sha256(data).hexdigest()npm auditif digest == expected:
print("Hash matches")
else:pip freeze > requirements.txt