Vulnerabilities maliciously introduced in python libraries partially mitigated

THREAT86 · Partially mitigated: Some controls are in place, but the risk is still too high. · Defined in catalog.py:1491

Risk
High impact × Medium likelihood = 9 high
After mitigations
High impact × Medium likelihood = 9 high (unchanged)

How statuses and scores work

An attacker could maliciously introduce vulnerabilities in the code used by Python dependencies of SecureDrop.

Threat actors: Any

Mitigations

Mitigation Status
Dependencies are kept to a minimum and only commonly used dependencies are used in SecureDrop MITIG92 implemented
Hashes of dependencies are stored in source control. MITIG93 implemented
Python wheels rebuilt from source tarballs at debian package build time. MITIG94 implemented

Possible further mitigations

Where it applies

Applies to 1 component in 1 scenario.

Supply chain and dependencies · SecureDrop source repository

Notes

Existing mitigations: SecureDrop uses the least amount of Python packages as possible (MITIG92). Hashes are pinned in requirements files (MITIG93) and used at wheel build-time to validate integrity of upstream source tarballs (MITIG94). Further mitigations: Investigate a more formalized peer-review process for the inclusion of pip packages in SecureDrop app code. Diff review performed when packages are updated (MITIG95). Run static analysis and scanning to dependency source code (MITIG243). Automated test for mitigation: No.

How this threat is matched

Listed for these components. A boundary covers every component inside it.