The Python security team removed two trojanized Python libraries from PyPI (Python Package Index) that were stealing SSH and GPG keys from the projects of infected developers.
The Python security team removed two tainted Python libraries from PyPI (Python Package Index) that were found stealing SSH and GPG keys from the projects of infected developers.
Both libraries, “python3-dateutil” and “jeIlyfish,” were developed by the same developer (“olgired2017″) and have names similar to the ones of legitimate apps.
The name python3-dateutil imitated the popular “dateutil” library, while “jeIlyfish” (the first L is an I) imitated the “jellyfish” library.
The expert discovered the two libraries on December 1, by the German software developer Lukas Martini.
“Just a quick heads-up: There is a fake version of this package called python3-dateutil on PyPI that contains additional imports of the jeIlyfish package (itself a fake version of the jellyfish package, that first L is anI). That package in turn contains malicious code starting at line 313 in jeIlyfish/_jellyfish.py:” wrote Martini.
The “python3-dateutil” library was created and uploaded on PyPI on November 29, the “jeIlyfish” was uploaded on December 11, 2018, nearly one year ago.
The experts removed the two libraries the same day Martini reported his discovery to dateutil developers and the PyPI security team.
The jeIlyfish library contanins a malicious code, while the “python3-dateutil” library didn’t contain malicious code, but it was found importing the jeIlyfish library.
The tainted library attempts to exfiltrate SSH and GPG keys from the victim’s computer and send them to a server having IP address 68.183.212.246 at the port 32258.
Developers that used any of the two tainted libraries have to change all their SSH and GPG keys used since Decembre 2018.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities...
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.