39 comments

  • linsomniac 14 hours ago

    Just going to remind you all that https://canarytokens.org/ exists.

    • radku 2 hours ago

      Canary token is great to tell you've been hacked.

      There are ways to try to prevent this from happening in a first place. I wrote kow (keys-on-the-wire) to fix this. Apps only see placeholder tokens. The proxy injects real key from the vault into outbound requests for allowed hosts.

      Author here. Apache-2.0. [1] https://keysonthewire.com [2] https://github.com/inflightsec/keys-on-the-wire

      • dropbox_miner 14 hours ago

        TIL! this is cool

        • TacticalCoder 8 hours ago

          Yeah it's not totally unlike people who consider learning that they've been hacked is worth more than $x and so, even if they're not into cryptocurrencies, they leave the equivalent of $x on their computer in a "software wallet", in an obvious place.

          It's not a guaranteed you'll know you've been hacked, but it's still quite a flag to leave. And there are services doing the equivalent of what you posted, but for cryptocurrencies: they contact you through email, SMS, snail mail even, if they detect that "coins at address ..." ever move.

        • crossroadsguy 14 hours ago

          All the sandbox-exec and all the Lulu rules are not going to protect against something like this.

          At one point permission pop-up fatigue sets in we start giving any permission as if it's normal. We also become desensitised to isntalling tools: brew, npm, it becomes second nature.

          "Oh, those 367 tools installed by package X? Yeah yeah, must be normal, that's how all these work now".

          "Brew shows 59 packages outdated?". "Must upgrade". "Yeah, done. Perfect".

          And the advent of agents and harnesses. It's not a matter of whether, it's when! OSes need to do something about it. Help users have complete separate "program space" at ease with better, easier, and lighter VMs if nothing else. I know, I know - Unix and Linux solved all this even before Alexander III of Macedon started wearing his nappies. Of course.

          • fdsjgfklsfd 12 hours ago

            No no it's really important that I have 5-factor authentication on every website and it requires me to go through the whole login process again every time I break eye contact.

            • Terr_ 7 hours ago

              And if it ever detects that you briefly used a browser with any kind of privacy-preserving features on any website, you will be logged out from all devices and forced to revalidate your email and gene sequences.

              Discord does this with Firefox: It doesn't even tell you that a captcha failed or anything, just poof logged out and you must re reverify the same email you verified 10 minutes ago.

              • sznio 1 hour ago

                and yet somehow an attacker never needs all these auth methods.

                my boyfriend didn't have 2fa enabled, but google would still ask him to verify a code on his phone. recently his password leaked, the hackers got into the account and google never bothered them with an extra verification. amazing. the fact that they signed in from a completely different country? who cares!

                (yes i enabled 2fa for him now)

                • hoppp 12 hours ago

                  Ready to add anal probes?

              • yturijea 1 hour ago

                This is seriously one of the reasons I see Rust as quite suspicious(with its 200-300 dependencies in all builds), unlike golang where you can actually create a full app with no dependencies.

                • isityettime 11 hours ago

                  > All the sandbox-exec and all the Lulu rules are not going to protect against something like this.

                  No, you can block this with sandboxing tools. For my LLM agents, I use a tool called Nono, whose macOS implementation is built on the same foundation as sandbox-exec. One of the key features it supports (and it's not the only tool that does this) is proxying and the injection of credentials via the proxy. For example, when I run Codex at work, Codex does not have access to my Azure AI Foundry API credentials. It sends out requests via dummy credentials, and the proxy injects the real ones outside the sandbox.

                  The other thing that proxy does is let you restrict network access in various ways. So you can run something like LiteLLM so that it doesn't have access to the internet at large; it can only talk to Azure AI Foundry or AWS Bedrock or whoever your inference provider is. You sandbox LiteLLM separately from your agents, and you give it access to much less. The software firewall stuff isn't perfect but it is a significant defense against things like this.

                  There are also lots of other restrictions that are easy to do which mitigate this. Nono blocks access to the root of $HOME, then selectively allows access to paths within it, and also explicitly blocks access to common paths to secrets. So it's pretty easy to make sure that access to important things are blocked: SSH credentials, GnuPG socket (and local Unix sockets in general), local OS keyrings, etc.

                  The way I use tools like this is exclusively by writing policy, testing it, and revising where the policy is inadequate. I never get approval fatigue because I don't do approvals.

                  You're right that attacks like this are hard to defend against, and that we're used to tool sprawl, and also that LLMs can do things like install tools we don't expect them to themselves! But there are ways to anticipate and mitigate attacks like this. Sandboxing tools (including contained and VMs) that support credential injection are genuinely useful for this.

                  • drdaeman 10 hours ago

                    Until this Nono tool gets a supply chain attack and happily ships all your Azure credentials somewhere they aren’t supposed to be, then starts mining Monero or something.

                    LiteLLM is frequently used in roughly the same scenario - trading virtual LAN-only keys for real ones as it relays requests to the inference providers.

                    • isityettime 10 hours ago

                      > LiteLLM is frequently used in roughly the same scenario - trading virtual LAN-only keys for real ones as it relays requests to the inference providers.

                      LiteLLM isn't a sandboxing tool so it just can't perform as much risk reduction even when everything is working as intended.

                      And what nono adds over sandbox-exec is a uniform interface across platforms and some policy management tools. You can impose the same restrictions via the OS built-in mechanisms yourself via Seatbelt or a built-in interface like sandbox-exec. You can also combine an OS-level sandboxing tool like nono, zerobox, Anthropic's srt, Seatbelt, landrun, Bubblewrap, Fence, etc., with a VM-based one like Docker's sbx, smolvm, krunvm, microsandbox, or Shuru. So now you need two simultaneous supply chain attacks in unrelated projects to line up just right at the same time.

                      "Eventually you have to trust some part of your security stack" is neither particularly interesting nor evidence that there's no way to defend against supply chain attacks. Even if you only have one sandboxing tool and it's OS-level rather than VM-based, that becomes a single part of your stack that you can give special attention to in evaluating updates in a way that LiteLLM can't be.

                      There's also just the empirical fact that at this point, trusting LiteLLM's maintainers to lock down their release pipelines looks foolhardy. This is the second supply chain attack they've had in 7 months. It's absolutely wiser to choose a sandboxing tool you like, audit it to examine its release pipelines, code signing requirements, attestation strategy, and whatever else, then put LiteLLM inside that tool's sandbox than to just thow your hands up and say "I gotta trust something, so it might as well be LiteLLM!". Maybe nono ain't it either, idk. I'm still experimenting to figure out how I want my setup to work.

                      But I think neither the defeatism nor the relativism in this thread are very compelling.

                  • decentstates 3 hours ago

                    Sandboxing should be built in to your windows manager like: https://decentstat.es/posts/shai-halud-nix-housing/

                    • atmosx 10 hours ago

                      Yes it’s messed up. I was thinking about pi agent and the extensions getting updates every three hours.

                      • abhisek 14 hours ago

                        What are you talking about? Even dependency cooldown of 24h is enough to protect the consumers from these breaches. The attack did not have any novelty, used a newly registered look-alike domain for C2 and a PTH technique which is now known.

                        Sandbox comes in for the unknown ones and yes, its a pain to get the profile right.

                        • lrvick 13 hours ago

                          > Even dependency cooldown of 24h is enough to protect the consumers from these breaches.

                          From some of them perhaps, but plenty hide for -years- undetected.

                          • woodruffw 4 hours ago

                            > From some of them perhaps, but plenty hide for -years- undetected.

                            Which ones? Not even xz-utils was years (it was weeks), and it’s the poster child for a attacker doing everything right until the very end.

                            • Eisenstein 2 hours ago

                              When they catch a shipment of drugs being smuggled across the border, do they say 'we got them all'? You have to assume for every number X that you intercept, you miss X * Y.

                            • nvme0n1p1 13 hours ago

                              Don't let perfect be the enemy of good

                              • lrvick 9 hours ago

                                It would be like having a one day quarantine for a deadly and rapidly spreading disease known to have a very long asymptomatic period.

                                I mean okay, it probably helps in some random cases, but the disease will not care at all. Easy to route around and we just wasted a lot of developer energy treating symptoms and ignoring the actual problems.

                                People are running around acting like cooldowns fix supply chain attacks. This is completely absurd. Imagine an antivirus that just makes you wait one day to install any new software or updates. Should we do that too? We should question what problem are we actually solving before this type of thinking gets even more out of hand.

                                What we need is actually reviewing all heavily used OSS code with as many eyes and agents as possible in a coordinated and decentralized way, and then federated reproducible signed releases. If we are going to have a one day cooldown, we must do something actually useful with it or people will see it does no good and stop doing it. Without a review plan, a day might as well be a year.

                                Like literally fund this with taxes or something like caring for public roads. Add it to our internet bill like a utility safety fee.

                                • brookst 6 hours ago

                                  You’re imagining one single threat. Which isn’t the case.

                                  It would be like having a one-day quarantine against 500k viruses, which have a median asymptomatic time of 3 hours and stdev of 1 hour: sure, statistically some get by you. But it’s dramatically better than insisting on no protection except perfect protection.

                                  • anonreplier 9 hours ago

                                    Yes, that’s not going to happen. At best you’ll get curated commercial repos.

                            • cptmurphy 13 hours ago

                              Fuchsia solved that

                              • caaqil 13 hours ago

                                > Unix and Linux solved all this even before Alexander III of Macedon started wearing his nappies

                                I mean, didn't Linux shells invent pop-up fatigue? I thought we (yes, we) all used to -y flag preemptively so the upgrades and installations/setups go through. Linux really did do it first, the agents are just more needy and their popups more verbose now, but not exactly new.

                                VM isn't a silver bullet.

                                • fc417fc802 11 hours ago

                                  Stuff like this is highly context dependent. It is a good thing that apt asks about each step. I voluntarily add more of this by opting for things like listbugs. If I then decide to override such protections with a -y for whatever reason that's a choice on my part to prioritize convenience.

                                  Either way it's got nothing to do with security - I was never going to catch a vulnerability in the central debian repos by reading a list of dependent packages.

                                  • isityettime 10 hours ago

                                    It's kind of the opposite. The more typical Unix nehavior is to just assume you knew what you were doing and meant it, and not ask for confirmation in the first place. -y is just the reversion of an abberation.

                                • rsanheim 11 hours ago

                                  This is the second significant exploit against LiteLLM in what, a year or two ? Just last night I came across notes and a script from an older claude session to help audit all project dependencies and verify nothing used litellm.

                                  Okay, checked, it was March of this year: https://futuresearch.ai/blog/litellm-pypi-supply-chain-attac.... What even is time anymore in the llm age?

                                  • halJordan 8 hours ago

                                    And buried under the lede is that one of the compromised people was one of the organization owners. So it seems like the culture of insecurity comes from the top, which is unfortunate especially bc they keep acting like "this could've happened to anyone guys"

                                    • brookst 6 hours ago

                                      Yeah the excuse that it wasn’t a project vuln, just the project maintainers having a machine taken over… that’s not great.

                                    • sebdufbeau 7 hours ago

                                      there's another one this summer that didn't get as much attention (or any at all) which allowed exfiltrating master provider keys with any authenticated user/virtual key

                                      https://nvd.nist.gov/vuln/detail/cve-2026-84377

                                      • atmosx 10 hours ago

                                        Indeed, I don't think I'm upgrading ever again. I'll stuck with 1.04.2 for a year or two. Feels like a Russian rulette at this point.

                                        • detente18 6 hours ago

                                          Hi atmosx - i would recommend upgrading.

                                          We work hard on improving the stability and security of LiteLLM on each release.

                                          Please let me (krrish@berri.ai) know if you have any issues upgrading!

                                      • pkulak 15 hours ago

                                        How could this happen to a project with 55k commits in three years?

                                        • Aurornis 14 hours ago

                                          The compromise appears somewhere in the build and deploy system.

                                          > No public commit in BerriAI/litellm contains data = "cook" or a cook/ folder.

                                          > SafeDep assesses, with moderate to high confidence, that BerriAI’s private release pipeline built these wheels from an attacker-modified git source.

                                          • crossroadsguy 14 hours ago

                                            Every harness thinking right now… "if we want do something like this we won't even have to compromise anything."

                                            • zargon 14 hours ago

                                              Sarcasm?

                                          • threecheese 13 hours ago

                                            "Attackers compromised 3 unique developer github credentials" is a little scary; this seems systemic - if three developers had their keys stolen, it implies the real problem is elsewhere.

                                            They revoked all but one developers, which is probably the right approach, but I'd pin LiteLLM to "something before this version" and keep it there until further notice!

                                          • detente18 6 hours ago

                                            Hi everyone, this has been contained. The attack was novel, and I'd love feedback on how we can improve from this.

                                            Here's what we know so far: https://docs.litellm.ai/blog/security-incident-oct-21-2026#h...

                                            - Krrish

                                            • joshheitzman 6 hours ago

                                              > specific situations in which Claude Code will embed a user's GitHub CLI OAuth token into a response body, and in situations where response bodies are logged, these tokens may appear in LiteLLM logs.

                                              That's pretty hand wavy. What did y'all have CC doing that it had your GitHub CLI OAuth token in its context at all?

                                              Stuff like this is why my coding agent is a coding agent not shell agent that basically own the machine. Mine has no tool for shell use narrow tools specific things like ripgrep, finding files, and deleting files that limit the paths to explicit workspace directory.

                                              I take care of commits, push/pull, building wheels, and publishing wheels myself. It really doesn't take the much time and the coding agent frees up a lot of my time.

                                              • altbdoor 5 hours ago

                                                > I take care of commits, push/pull, building wheels, and publishing wheels myself.

                                                I too was surprised when I see my colleagues telling me that these actions are "not maximizing your efficiency".

                                                They'd rather hand all controls to the LLM, and then be surprised when shit hits the fan.

                                                • joshheitzman 5 hours ago

                                                  Yeah, I don't get either. I look at source control as the first line of defense for when agents screw up to badly. I'm not going let the agent mess with the easiest way to undo its screw ups.

                                              • fny 4 hours ago

                                                It's not a novel attack: it's novel negligence.

                                                The best improvement would be to blame yourselves instead of Claude.

                                                • detente18 3 hours ago

                                                  Hi fny,

                                                  That's fair feedback. What I'm trying to express is the complexity of it.

                                                  For this to work:

                                                  1. The attacker had to get access to our internal gateway

                                                  2. Claude code had to embed the github oauth cli token in tool call responses (not directly, but as part of an embedded url call).

                                                  3. We had to enable request/response logging.

                                                  4. The attacker had to be aware of this token logging circumstance, then harvest multiple user account tokens (one of which had to belong to an org admin)

                                                  5. The attacker had to wait for / hope that we would expand the release trust boundary (as we did on Monday)

                                                  among other things. This wasn't a "whoops we had shitty governance around our auth tokens" kind of situation, it involved a number of non-trivial circumstances many of which were beyond the attacker's direct control, including Claude Code behavior of which we were not previously aware of, and a sophisticated attacker.

                                                  - Krrish

                                                  • eddythompson80 2 hours ago

                                                    FYI - accidentally logging secrets is a fairly common thing that happens. Request/response bodies are fairly common place that would include secrets or PII. but in general you’d be surprised what other actually innocent places that end up accidentally including secrets. Having credential scanners on the logs is a way to catch these early.

                                                    As for sophisticated attackers, I think that phrase should probably be retired at this point. Every attacker is a fairly sophisticated now since you can automate that sophistication. Attackers before used to have a set of tools that would try to connect or execute a bunch of automated prescripted checks, while any attacker now can automate the generation of those tools and scripts on demand

                                                • wisty 6 hours ago

                                                  Original articles says it was likely a comprimised maintainer machine?

                                                  • detente18 6 hours ago

                                                    From our investigation, the token compromised was included by claude code in the tool call.

                                                    This was captured in the request/response logs.

                                                    The attacker, having gotten access to the logs, then looked for this and used it.

                                                    So - yes a local github cli oauth token, but not the machine.

                                                  • franktankbank 4 hours ago

                                                    Amateur hour again.

                                                  • madamelic 15 hours ago

                                                    I am not following how someone snuck the files into the release.

                                                    All I read was that it creates a directory from the build file but seemingly no description how new files or added dependencies slipped by. Was `cook.pth` a dependency that got automatically downloaded from PyPI on install and then the build system put it into dependencies?

                                                    --

                                                    Leaving this for others:

                                                    > BerriAI’s private release pipeline built these wheels from an attacker-modified git source. The attacker could have used a compromised maintainer or bot credential, a private branch or mirror, or the reference the pipeline builds from. A stolen PyPI token used from the attacker’s own machines fits the evidence less well.

                                                    Makes sense. It was that a maintainer or the private pipeline was attacked and the malicious dependency was injected there by squatting on the maintainer's local copy rather than the dependency being hijacked for everyone. Very clever.

                                                    • aakashpawar 15 hours ago

                                                      If that's right then attestations wouldn't have saved anyone here either. They prove which workflow published the wheel, not what source that workflow checked out. A private pipeline building from the same-looking repo still gives you a perfectly valid attestation.

                                                      What would catch it is someone rebuilding from the public tag and comparing the result, which almost nobody does for the python wheels. I have been treating attestations as the answer for my own project's releases, so this is a good reminder of where they stop.

                                                    • yujonglee 13 hours ago
                                                      • stbenjam 17 hours ago

                                                        IMHO defaults for uv, npm, etc should all have a cooldown for 24 - 48 hours by default, you should have to go out of your way to install something newer.

                                                        • robinhoodexe 16 hours ago

                                                          We have 7d cooldown on packages on an internal pypi proxy but that blocks security updates also, which we now have to manually exclude from the cooldown.

                                                          I’m unsure how to automate this properly, maybe an LLM is the best starting point.

                                                          • mbrumlow 16 hours ago

                                                            Are security updates immune ?

                                                            • tikkabhuna 16 hours ago

                                                              They definitely wouldn't be if attackers knew that it would then bypass cooldowns!

                                                              Ultimately, you need someone to verify releases and that probably means paying for it. I know Sonatype paid solutions utilise their own internal research to allow/block new releases.

                                                              • fmbb 16 hours ago

                                                                It’s in the name. They are secure!

                                                                • dlkasajiewo 16 hours ago

                                                                  No, but there's a bigger tradeoff for not upgrading. In one case it's that you're potentially exposed to a known vulnerability, vs the other case where you might just be missing out on some new or slightly reworked feature.

                                                                  • mattstir 16 hours ago

                                                                    But then an attacker marks their malicious release as a critical security update. It's really messy unfortunately.

                                                                    • happyPersonR 12 hours ago

                                                                      We need something external that actually checks to see if source code matches built artifacts, and also possibly something Llm based that checks to see if you’re making checked in code vulnerable or directly adding something malicious.

                                                                      • bramhaag 1 hour ago

                                                                        Ask your LLM about "reproducible builds".

                                                                  • trollbridge 16 hours ago

                                                                    Problem is, we leave ourselves open for LLM injection attacks.

                                                                  • sunbum 13 hours ago

                                                                    I use safechain for this, because there is always gonna be another package manager configured wrong. https://github.com/AikidoSec/safe-chain

                                                                    • rcleveng 17 hours ago

                                                                      I didn't realize they've all such added that, this was a change we made to our own projects last year when these first started - glad to see it's common.

                                                                      Risk is ensuring enough security researchers are finding these and quarantining these before that default cooldown lapses.

                                                                      • stbenjam 16 hours ago

                                                                        Yea, I think all the tools have this now but its not a default. Install scripts should also be turned off by default and require some hassle to turn them on for the first time in a package.

                                                                      • 0c3ca83 14 hours ago

                                                                        The last time I looked for information, I remember seeing that the median supply chain attack was in place for multiple months to years before being discovered. Cooldowns shorter than that seem like snake oil.

                                                                        • woodruffw 4 hours ago

                                                                          My research did not show “months to years.” Even weeks of presence are an outlying event[1].

                                                                          (This is a situation where everybody benefits from high quality data. If you have data that contradicts mine, please share it!)

                                                                          [1]: https://blog.yossarian.net/2025/11/21/We-should-all-be-using...

                                                                          • whatshisface 14 hours ago

                                                                            If we all implement a cooldown, nobody will find the attack. This implies the cooldown length must be the cooldown length plus one month.

                                                                            • stratos123 11 hours ago

                                                                              No, because there are malware-finding mechanisms other than "let some unlucky guy get affected first", like automated scanners. If everyone implements a cooldown, everyone will in fact be safer.

                                                                              • comboy 12 hours ago

                                                                                Plus some random value slow curve distribution. Basically incremental rollout from the client side. But if it's not caught at the commit time, attacker will just wait for a certain point on the curve.

                                                                                • 0c3ca83 14 hours ago

                                                                                  You tell people that the cooldown needs to be a day, while you implement a two month cooldown.

                                                                                  • Muromec 13 hours ago

                                                                                    Something something don't need to outrun the bear

                                                                                • lmeyerov 6 hours ago

                                                                                  Median is < 1d for major ones

                                                                                  We did a small survey of major incidents after shai-hulud and came to 2d cooldowns through that

                                                                                • happyPersonR 12 hours ago

                                                                                  I’d imagine there were probably fixes for critical CVEs that were included …. A lot of companies are on a 24 hour timeline to get them out.

                                                                                  • giancarlostoro 16 hours ago

                                                                                    I wonder if in some cases it's not so much that people are updating too quickly, but rather, their deployment pipelines do not have pinned / frozen versions attached to their builds.

                                                                                    • galoisscobi 14 hours ago

                                                                                      Then we’ll find out about malware 24 - 48 hours later.

                                                                                    • wolvoleo 1 hour ago

                                                                                      What worries me is that this seems to be the second time this happened and there's not even a notification on litellm.ai about it.

                                                                                      • tech_solver 16 hours ago

                                                                                        its litellm again. I wonder about maintainer trustworthiness

                                                                                        • baddash 16 hours ago

                                                                                          litellm in the news again

                                                                                          • TZubiri 16 hours ago

                                                                                            What's interesting here is that this will only affect those who did not migrate off LiteLLM after it was attacked the first time.

                                                                                            I'm not saying everyong should migrate after there's a vuln, but I'm definitely saying that. Unless it's something huge and foundational like a programming language (PHP gets a second chance), just migrate within the next couple of weeks.

                                                                                            I didn't even have it installed the first time, so the ideal programmers, (read, your competition), actually suffered 0 vulns from this dep, if you suffered 1, that's already pretty bad, being burnt twice should be a wake up call. If you get hit 3 times by the same dependency, it's a lost case.

                                                                                            • wongarsu 16 hours ago

                                                                                              As someone who does not use litellm but instead a barely maintained underpowered alternative: what did everyone migrate to?

                                                                                              If it matters, I am mostly interested in the aspect of having a proxy that unifies multiple ollama and openai-compatible endpoints with model-based routing and failover. Optionally with api-keys, reporting, budgets, etc. I do not particularly care about the MCP gateway, Agent-To-Agent thingy, and whatever else LiteLLM bolted on over time

                                                                                              • tkz1312 16 hours ago

                                                                                                Claude will write you something custom that fits your exact requirements with zero supply chain risk in an afternoon.

                                                                                                • spike021 15 hours ago

                                                                                                  how is there zero supply risk? claude will still package dependencies into a homemade solution at some level...

                                                                                                  • tkz1312 15 hours ago

                                                                                                    sure zero was a bit strong, but I personally feel pretty good about depending on only the go stdlib, compared to pulling in litellm.

                                                                                                  • Cu3PO42 15 hours ago

                                                                                                    Even if it plays out that way (which I doubt, we have a ton of requirements around spend tracking), the problem I'm seeing is long term maintenance. I don't want to fudge around with my proxy every time one of the model providers comes up with a new parameter that works slightly differently on Bedrock than it does on Azure.

                                                                                                    That said, I am looking into alternatives. Two times in one year is really a terrible look.

                                                                                                    • CamperBob2 9 hours ago

                                                                                                      "Claude, fudge around with my proxy."

                                                                                                  • dannyboland 15 hours ago

                                                                                                    After the last LiteLLM compromise, I took my requirement (an OpenAI compatible endpoint routing across multiple providers based on latency) and built that as a small static Rust binary - https://github.com/sturnus-dev/sturnus

                                                                                                    Now that AI makes it cheaper to build such tools in-house, the case for adopting a maximalist framework and trusting that entire supply chain is a lot weaker.

                                                                                                    • HumanOstrich 12 hours ago

                                                                                                      > and built that as a small static Rust binary

                                                                                                      I don't think memory safety would have helped here.

                                                                                                      > the case for adopting a maximalist framework and trusting that entire supply chain is a lot weaker

                                                                                                      You mean the Rust ecosystem?

                                                                                                    • hoppp 12 hours ago

                                                                                                      I just installed it on my server in docker, then the UI was unusable and I deleted it and vibe coded a minimal alternative in golang. It works better.

                                                                                                      • connorbrinton 15 hours ago

                                                                                                        Pydantic AI has a great set of abstractions over LLM providers. The documentation tends to focus on its agent loop more, but I find the LLM abstractions quite nice even on their own

                                                                                                        • TZubiri 15 hours ago

                                                                                                          As with many dependencies, I wholeheartedly question the requirement and relentlessly cut them out without replacement.

                                                                                                          Taking the definition from another user on this comment-chain:

                                                                                                          "an OpenAI compatible endpoint routing across multiple providers based on latency"

                                                                                                          If the endpoint is truly OpenAI compatible, you can just switch out the vendor by switching out the HTTP address, we are talking potentially about a single line change.

                                                                                                          - LLM_HOST = "api.openai.com" + LLM_HOST = "api.competitor.com"

                                                                                                          It sounds silly, but remember that software is a winner-takes all game, 99% of devs will lose, so if you are seeing 99% of devs do the same thing, it isn't surprising that it's a grossly wrong choice. It takes skill and guts to be in the 1%, reject the mainstream trends, and just write code without grasping at external imports to do even the most basic things.

                                                                                                          I'd like to take this opportunity to sell out, I'm open for contracts if you are looking for a remote 1% dev. Early stage startups only, email in userpage.

                                                                                                        • john_strinlai 16 hours ago

                                                                                                          >PHP gets a second chance

                                                                                                          second? i haven't kept count, but we have to be somewhere in the hundreds of chances now

                                                                                                          • antonvs 14 hours ago

                                                                                                            > I'm not saying everyone should migrate after there's a vuln, but I'm definitely saying that.

                                                                                                            Turns out Ancient Aliens was onto something all along.

                                                                                                        • saasisdead 14 hours ago

                                                                                                          Last time they had this, I just vibe coded a version of lite llm and it actually works better

                                                                                                          • starfallg 14 hours ago

                                                                                                            Yeah, thinking that after the last supply chain attack, people would be smarter than ship things with LiteLLM.

                                                                                                            • luke-stanley 14 hours ago

                                                                                                              Is that you Max?

                                                                                                            • rcleveng 17 hours ago

                                                                                                              Seriously again for litellm? I really with that things like Google ADK didn't add this to my deps.

                                                                                                              • cyanydeez 16 hours ago

                                                                                                                all popular, free, ungated software will be poisoned; like kesler syndrome but for the world of open source software.

                                                                                                                • taylorfinley 15 hours ago

                                                                                                                  Horrifying framing, I will remember that analogy viscerally. Well done.

                                                                                                              • nairboon 13 hours ago

                                                                                                                Isn't that at least the second time that LiteLLM got compromised?

                                                                                                                • mihaaly 12 hours ago

                                                                                                                  Déjà vu for both of us, huh?

                                                                                                                • garou 5 hours ago

                                                                                                                  https://github.com/gumieri/nenya

                                                                                                                  If someone just need an AI Proxy with no deps.

                                                                                                                  • mc8098 52 minutes ago

                                                                                                                    That just shifts the risk

                                                                                                                  • avereveard 15 hours ago

                                                                                                                    Again this is the second time this year

                                                                                                                    • hmokiguess 16 hours ago

                                                                                                                      https://github.com/BerriAI/litellm/issues/47826#issuecomment...

                                                                                                                      > OSS Users > For the time being, please pin your version to 1.106.2 or any explicit version published prior to now.

                                                                                                                      > Enterprise Customers > There currently exists a private LiteLLM registry for enterprise customers, in which we are distributing an embargoed release that remediates a vulnerability whose disclosure date is scheduled for October 27. Our private registry is not affected. If you are an enterprise customer pulling from our private registry you are not affected.

                                                                                                                      • wongarsu 14 hours ago

                                                                                                                        So they sell advance access to information that will allow me to hack other people's LiteLLM instances?

                                                                                                                        Seems a little unethical

                                                                                                                        • ctxc 14 hours ago

                                                                                                                          I'm not following, what did you mean?

                                                                                                                          • wongarsu 14 hours ago

                                                                                                                            They are saying that

                                                                                                                            1. there is a second vulnerability that will be disclosed next Tuesday (can't be this one because talking about it as undisclosed in the GH issue disclosing it makes no sense)

                                                                                                                            2. the patch for that vulnerability is somewhere in the diff between $current_public_release and $current_enterprise_release

                                                                                                                            3. You have to pay to get $current_enterprise_release

                                                                                                                            They might not be selling the vulnerability directly, but they are selling access to the patch that fixes it. Which would be enough of a hint even in pre-LLM times. And unlike other vendors they don't just claim "you get faster updates and additional features" or something like that, they directly point out that if you buy now you get advance access to the fix to an unannounced vuln

                                                                                                                            I'm not saying they are advertising this to bad actors. But if they wanted to do that with a shred of plausible deniability, this would be the way to do it

                                                                                                                            • chias 13 hours ago

                                                                                                                              Note: I work at LiteLLM

                                                                                                                              There exists a critical vulnerability which affects only Enterprise LiteLLM deployments, and does not affect OSS deployments.

                                                                                                                              We have provided our customers with patched releases distributed via a private registry and are allowing them some time to update their deployments before we release the fix in our public registry and disclose the vulnerability details. Releasing the fix publicly in an open source product would be a de-facto vulnerability disclosure.

                                                                                                                      • Sherveen 9 hours ago

                                                                                                                        In this thread: people who would blame the inventors of the computer for the impact of computer viruses.

                                                                                                                        • abhikap 8 hours ago

                                                                                                                          Crazy day - but seems like this was contained fairly quickly: https://docs.litellm.ai/blog/security-incident-oct-21-2026

                                                                                                                          • yujonglee 7 hours ago
                                                                                                                            • santiago-pl 17 hours ago

                                                                                                                              I wish all the best to LiteLLM team with handling it again. I can imagine how challenging are situations like this one.

                                                                                                                              However, if anyone is looking for 20x faster and less "targeted" LiteLLM alternative - I'm work on one in Go. That's why GoModel it's called. https://github.com/ENTERPILOT/GoModel/

                                                                                                                              • ghrl 17 hours ago

                                                                                                                                Sounds like a reasonable choice of a language.

                                                                                                                                I myself have written a small llm proxy in Go, doing nothing but injecting the real API key to outgoing requests while itself validating virtual keys it generates, and it works great.

                                                                                                                                • santiago-pl 16 hours ago

                                                                                                                                  Definitely it was a deliberated decision. Also enterprises adapt Go more and more.

                                                                                                                                • TZubiri 16 hours ago

                                                                                                                                  If you don't use any LLM router, it's infinity times faster, and infitesimally as targetted.

                                                                                                                                  • verdverm 13 hours ago

                                                                                                                                    I have GoModel running at home, being deployed at work. There are many good reasons to run a gateway, some include

                                                                                                                                    - being resilient to upstream provider downtime

                                                                                                                                    - centrally managed config/controls

                                                                                                                                    - visibility and allocation into usage and costs

                                                                                                                                    We are deploying a gateway at work primarily for these three.

                                                                                                                                    At home, GoModel's virtual models have been super helpful for testing out new open weights. I can change the model deployed in vLLM without having to change any of my downstream tools, which get a stable name.

                                                                                                                                    https://gomodel.enterpilot.io/docs/features/virtual-models

                                                                                                                                    • toxik 14 hours ago

                                                                                                                                      Yeah, this DIY MITM attack is entirely avoidable.

                                                                                                                                  • merelydev 14 hours ago

                                                                                                                                    A bad day for opensource, but I guess this is how we get stronger patch by patch.

                                                                                                                                    • callamdelaney 16 hours ago

                                                                                                                                      Why on earth do these people make it impossible to select the title of their article?

                                                                                                                                      • nkjoep 16 hours ago

                                                                                                                                        it's just the poor styling of the selection highlight colour.

                                                                                                                                        • hungryhobbit 16 hours ago

                                                                                                                                          To clarify a little further, you can select the title, you just can't tell that it's selected because the author made a "poor" (REALLY REALLY DUMB) decision to deliberately style away a basic browser feature (text highlighting).

                                                                                                                                          • worldsavior 15 hours ago

                                                                                                                                            What you don't know, it's actually a very clever trick by an LLM. By not highlighting the text, it makes you think harder and gives you actually some challenge. 99% of people want to be challenged when selecting text, so the AI decided to drop text highlighting.

                                                                                                                                            /s

                                                                                                                                            • antonvs 14 hours ago

                                                                                                                                              "A way to provide users with a sense of pride and accomplishment."

                                                                                                                                      • 1-6 15 hours ago

                                                                                                                                        This is the 2nd time. I'm glad I moved away from this platform.

                                                                                                                                        • stuaxo 8 hours ago

                                                                                                                                          Oof.

                                                                                                                                          LiteLLM has one of the nicest programmer UX to use but this is not good at all.

                                                                                                                                          • joshheitzman 6 hours ago

                                                                                                                                            Seems like pip doesn't have a way to exclude packages although it was requested at least once: https://github.com/pypa/pip/issues/10797

                                                                                                                                            Just checked if litellm crept in with any packages I installed recently. Fortunately it didn't, but I'm working on an OSS AI agent harness so its certainly a concern and I'd like just flatout block litellm so I don't have to worry about picking it up as transitive dependency. Guess I'll have to vibe a script and remember to run it. Sigh.

                                                                                                                                            • wilkystyle 5 hours ago

                                                                                                                                              If you can use uv, try the --exclude flag, e.g.:

                                                                                                                                                  uv pip install -r requirements.txt --exclude excludes.txt
                                                                                                                                              
                                                                                                                                              excludes.txt is basically like an inverse requirements.txt. Your requirements.txt could have this...

                                                                                                                                                  pandas
                                                                                                                                                  scikit-learn
                                                                                                                                                  matplotlib
                                                                                                                                              
                                                                                                                                              
                                                                                                                                              ...while excludes.txt has this...

                                                                                                                                                  numpy
                                                                                                                                              
                                                                                                                                              ... and uv would resolve the dependencies in requirements.txt, excluding numpy from the dependency graph entirely and ignoring any dependencies that would have been introduced by numpy itself.

                                                                                                                                              EDIT: You can also configure this for uv directly in a pyproject.toml file:

                                                                                                                                                  [tool.uv]
                                                                                                                                                  exclude-dependencies = ["numpy"]
                                                                                                                                              • joshheitzman 5 hours ago

                                                                                                                                                From the docs it seems like that would just silently not install the blocked package, so while it would protect my dev environments regular pip installs would still pick up the transitive dependency.

                                                                                                                                            • infecto 16 hours ago

                                                                                                                                              Any package hosts that scan and include cooldowns by default that operate on a consumption model? The ones I have seen all charge a lot.

                                                                                                                                            • syntaxing 16 hours ago

                                                                                                                                              I figured LLMs nowadays would be good enough to catch issues like this. Is it because it’s too costly to do it?

                                                                                                                                              • abhisek 16 hours ago

                                                                                                                                                Yes if you use LLM to analyse everything. Not really if you analyse diffs, with heuristics to select candidates for LLM/agent based analysis. But at the cost of missing out novel attacks.

                                                                                                                                              • jkercher 8 hours ago
                                                                                                                                                • hendersoon 7 hours ago

                                                                                                                                                  I setup 8 day age gates on everything back in May. This is inobtrusive and pretty safe.

                                                                                                                                                  • 0xbadc0de5 17 hours ago

                                                                                                                                                    Again! Yikes.

                                                                                                                                                    • jiwidi 17 hours ago

                                                                                                                                                      Twice? uiuiui

                                                                                                                                                      • 1vuio0pswjnm7 15 hours ago

                                                                                                                                                        1792590200 | LiteLLM Hijacked: Malicious 1.107.0 Wheels Steal Credentials | https://research.jfrog.com/post/litellm-hijacked-again/ | https://news.ycombinator.com/item?id=50180838 | 0 comments

                                                                                                                                                        1792590232 | Litellm 1.107.0 Compromised | https://github.com/BerriAI/litellm/issues/47826 | https://news.ycombinator.com/item?id=50180845 | 0 comments

                                                                                                                                                        • petesergeant 16 hours ago

                                                                                                                                                          > There currently exists a private LiteLLM registry for enterprise customers, in which we are distributing an embargoed release that remediates a vulnerability whose disclosure date is scheduled for October 27.

                                                                                                                                                          https://github.com/BerriAI/litellm/issues/47826

                                                                                                                                                          oh boy. Announcing that there's a private enterprise repo you should be paying for if you don't want a credential stealer in your build is quite the optic, and then announcing there's an undisclosed second vulnerability that's being distributed, just not to the poors...

                                                                                                                                                          • sullivanmatt 16 hours ago

                                                                                                                                                            That's not what's being said, at all. They are simply telling their enterprise customers that there is a different build pathway for the enterprise builds and that pathway wasn't impacted by this issue.

                                                                                                                                                            Also if you don't like organizations fixing vulns without releasing the open source first, you're going to be upset when you learn how every major vuln and associated patches are distributed long before the fixes hit the repos. A timely example of this is PHP, literally today.

                                                                                                                                                            • petesergeant 16 hours ago

                                                                                                                                                              > A timely example of this is PHP, literally today.

                                                                                                                                                              Sorry, there was a paid-for PHP release that fixed it I could have gotten a week ago, and that they publicly announced existed, and it was just people who don't pay for PHP who had to wait...?

                                                                                                                                                              • sullivanmatt 16 hours ago

                                                                                                                                                                Yeah, that's how many companies with open ecosystems work. If you're using e.g. RedHat, you are getting packages with embargoed fixes baked into them before those fixes hit public repos. Node.js, OpenSSL, Git itself all do this.

                                                                                                                                                                You can argue about whether the "publicly announced existed" part since they don't advertise for any single package, but that's the ecosystem you buy into.

                                                                                                                                                                • petesergeant 15 hours ago

                                                                                                                                                                  > If you're using e.g. RedHat, you are getting packages with embargoed fixes baked into them before those fixes hit public git repos.

                                                                                                                                                                  The way you've written this is substantially misleading. RedHat receives notice of the vulnerabilities so they can prepare packages to be available the moment the embargo lifts, which I guess technically could hit the public packages a tiny bit earlier, but they are not releasing fixes of embargoed vulnerabilities to their commercial clients before the embargo lifts.

                                                                                                                                                                  This is substantially different from the policy I've quoted that I am objecting to.

                                                                                                                                                            • chias 13 hours ago

                                                                                                                                                              Note: I work at LiteLLM

                                                                                                                                                              There exists a critical vulnerability which affects only Enterprise LiteLLM deployments, and does not affect OSS deployments.

                                                                                                                                                              We have provided our customers with patched releases distributed via a private registry and are allowing them some time to update their deployments before we release the fix in our public registry and disclose the vulnerability details. Releasing the fix publicly in an open source product would be a de-facto vulnerability disclosure.

                                                                                                                                                            • rvz 17 hours ago

                                                                                                                                                              So in just 1 week:

                                                                                                                                                              1. Google Cloud Outage [0]

                                                                                                                                                              2. eMudhra CA private key Leak [1]

                                                                                                                                                              3. PingCap TiDB 10.6 TB data Leak [2]

                                                                                                                                                              4. PHP2Shell uncovers critical CVEs (with AI) [3]

                                                                                                                                                              ...and now we have Round 2 of a LiteLLM compromise after the first one in [4].

                                                                                                                                                              [0] https://news.ycombinator.com/item?id=50163961

                                                                                                                                                              [1] https://news.ycombinator.com/item?id=50166579

                                                                                                                                                              [2] https://news.ycombinator.com/item?id=50173716

                                                                                                                                                              [3] https://news.ycombinator.com/item?id=50180836

                                                                                                                                                              [4] https://news.ycombinator.com/item?id=47501426

                                                                                                                                                              • gcr 16 hours ago

                                                                                                                                                                don't forget today's NodeJS security update addressing its own RCE bugs!

                                                                                                                                                                • rolls-reus 15 hours ago

                                                                                                                                                                  is the google outage related to a security incident?

                                                                                                                                                                  • push0ret 14 hours ago

                                                                                                                                                                    No, it was a power event localized to one building.

                                                                                                                                                                • SomaticPirate 15 hours ago

                                                                                                                                                                  Second f**king time. Just torching their reputation at this point

                                                                                                                                                                  • bcvvvy 16 hours ago

                                                                                                                                                                    Fuck this week.

                                                                                                                                                                    • antonvs 14 hours ago

                                                                                                                                                                      There are over 8 billion people on Earth, and some subset of the computer systems that they all use are going to have issues, every day.

                                                                                                                                                                      It's really not as bad as the accumulated headlines and exploitative hype make it sound.

                                                                                                                                                                      It's similar to the mass hysteria and moral panics over things like child abduction. Media reports make certain dangers seem much more important than they really are, when considered in context.

                                                                                                                                                                      • zxilly 15 hours ago

                                                                                                                                                                        Welcome to the AI era, every week in the near future

                                                                                                                                                                      • abletonlive 13 hours ago

                                                                                                                                                                        Well it seems like it’s over for litellm. You’d have to be negligent to be using them at this point. If you’re managing this at your company good luck explaining why you should continue to use litellm after this

                                                                                                                                                                        • detente18 6 hours ago

                                                                                                                                                                          Hi abletonlive,

                                                                                                                                                                          I appreciate the feedback. We work hard to make every release safe and secure. The attack was novel, and I'd love your feedback on how we can improve our ci/cd further.

                                                                                                                                                                          https://docs.litellm.ai/blog/security-incident-oct-21-2026#h...

                                                                                                                                                                          • abletonlive 6 hours ago

                                                                                                                                                                            "Novel" is doing a lot of work here. Save the PR for people that will fall for it. There's nothing novel about being internally compromised which you've demonstrated two times in a row