@simonw
Thankfully the LiteLLM package has now been marked as "quarantined" on PyPI so attempting to install the compromised update via pip et al shouldn't work https://t.co/BmrbWCoLXn
Viewing enriched Twitter post
Thankfully the LiteLLM package has now been marked as "quarantined" on PyPI so attempting to install the compromised update via pip et al shouldn't work https://t.co/BmrbWCoLXn
{
"media": [
{
"url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036451896970584167/media_0.jpg",
"media_url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036451896970584167/media_0.jpg",
"type": "photo",
"filename": "media_0.jpg"
}
],
"processed_at": "2026-03-24T19:20:28.545303",
"pipeline_version": "2.0"
} {
"type": "tweet",
"id": "2036451896970584167",
"url": "https://x.com/simonw/status/2036451896970584167",
"twitterUrl": "https://twitter.com/simonw/status/2036451896970584167",
"text": "Thankfully the LiteLLM package has now been marked as \"quarantined\" on PyPI so attempting to install the compromised update via pip et al shouldn't work https://t.co/BmrbWCoLXn",
"source": "Twitter for iPhone",
"retweetCount": 75,
"replyCount": 34,
"likeCount": 717,
"quoteCount": 11,
"viewCount": 76426,
"createdAt": "Tue Mar 24 14:35:42 +0000 2026",
"lang": "en",
"bookmarkCount": 64,
"isReply": false,
"inReplyToId": null,
"conversationId": "2036451896970584167",
"displayTextRange": [
0,
152
],
"inReplyToUserId": null,
"inReplyToUsername": null,
"author": {
"type": "user",
"userName": "simonw",
"url": "https://x.com/simonw",
"twitterUrl": "https://twitter.com/simonw",
"id": "12497",
"name": "Simon Willison",
"isVerified": false,
"isBlueVerified": true,
"verifiedType": null,
"profilePicture": "https://pbs.twimg.com/profile_images/378800000261649705/be9cc55e64014e6d7663c50d7cb9fc75_normal.jpeg",
"coverPicture": "https://pbs.twimg.com/profile_banners/12497/1642751752",
"description": "",
"location": "San Francisco, CA",
"followers": 152944,
"following": 5618,
"status": "",
"canDm": true,
"canMediaTag": true,
"createdAt": "Wed Nov 15 13:18:50 +0000 2006",
"entities": {
"description": {
"urls": []
},
"url": {}
},
"fastFollowersCount": 0,
"favouritesCount": 62681,
"hasCustomTimelines": true,
"isTranslator": true,
"mediaCount": 3879,
"statusesCount": 60376,
"withheldInCountries": [],
"affiliatesHighlightedLabel": {},
"possiblySensitive": false,
"pinnedTweetIds": [],
"profile_bio": {
"description": "Creator @datasetteproj, co-creator Django. PSF board. Hangs out with @natbat. He/Him. Mastodon: https://t.co/t0MrmnJW0K Bsky: https://t.co/OnWIyhX4CH",
"entities": {
"description": {
"hashtags": [],
"symbols": [],
"urls": [
{
"display_url": "fedi.simonwillison.net/@simon",
"expanded_url": "https://fedi.simonwillison.net/@simon",
"indices": [
96,
119
],
"url": "https://t.co/t0MrmnJW0K"
},
{
"display_url": "simonwillison.net",
"expanded_url": "http://simonwillison.net",
"indices": [
126,
149
],
"url": "https://t.co/OnWIyhX4CH"
}
],
"user_mentions": [
{
"id_str": "0",
"indices": [
8,
22
],
"name": "",
"screen_name": "datasetteproj"
},
{
"id_str": "0",
"indices": [
69,
76
],
"name": "",
"screen_name": "natbat"
}
]
},
"url": {
"urls": [
{
"display_url": "simonwillison.net",
"expanded_url": "https://simonwillison.net/",
"indices": [
0,
23
],
"url": "https://t.co/p4R0XiEYEc"
}
]
}
}
},
"isAutomated": false,
"automatedBy": null
},
"extendedEntities": {
"media": [
{
"display_url": "pic.twitter.com/BmrbWCoLXn",
"expanded_url": "https://twitter.com/simonw/status/2036451896970584167/photo/1",
"ext_alt_text": "Screenshot of the PyPI package page for \"litellm 1.82.8\". A yellow warning banner reads \"⚠ This project has been quarantined\". Below the title it says \"Released: about 4 hours ago\". The package description reads \"Library to easily interface with LLM API providers\". Navigation tabs include \"Project description\" (selected, highlighted in blue), \"Project details\", \"Release history\", and \"Download files\". At the bottom, a dark-bordered notice box states: \"This project has been quarantined. PyPI Admins need to review this project before it can be restored. While in quarantine, the project is not installable by clients, and cannot be being modified by its maintainers. Read more in the project in quarantine help article.\"",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": []
},
"orig": {
"faces": []
}
},
"id_str": "2036451891929030659",
"indices": [
153,
176
],
"media_key": "3_2036451891929030659",
"media_results": {
"id": "QXBpTWVkaWFSZXN1bHRzOgwAAQoAARxC7jTEmiADCgACHELuNfEaIGcAAA==",
"result": {
"__typename": "ApiMedia",
"id": "QXBpTWVkaWE6DAABCgABHELuNMSaIAMKAAIcQu418RogZwAA",
"media_key": "3_2036451891929030659"
}
},
"media_url_https": "https://pbs.twimg.com/media/HELuNMSaIAM7oHW.jpg",
"original_info": {
"focus_rects": [
{
"h": 700,
"w": 1250,
"x": 0,
"y": 1339
},
{
"h": 1250,
"w": 1250,
"x": 0,
"y": 798
},
{
"h": 1425,
"w": 1250,
"x": 0,
"y": 623
},
{
"h": 2048,
"w": 1024,
"x": 0,
"y": 0
},
{
"h": 2048,
"w": 1250,
"x": 0,
"y": 0
}
],
"height": 2048,
"width": 1250
},
"sizes": {
"large": {
"h": 2048,
"w": 1250
}
},
"type": "photo",
"url": "https://t.co/BmrbWCoLXn"
}
]
},
"card": null,
"place": {},
"entities": {
"hashtags": [],
"symbols": [],
"timestamps": [],
"urls": [],
"user_mentions": []
},
"quoted_tweet": {
"type": "tweet",
"id": "2036414330267193815",
"url": "https://x.com/hnykda/status/2036414330267193815",
"twitterUrl": "https://twitter.com/hnykda/status/2036414330267193815",
"text": "LiteLLM HAS BEEN COMPROMISED, DO NOT UPDATE. We just discovered that LiteLLM pypi release 1.82.8. It has been compromised, it contains litellm_init.pth with base64 encoded instructions to send all the credentials it can find to remote server + self-replicate. link below",
"source": "Twitter for iPhone",
"retweetCount": 1335,
"replyCount": 176,
"likeCount": 5385,
"quoteCount": 355,
"viewCount": 1768290,
"createdAt": "Tue Mar 24 12:06:25 +0000 2026",
"lang": "en",
"bookmarkCount": 1567,
"isReply": false,
"inReplyToId": null,
"conversationId": "2036414330267193815",
"displayTextRange": [
0,
270
],
"inReplyToUserId": null,
"inReplyToUsername": null,
"author": {
"type": "user",
"userName": "hnykda",
"url": "https://x.com/hnykda",
"twitterUrl": "https://twitter.com/hnykda",
"id": "2647149458",
"name": "Daniel Hnyk",
"isVerified": false,
"isBlueVerified": false,
"verifiedType": null,
"profilePicture": "https://pbs.twimg.com/profile_images/1871900181039284224/K31s4rSH_normal.jpg",
"coverPicture": "",
"description": "",
"location": "",
"followers": 733,
"following": 37,
"status": "",
"canDm": false,
"canMediaTag": true,
"createdAt": "Tue Jul 15 08:00:09 +0000 2014",
"entities": {
"description": {
"urls": []
},
"url": {}
},
"fastFollowersCount": 0,
"favouritesCount": 260,
"hasCustomTimelines": true,
"isTranslator": false,
"mediaCount": 9,
"statusesCount": 70,
"withheldInCountries": [],
"affiliatesHighlightedLabel": {},
"possiblySensitive": false,
"pinnedTweetIds": [],
"profile_bio": {
"description": "",
"entities": {
"description": {
"hashtags": [],
"symbols": [],
"urls": [],
"user_mentions": []
}
}
},
"isAutomated": false,
"automatedBy": null
},
"extendedEntities": {},
"card": null,
"place": {},
"entities": {
"hashtags": [],
"symbols": [],
"timestamps": [],
"urls": [],
"user_mentions": []
},
"quoted_tweet": null,
"retweeted_tweet": null,
"isLimitedReply": false,
"article": null
},
"retweeted_tweet": null,
"isLimitedReply": false,
"article": null
}