Skip to content

Commit b689cdc

Browse files
Add Story Time on Typosquatting
Signed-off-by: David A. Wheeler <[email protected]>
1 parent 1d95440 commit b689cdc

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

secure_software_development_fundamentals.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1198,6 +1198,10 @@ Most of these questions also apply to closed source software that is reused.
11981198

11991199
Most software depends on other software, which in turn often depends on other software with many tiers. A software bill of materials (SBOM) is a nested inventory that identifies the software components that make up a larger piece of software. Many ecosystems have ecosystem-specific SBOM formats. There are also some SBOM formats that support arbitrary ecosystems: [Software Package Data Exchange (SPDX)](https://spdx.dev/), [Software ID (SWID)](https://csrc.nist.gov/Projects/Software-Identification-SWID/), and [CycloneDX](https://github.com/CycloneDX/specification). When an SBOM is available for a component you are thinking about using, it’s often easier to use that data to help answer some of the questions listed above. It’s also good to provide an SBOM to potential users of your software, for the same reasons.
12001200

1201+
> 😱 STORY TIME: Typosquatting by jeIlyfish and python3-dateutil
1202+
1203+
> On 2019-12-01 German software developer Lukas Martini discovered that two Python libraries on the popular PyPI (Python Package Index) were typosquatting attacks. These malicious packages would steal SSH and GPG private keys from developers who used them. The malicious package `jeIlyfish` (note that the first `L` is really an `I`), which imitated the `jellyfish` library, did the damage. The same attacker also uploaded a malicious package named `python3-dateutil` which imitated the popular `dateutil` library. The malicious package `python3-dateutil` didn't include any malicious code itself, but instead loaded in the malicious package `jeIlyfish` as a dependency. The malicious package `python3-dateutil` had only been on PyPI for two days, but the malicious package `jeIlyfish` had been available for nearly a year. Both libraries were removed by PyPI on the day PyPI was notified. (["Two malicious Python libraries caught stealing SSH and GPG keys" by Catalin Cimpanu, ZDNet, 2019](https://www.zdnet.com/article/two-malicious-python-libraries-removed-from-pypi/))
1204+
12011205
#### Quiz 3.1: Selecting (Evaluating) Open Source Software
12021206

12031207
\>\>What is evidence that the software you are thinking of reusing will probably be a good choice for security? Select all answers that apply.<<
@@ -5924,6 +5928,8 @@ Chen, Raymond, *Undefined behavior can result in time travel (among other things
59245928

59255929
Cimpanu, Catalin, *Microsoft: 70 percent of all security bugs are memory safe issues*, 2019-02-11 ([https://www.zdnet.com/article/microsoft-70-percent-of-all-security-bugs-are-memory-safety-issues/](https://www.zdnet.com/article/microsoft-70-percent-of-all-security-bugs-are-memory-safety-issues/))
59265930

5931+
Cimpanu, Catalin, "Two malicious Python libraries caught stealing SSH and GPG keys", ZDNet, 2019-12-03, <https://www.zdnet.com/article/two-malicious-python-libraries-removed-from-pypi>
5932+
59275933
CISCO, *Next Generation Cryptography* ([https://tools.cisco.com/security/center/resources/next_generation_cryptography](https://tools.cisco.com/security/center/resources/next_generation_cryptography))
59285934

59295935
Coggeshall, John, *Updating the Git protocol for SHA-256*, 2020 ([https://lwn.net/Articles/823352/](https://lwn.net/Articles/823352/))

0 commit comments

Comments
 (0)