🐦 Twitter Post Details

Viewing enriched Twitter post

@karpathy

Some links 2,112 total packages depend on litellm (https://t.co/T8xWdrBp9g), 1,403 of them directly. Among these are e.g. DSPy, Open Interpreter, PraisonAI, MLflow, langchain-litellm. Primary Sources 1. Original disclosure (GitHub issue): https://t.co/w0j29cVvdq β€” the detailed technical writeup of the malicious payload, what it steals, how it works 2. BerriAI's official tracking issue: https://t.co/Jc4iIW7Qmr β€” the team's response and status updates 3. FutureSearch blog (the people who found it): https://t.co/SaX6ClxW8S β€” how a fork bomb bug in the malware crashed their machine and led to discovery 4. ramimac's full TeamPCP timeline: https://t.co/nfVesVbrnp β€” the broader campaign: Trivy β†’ Checkmarx β†’ litellm, with exact timestamps and IOCs 5. PyPA advisory: https://t.co/b7mJsYQkB3 β€” the official PYSEC-2026-2 Analysis & Discussion 6. Hacker News thread (main): https://t.co/t3BPEMVtk5 β€” includes direct responses from Krrish (litellm maintainer), best real-time discussion 7. Hacker News thread (early): https://t.co/5qxHxf3pvx β€” the first HN post 8. GitGuardian writeup: https://t.co/uaCmm1TqHO β€” good analysis of how leaked CI/CD secrets enabled the whole chain 9. Wiz blog on the broader campaign: https://t.co/CsdOgm9Ios β€” TeamPCP's attack on Checkmarx/KICS, same actor Downstream Impact 10. DSPy issue: https://t.co/sbgN2AWWlP 11. MLflow emergency pin PR: https://t.co/5gQbxU2Iou 12. DSPy emergency pin PR: https://t.co/AYKgJWdkkz Quick Summary for Your Post - 46-minute window of exposure on PyPI (10:39–11:25 UTC, Mar 24) - ~1,400 packages directly depend on litellm, all with open-ended version ranges - Caught because the malware had a bug (fork bomb) that crashed the discoverer's machine - Root cause: Trivy (a vulnerability scanner) was itself compromised, which leaked litellm's PyPI publish token - Attacker (TeamPCP) spammed the GitHub issue with hundreds of bot comments to bury the discussion

Media 1
Media 2
Media 3
Media 4
Media 5
Media 6
Media 7
Media 8
Media 9
Media 10

πŸ“Š Media Metadata

{
  "media": [
    {
      "type": "photo",
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036488892443140551/media_0.jpg",
      "filename": "media_0.jpg"
    },
    {
      "type": "photo",
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036488892443140551/media_1.jpg",
      "filename": "media_1.jpg"
    },
    {
      "type": "photo",
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036488892443140551/media_2.jpg",
      "filename": "media_2.jpg"
    },
    {
      "type": "photo",
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036488892443140551/media_3.png",
      "filename": "media_3.png"
    },
    {
      "type": "photo",
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036488892443140551/media_4.jpg",
      "filename": "media_4.jpg"
    },
    {
      "type": "photo",
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036488892443140551/media_5.png",
      "filename": "media_5.png"
    },
    {
      "type": "photo",
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036488892443140551/media_6.png",
      "filename": "media_6.png"
    },
    {
      "type": "photo",
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036488892443140551/media_7.jpg",
      "filename": "media_7.jpg"
    },
    {
      "type": "photo",
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036488892443140551/media_8.jpg",
      "filename": "media_8.jpg"
    },
    {
      "type": "photo",
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2036488892443140551/media_9.jpg",
      "filename": "media_9.jpg"
    }
  ],
  "processed_at": "2026-03-24T17:07:06.750783",
  "pipeline_version": "2.0"
}

πŸ”§ Raw API Response

{
  "type": "tweet",
  "id": "2036488892443140551",
  "url": "https://x.com/karpathy/status/2036488892443140551",
  "twitterUrl": "https://twitter.com/karpathy/status/2036488892443140551",
  "text": "Some links\n\n2,112 total packages depend on litellm (https://t.co/T8xWdrBp9g), 1,403 of them directly. Among these are e.g. DSPy, Open Interpreter, PraisonAI, MLflow, langchain-litellm.\n\nPrimary Sources\n\n  1. Original disclosure (GitHub issue): https://t.co/w0j29cVvdq β€” the detailed technical writeup of\n   the malicious payload, what it steals, how it works\n  2. BerriAI's official tracking issue: https://t.co/Jc4iIW7Qmr β€” the team's response and status\n  updates\n  3. FutureSearch blog (the people who found it): https://t.co/SaX6ClxW8S β€” how a\n  fork bomb bug in the malware crashed their machine and led to discovery\n  4. ramimac's full TeamPCP timeline: https://t.co/nfVesVbrnp β€” the broader campaign: Trivy β†’ Checkmarx β†’ litellm, with\n  exact timestamps and IOCs\n  5. PyPA advisory: https://t.co/b7mJsYQkB3 β€” the official\n  PYSEC-2026-2\n\n  Analysis & Discussion\n\n  6. Hacker News thread (main): https://t.co/t3BPEMVtk5 β€” includes direct responses from Krrish\n  (litellm maintainer), best real-time discussion\n  7. Hacker News thread (early): https://t.co/5qxHxf3pvx β€” the first HN post\n  8. GitGuardian writeup:\n  https://t.co/uaCmm1TqHO β€” good analysis of\n  how leaked CI/CD secrets enabled the whole chain\n  9. Wiz blog on the broader campaign: https://t.co/CsdOgm9Ios β€” TeamPCP's attack on\n  Checkmarx/KICS, same actor\n\n  Downstream Impact\n\n  10. DSPy issue: https://t.co/sbgN2AWWlP\n  11. MLflow emergency pin PR: https://t.co/5gQbxU2Iou\n  12. DSPy emergency pin PR: https://t.co/AYKgJWdkkz\n\n  Quick Summary for Your Post\n\n  - 46-minute window of exposure on PyPI (10:39–11:25 UTC, Mar 24)\n  - ~1,400 packages directly depend on litellm, all with open-ended version ranges\n  - Caught because the malware had a bug (fork bomb) that crashed the discoverer's machine\n  - Root cause: Trivy (a vulnerability scanner) was itself compromised, which leaked litellm's PyPI publish token\n  - Attacker (TeamPCP) spammed the GitHub issue with hundreds of bot comments to bury the discussion",
  "source": "Twitter for iPhone",
  "retweetCount": 0,
  "replyCount": 1,
  "likeCount": 6,
  "quoteCount": 0,
  "viewCount": 2959,
  "createdAt": "Tue Mar 24 17:02:42 +0000 2026",
  "lang": "en",
  "bookmarkCount": 0,
  "isReply": true,
  "inReplyToId": "2036487306585268612",
  "conversationId": "2036487306585268612",
  "displayTextRange": [
    0,
    273
  ],
  "inReplyToUserId": null,
  "inReplyToUsername": null,
  "author": {
    "type": "user",
    "userName": "karpathy",
    "url": "https://x.com/karpathy",
    "twitterUrl": "https://twitter.com/karpathy",
    "id": "33836629",
    "name": "Andrej Karpathy",
    "isVerified": false,
    "isBlueVerified": true,
    "verifiedType": null,
    "profilePicture": "https://pbs.twimg.com/profile_images/1296667294148382721/9Pr6XrPB_normal.jpg",
    "coverPicture": "https://pbs.twimg.com/profile_banners/33836629/1407117611",
    "description": "I like to train large deep neural nets. Previously Director of AI @ Tesla, founding team @ OpenAI, PhD @ Stanford.",
    "location": "Stanford",
    "followers": 1998073,
    "following": 1071,
    "status": "",
    "canDm": true,
    "canMediaTag": true,
    "createdAt": "Tue Apr 21 06:49:15 +0000 2009",
    "entities": {
      "description": {
        "urls": []
      },
      "url": {
        "urls": [
          {
            "display_url": "karpathy.ai",
            "expanded_url": "https://karpathy.ai",
            "indices": [
              0,
              23
            ],
            "url": "https://t.co/0EcFthjJXM"
          }
        ]
      }
    },
    "fastFollowersCount": 0,
    "favouritesCount": 22796,
    "hasCustomTimelines": true,
    "isTranslator": false,
    "mediaCount": 862,
    "statusesCount": 10055,
    "withheldInCountries": [],
    "affiliatesHighlightedLabel": {},
    "possiblySensitive": false,
    "pinnedTweetIds": [
      "1617979122625712128"
    ],
    "profile_bio": {},
    "isAutomated": false,
    "automatedBy": null
  },
  "extendedEntities": {},
  "card": {
    "binding_values": [
      {
        "key": "photo_image_full_size_large",
        "value": {
          "image_value": {
            "height": 419,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=800x419",
            "width": 800
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "thumbnail_image",
        "value": {
          "image_value": {
            "height": 200,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=400x400",
            "width": 400
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "description",
        "value": {
          "string_value": "[Security]: CRITICAL: Malicious litellm_init.pth in litellm 1.82.8 PyPI package β€” credential stealer Summary The litellm==1.82.8 wheel package on PyPI contains a malicious .pth file (litellm_init.p...",
          "type": "STRING"
        }
      },
      {
        "key": "domain",
        "value": {
          "string_value": "github.com",
          "type": "STRING"
        }
      },
      {
        "key": "thumbnail_image_large",
        "value": {
          "image_value": {
            "height": 300,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=600x600",
            "width": 600
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "summary_photo_image_small",
        "value": {
          "image_value": {
            "height": 202,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=386x202",
            "width": 386
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "thumbnail_image_original",
        "value": {
          "image_value": {
            "height": 600,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=orig",
            "width": 1200
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "site",
        "value": {
          "scribe_key": "publisher_id",
          "type": "USER",
          "user_value": {
            "id_str": "13334762",
            "path": []
          }
        }
      },
      {
        "key": "photo_image_full_size_small",
        "value": {
          "image_value": {
            "height": 202,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=386x202",
            "width": 386
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "summary_photo_image_large",
        "value": {
          "image_value": {
            "height": 419,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=800x419",
            "width": 800
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "thumbnail_image_small",
        "value": {
          "image_value": {
            "height": 72,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=144x144",
            "width": 144
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "thumbnail_image_x_large",
        "value": {
          "image_value": {
            "height": 600,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=png&name=2048x2048_2_exp",
            "width": 1200
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "photo_image_full_size_original",
        "value": {
          "image_value": {
            "height": 600,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=orig",
            "width": 1200
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "photo_image_full_size_alt_text",
        "value": {
          "string_value": "[Security]: CRITICAL: Malicious litellm_init.pth in litellm 1.82.8 PyPI package β€” credential stealer Summary The litellm==1.82.8 wheel package on PyPI contains a malicious .pth file (litellm_init.p...",
          "type": "STRING"
        }
      },
      {
        "key": "vanity_url",
        "value": {
          "scribe_key": "vanity_url",
          "string_value": "github.com",
          "type": "STRING"
        }
      },
      {
        "key": "photo_image_full_size",
        "value": {
          "image_value": {
            "height": 314,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=600x314",
            "width": 600
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "summary_photo_image_alt_text",
        "value": {
          "string_value": "[Security]: CRITICAL: Malicious litellm_init.pth in litellm 1.82.8 PyPI package β€” credential stealer Summary The litellm==1.82.8 wheel package on PyPI contains a malicious .pth file (litellm_init.p...",
          "type": "STRING"
        }
      },
      {
        "key": "thumbnail_image_color",
        "value": {
          "image_color_value": {
            "palette": [
              {
                "percentage": 89.7,
                "rgb": {
                  "blue": 255,
                  "green": 255,
                  "red": 255
                }
              },
              {
                "percentage": 5.7,
                "rgb": {
                  "blue": 123,
                  "green": 117,
                  "red": 112
                }
              },
              {
                "percentage": 3.3,
                "rgb": {
                  "blue": 166,
                  "green": 115,
                  "red": 53
                }
              },
              {
                "percentage": 1.06,
                "rgb": {
                  "blue": 157,
                  "green": 169,
                  "red": 180
                }
              }
            ]
          },
          "type": "IMAGE_COLOR"
        }
      },
      {
        "key": "title",
        "value": {
          "string_value": "[Security]: CRITICAL: Malicious litellm_init.pth in litellm 1.82.8 β€” credential stealer Β· Issue...",
          "type": "STRING"
        }
      },
      {
        "key": "summary_photo_image_color",
        "value": {
          "image_color_value": {
            "palette": [
              {
                "percentage": 89.7,
                "rgb": {
                  "blue": 255,
                  "green": 255,
                  "red": 255
                }
              },
              {
                "percentage": 5.7,
                "rgb": {
                  "blue": 123,
                  "green": 117,
                  "red": 112
                }
              },
              {
                "percentage": 3.3,
                "rgb": {
                  "blue": 166,
                  "green": 115,
                  "red": 53
                }
              },
              {
                "percentage": 1.06,
                "rgb": {
                  "blue": 157,
                  "green": 169,
                  "red": 180
                }
              }
            ]
          },
          "type": "IMAGE_COLOR"
        }
      },
      {
        "key": "summary_photo_image_x_large",
        "value": {
          "image_value": {
            "height": 600,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=png&name=2048x2048_2_exp",
            "width": 1200
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "summary_photo_image",
        "value": {
          "image_value": {
            "height": 314,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=600x314",
            "width": 600
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "photo_image_full_size_color",
        "value": {
          "image_color_value": {
            "palette": [
              {
                "percentage": 89.7,
                "rgb": {
                  "blue": 255,
                  "green": 255,
                  "red": 255
                }
              },
              {
                "percentage": 5.7,
                "rgb": {
                  "blue": 123,
                  "green": 117,
                  "red": 112
                }
              },
              {
                "percentage": 3.3,
                "rgb": {
                  "blue": 166,
                  "green": 115,
                  "red": 53
                }
              },
              {
                "percentage": 1.06,
                "rgb": {
                  "blue": 157,
                  "green": 169,
                  "red": 180
                }
              }
            ]
          },
          "type": "IMAGE_COLOR"
        }
      },
      {
        "key": "photo_image_full_size_x_large",
        "value": {
          "image_value": {
            "height": 600,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=png&name=2048x2048_2_exp",
            "width": 1200
          },
          "type": "IMAGE"
        }
      },
      {
        "key": "card_url",
        "value": {
          "scribe_key": "card_url",
          "string_value": "https://t.co/Z6j5RRdXus",
          "type": "STRING"
        }
      },
      {
        "key": "summary_photo_image_original",
        "value": {
          "image_value": {
            "height": 600,
            "url": "https://pbs.twimg.com/card_img/2036463043455098882/V8HT_BEs?format=jpg&name=orig",
            "width": 1200
          },
          "type": "IMAGE"
        }
      }
    ],
    "card_platform": {
      "platform": {
        "audience": {
          "name": "production"
        },
        "device": {
          "name": "Swift",
          "version": "12"
        }
      }
    },
    "name": "summary_large_image",
    "url": "https://t.co/Z6j5RRdXus",
    "user_refs_results": [
      {
        "result": {
          "__typename": "User",
          "affiliates_highlighted_label": {},
          "has_graduated_access": true,
          "id": "VXNlcjoxMzMzNDc2Mg==",
          "is_blue_verified": true,
          "legacy": {
            "blocked_by": false,
            "blocking": false,
            "can_dm": false,
            "can_media_tag": true,
            "created_at": "Mon Feb 11 04:41:50 +0000 2008",
            "default_profile": false,
            "default_profile_image": false,
            "description": "The AI-powered developer platform to build, scale, and deliver secure software.",
            "entities": {
              "description": {
                "urls": []
              },
              "url": {
                "urls": [
                  {
                    "display_url": "github.com",
                    "expanded_url": "http://github.com",
                    "indices": [
                      0,
                      23
                    ],
                    "url": "https://t.co/bbJgfyzKzp"
                  }
                ]
              }
            },
            "fast_followers_count": 0,
            "favourites_count": 8658,
            "follow_request_sent": false,
            "followed_by": false,
            "followers_count": 2624877,
            "following": false,
            "friends_count": 333,
            "has_custom_timelines": true,
            "is_translator": false,
            "listed_count": 18347,
            "location": "San Francisco, CA",
            "media_count": 2932,
            "muting": false,
            "name": "GitHub",
            "normal_followers_count": 2624877,
            "notifications": false,
            "pinned_tweet_ids_str": [
              "2019093909981257849"
            ],
            "possibly_sensitive": false,
            "profile_banner_url": "https://pbs.twimg.com/profile_banners/13334762/1765308302",
            "profile_image_url_https": "https://pbs.twimg.com/profile_images/1633247750010830848/8zfRrYjA_normal.png",
            "profile_interstitial_type": "",
            "protected": false,
            "screen_name": "github",
            "statuses_count": 10446,
            "translator_type": "none",
            "url": "https://t.co/bbJgfyzKzp",
            "verified": false,
            "verified_type": "Business",
            "want_retweets": false,
            "withheld_in_countries": []
          },
          "parody_commentary_fan_label": "None",
          "profile_image_shape": "Square",
          "rest_id": "13334762",
          "super_follow_eligible": false,
          "super_followed_by": false,
          "super_following": false,
          "tipjar_settings": {}
        }
      }
    ]
  },
  "place": {},
  "entities": {
    "hashtags": [],
    "symbols": [],
    "urls": [
      {
        "display_url": "deps.dev/pypi/litellm",
        "expanded_url": "https://deps.dev/pypi/litellm",
        "indices": [
          52,
          75
        ],
        "url": "https://t.co/T8xWdrBp9g"
      },
      {
        "display_url": "github.com/BerriAI/litell…",
        "expanded_url": "https://github.com/BerriAI/litellm/issues/24512",
        "indices": [
          244,
          267
        ],
        "url": "https://t.co/w0j29cVvdq"
      },
      {
        "display_url": "github.com/BerriAI/litell…",
        "expanded_url": "https://github.com/BerriAI/litellm/issues/24518",
        "indices": [
          399,
          422
        ],
        "url": "https://t.co/Jc4iIW7Qmr"
      },
      {
        "display_url": "futuresearch.ai/blog/litellm-p…",
        "expanded_url": "https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack/",
        "indices": [
          516,
          539
        ],
        "url": "https://t.co/SaX6ClxW8S"
      },
      {
        "display_url": "ramimac.me/teampcp/",
        "expanded_url": "https://ramimac.me/teampcp/",
        "indices": [
          660,
          683
        ],
        "url": "https://t.co/nfVesVbrnp"
      },
      {
        "display_url": "github.com/pypa/advisory-…",
        "expanded_url": "https://github.com/pypa/advisory-database/blob/main/vulns/litellm/PYSEC-2026-2.yaml",
        "indices": [
          790,
          813
        ],
        "url": "https://t.co/b7mJsYQkB3"
      },
      {
        "display_url": "news.ycombinator.com/item?id=475017…",
        "expanded_url": "https://news.ycombinator.com/item?id=47501729",
        "indices": [
          902,
          925
        ],
        "url": "https://t.co/t3BPEMVtk5"
      },
      {
        "display_url": "news.ycombinator.com/item?id=475014…",
        "expanded_url": "https://news.ycombinator.com/item?id=47501426",
        "indices": [
          1049,
          1072
        ],
        "url": "https://t.co/5qxHxf3pvx"
      },
      {
        "display_url": "blog.gitguardian.com/trivys-march-s…",
        "expanded_url": "https://blog.gitguardian.com/trivys-march-supply-chain-attack-shows-where-secret-exposure-hurts-most/",
        "indices": [
          1121,
          1144
        ],
        "url": "https://t.co/uaCmm1TqHO"
      },
      {
        "display_url": "wiz.io/blog/teampcp-a…",
        "expanded_url": "https://www.wiz.io/blog/teampcp-attack-kics-github-action",
        "indices": [
          1254,
          1277
        ],
        "url": "https://t.co/CsdOgm9Ios"
      },
      {
        "display_url": "github.com/stanfordnlp/ds…",
        "expanded_url": "https://github.com/stanfordnlp/dspy/issues/9500",
        "indices": [
          1369,
          1392
        ],
        "url": "https://t.co/sbgN2AWWlP"
      },
      {
        "display_url": "github.com/mlflow/mlflow/…",
        "expanded_url": "https://github.com/mlflow/mlflow/pull/21971",
        "indices": [
          1424,
          1447
        ],
        "url": "https://t.co/5gQbxU2Iou"
      },
      {
        "display_url": "github.com/stanfordnlp/ds…",
        "expanded_url": "https://github.com/stanfordnlp/dspy/pull/9498",
        "indices": [
          1477,
          1500
        ],
        "url": "https://t.co/AYKgJWdkkz"
      }
    ],
    "user_mentions": []
  },
  "quoted_tweet": null,
  "retweeted_tweet": null,
  "article": null
}