Agents need better tools for reversing! I'm releasing declib (previously libbs), with a new CLI today that gives agents CLI access to 4 decompilers (IDA, Ghidra, Binja, angr), parity feature support to most MCP (12 features), and the ability to sync those changes across decs!
I got completely owned by the most sophisticated hack I've ever encountered.
I'm a developer. I know what scams look like.
This didn't look like one.
🧵
Software horror: litellm PyPI supply chain attack.
Simple `pip install litellm` was enough to exfiltrate SSH keys, AWS/GCP/Azure creds, Kubernetes configs, git credentials, env vars (all your API keys), shell history, crypto wallets, SSL private keys, CI/CD secrets, database passwords.
LiteLLM itself has 97 million downloads per month which is already terrible, but much worse, the contagion spreads to any project that depends on litellm. For example, if you did `pip install dspy` (which depended on litellm>=1.64.0), you'd also be pwnd. Same for any other large project that depended on litellm.
Afaict the poisoned version was up for only less than ~1 hour. The attack had a bug which led to its discovery - Callum McMahon was using an MCP plugin inside Cursor that pulled in litellm as a transitive dependency. When litellm 1.82.8 installed, their machine ran out of RAM and crashed. So if the attacker didn't vibe code this attack it could have been undetected for many days or weeks.
Supply chain attacks like this are basically the scariest thing imaginable in modern software. Every time you install any depedency you could be pulling in a poisoned package anywhere deep inside its entire depedency tree. This is especially risky with large projects that might have lots and lots of dependencies. The credentials that do get stolen in each attack can then be used to take over more accounts and compromise more packages.
Classical software engineering would have you believe that dependencies are good (we're building pyramids from bricks), but imo this has to be re-evaluated, and it's why I've been so growingly averse to them, preferring to use LLMs to "yoink" functionality when it's simple enough and possible.
@Verizon@VerizonSupport. can someone reach out to me. I've tried calling and keep getting automated answering machine that just keeps saying it is having trouble understanding. no option to request a call back through the app for billing, account, or plans.
Hey, by trying to fix feature x you broke feature y. (proceeds to fix feature y and break feature x).
uhh.. okay you now broke feature y. " you are absolutely right." ( breaks feature y and doesn't fix feature ex.
my personal experience with AI currently.
@signulll This is also my experience, move to management to move up, 5 years later get laid off, now I can't get IC roles as I've been in management too long.
Roles at well paying companies still expect you to ace hands on coding interviews regardless of how well you do on
🚨PIECES AI AMBASSADOR GIVEAWAY🚨
Want to win $250 and a Pieces hat? 🧢
Here’s your chance! Whoever gets the most downloads from their affiliate link in December takes the prize!
To join the Pieces AI Ambassador Program:
1️⃣ Like & RT this post (+1 bonus point)
2️⃣ Apply here: https://t.co/emxjyFrAJ9
Start sharing your link and good luck! 🚀
⏰ Contest ends December 31, 2024
@getpieces Someone had asked what the best way to get started is and Sam had some good ideas for teams getting started. The way I got started was with the co-pilot in VS code and now I use pieces for nearly everything. Would highly recommend people to start with the copilot extension.
@getpieces Didn't get a chance to speak, but when it comes to what AI to use I'd say just use whichever one you have access to until you have very specific use cases. if you take a look at the amount of models available on openrouter and hugging face it's a never ending rabit hole.