Rabbit R1 makes catastrophic rookie programming mistake
Вставка
- Опубліковано 26 чер 2024
- A group of jailbreakers recently discovered that the Rabbit R1 codebase contains hardcoded API keys - giving them easy access to user data from their AI tech-to-speech service.
#programming #hacking #thecodereport
🔥 New Full Linux Course coming soon!
Upgrade at fireship.io/pro
Use code LINUX30 for 30% off PRO access
💬 Chat with Me on Discord
/ discord
🔗 Resources
Rabbitude Disclosure rabbitu.de/articles/security-...
AI failures • Degenerative AI… The r...
CES 2024 highlights • CES 2024… a glimpse in...
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- Problems with Rabbit R1
- What to when sensitive data is leaked?
- Major mistakes made by programmers
- AI tools that have failed
- Hacking incidents of 2024
- API key safety tips - Наука та технологія
Degenerative AI… The recent failures of "artificial intelligence" tech: ua-cam.com/video/krixaEhLnlA/v-deo.html
first
second
Hello fireship
Jesus is the way, the truth and the life. Turn to him and repent from your sins today!
" " "artificial" "intelligence" " "
It's shocking how Rabbit R1 still manages to disappoint despite everyone having zero expectations
True words my dude.
Maybe that’s their schtick, it’s relatable to everyone’s relationship with their parents
They got millions of investments and people bought it so you’re wrong
What do you expect from a NFT founder who only developed the product to get on the AI hype train?
🤣 seriously
its almost as if they tried to rush out a scam as fast as possible to sell to people before they vanished
yeah, almost
Coffeezilla
Firstish to market!!!!
They were aware of one thing. With this, it is hard to just disappear, so more likely they discovered they were severely under-experienced to develop this, so they rushed a product to be "first", or likely running out of money.
There is no indication they are just going to disappear
@@SioxerNikita they're ex-crypto bros, the end go is always to disappear for these types.
everyone is scrambling to not be compared to rabbit-r1
Especially r-2!
Don't read my name
@@witness1013 Wondering what it will look like
Fr
Jesus is the way, the truth and the life. Turn to him and repent from your sins today!
They could say the bricked models are in “paperweight mode” and just call it a feature.
You just casually mentioned the first legitimate use for the R1. A constant bright orange reminder of how not to do things.
Just like every other dead product with a working display, it too shall become a retro gaming emulator.
@@John_C_J It's the circle of life.
"This critical security update permanently renders your device harmless, which is a huge step up from the dangerous liability it was before."
@@stonecoldcarebearIt's bright orange making it way more useful as a reminder compared to a black or white laser projector that's more of a fire starter for when you can't find your lighter
Wow this thing is really the "I threw node modules together that I didn't really understand" of AI
The vast majority of "AI-powered" projects are, lmao
@@NatiiixLP Most "innovative startups", if not all
That's what almost all "AI" projects are tbh
Well it's UI is written in Flutter so you're a bit wrong
@@julianojosoa2145 He said it's the equivalent of throwing random node modules together, not that it's literally using node modules.
1:19 "Hi mom, I miss you." 🥺😔
🥺
What happened to his mom?
@@theairaccumulator7144 she passed away
this is only comparable to Technoblade. The pain is real.
for a short moment i thought it was an accident until I read the rest of it
Tough times for a device that's obviously just a smartphone but worse.
Basically a mp3 player
@@laptopuser5198 at least an mp3 player doesn't become a brick when some server it relies on for everything eventually shut down
MP3 player with always-on DRM type shit
With a catastrophic battery
Comparing it to a smartphone is giving it too much credit lol
Rabbit hole❌️
Loophole✅️
Edit: My new record for likes on a comment
Shitehole ✅
Kola superdeep borehole ✅
Don't read my name
@@1.4142 ✅️
rabbithole loophole
"half baked" is a very generous description of the Rabbit. That batter was still wet
“I was blown away by its utter uselessness along with the amount of cringe buzzwords used by its CEO” describes literally every “AI Startup” founded after OpenAI released GPT to the public
This applies to 99.99958% of all tech start-ups. It does not matter if its fintech, or some artists that released a sick 3d render of some revolutionary new transport,energy,etc.-system that will totally change the world. You know, like fontus, solar roadways, hpyerloop and derivates, etc.
And idiots who believe that a 3d render is the same thing as a working prototype are investing in these scams. Sadly even governments are burning public money on these scams.
Including OpenAI
@@mwwhited Nope
Outrageous but not surprising
How is it not surprising? I for one am very surprised that such bad devs could ever land any jobs, let alone a product that has been a talking point globally for months
Don't read my name
@@alibarznji2000because you can tell the device was an idea by inexperienced developers. every facet of their implementation has proven to either be naive or extremely basic. These are the same people that make an API call to tell the time during their LLM job when it has a clock on-device instead of just passing it in from device. These people didn’t know what they were doing and were in over their heads.
@@driedpotatoes fair enough, but my point still stands.
How could these people get the funding for a project? The world is a weird place
Thanks, I will keep this in mind when I’m asking for millions of dollars for my new tech-AI startup company
Imagine a whole team of engineers ignoring a hard coded api key like this...
I think we're all going to make it (to a high paying SE job) bros...
Yeah no
Engineers? More like boot camp dropouts
the irony is that AI would have used a secrets manager.
I find it funny how a lot of the products we think are super complex, professional, ‘industry-standard’, ‘at-scale’, and well engineered are often poorly made grifts obfuscated by the mystique of private software. And when you try to call it a grift every ego within a one mile radius goes thermonuclear.
Everybody thinks they’re Alan Turing once they learn how to use an SDK and build an API to make a CRUD app with infinite skins :) And I’m directly referencing that ugly man child behind the scam companies.
Correct 👍👍👍👍
INTERNET OF THINGS (read: devices with SIM cards or wifi connections sending TCP/UDP data to receivers which is just an open Socket)
THE CLOOOOUDDDDD (read: somebody else's computer except we're hiring a bunch of services that all do 1 thing rather than a monolithic server where all services compete against each other for CPU/RAM)
ARTIFICIAL INTELLIGENCE (read: probability machines that just do guesswork based on input and a dataset (model) to work out of as baseline)
BLOCKCHAIN (read: things you don't need)
to be fair, i don’t think anyone would consider rabbit to be “complex” or “professional”, they’ve shown themselves to be quite literally the opposite from day 1, the CEO is literally beefing with a 13 year old online, so that’s very telling lol
👌
@@sapphicgaze wait what?? wtf
So the R1 was essentially some kid's middle school science project that somehow became a product.
This
No it was very much intended as a "product", it was just coaded by middle schoolers apparently.
well it was designed by *Teenage* *Engineering*
Could be a ploy floated to steal data. Something trendy? All the rich kiddies have it and then...
You ain't that far off, their CTO just dropped out of college to found the company
I made the mistake of pushing an API key for a web page I was working on in college. Never... again... I'm still getting emails from Git Guardian.
Classic blunder
bfg jar it
Everybody gets one.
"Chuck it in the Kola superdeep borehole" - shows a photo of the kimberlite mine "Mir" in Sakha Republic...
A mistake worse than hard coding API keys
a hole's a hole, right? 😂
@@alexnoman1498 Tell that to your missus
The super deep borehole was capped decades ago, and a picture of a nondescript well cap in a nondescript warehouse doesn't have as much visual impact in a video as an big open pit, does it?
This guy's a hole expert
"I was blow away by it's uselessness" is such a good way to describe the rabbit
No, actually, I could totally believe the Rabbit team put API keys in the app on device as an additional cost saving measure.
I might be missing something here but from what I know you can't get an Android app's code with just the .apk. I don't know how you could get the API key if the app was built with it in the codebase. Also while it's absolutely not a good idea to have any API key in a codebase, again from what I know, leaking any codebase is as bad as leaking the API key (and let me go off road here a bit, github is pretty secure so the only way to access the code base would be either a compromised account or some fed up ex-employee). But it's tomato tomato at that point (as in leaking codebase vs codebase plus API key). And I am not sure about this AWS secrets manager thing but ultimately it will be linked to a single account and if that account is compromised, so is the API key. Although one thing does change by not hardcoding the API key. For rotation you would need to fetch a new API key from the backend server. That's a real reason why not to hardcode it because otherwise you will need to rely on user side app updates to fetch a new version of the app for the new API key.
@@SahilP2648 APKs are just a ZIP files that contains an app's resources in a tree. This includes the app's native code.
In almost all cases API keys are stored as strings in the binary. In case it is not obfuscated, you can easily extract them via. the `strings` program.
But regardless of obfuscation, these things can still be reverse engineered, either through manual process, or using a debugger and a bit of time. It's impossible to protect anything you deliver to users.
This is why you should not store API keys in client-code. Rotating keys would require users to update, and you're leaking this information to anybody who's curious enough.
The point of AWS Secrets Manager is that it's protected through isolation and permission. Keys are stored separately from the application code, and should only be extracted from services that have specific roles to access, which should only be persisted for a short amount of time.
Of course any compromise could make it possible to obtain those secrets through those services. In those cases, the isolation makes it easier to prevent further attack by deny access to those compromised services, simply by removing their roles and re-rolling the API keys-but it does not prevent the attack from already compromising data if that data is stored together with the service without any protection.
There's always tradeoffs between security and convenience.
Bro what are you guys talking about? The video is so confusing!
I just want to know if I should buy this gadget or not...
@@Alfred-Neuman no u don't need it
I find it funny how a lot of the products we think are super complex, professional, ‘industry-standard’, ‘at-scale’, and well engineered are often poorly made grifts obfuscated by the mystique of private software. And when you try to call it a grift every ego within a one mile radius goes thermonuclear.
That's copied from another comment. It's a spam bot.
Wow, this is very catastrophic!
Considering they hardcoded Spotify to play any Beatles song, I'm not surprised if they hardcoded api key
API keys, Netflix passwords, and blunts were made to be shared
Companies rushing to replace the smartphone with linear algebra gameboys should probably take a lap, skip this round, and come back after the hype-train leaves the station.
Rabbit is temporary, but dumbifying devices for no good reason is eternal.
Ok but then after it was published they rotated the secrets and remediated the issue but then they were like “yo there’s a secret 5th key we didn’t tell you about just to see if you would fix it too” and they totally missed that one.
This is like old school weekend update.
“Rabbit one exploit found that allows someone to read and edit any message!”
“This has affected… 8 users around the nation”
I love the Assange reference
Did I just swallow an ad for a Linux course?
...
...
...
I'll take it, no discount needed.
Shoutout for mentioning Julian assange
Ya let's all simp for the guy who outted anti Taliban and anti CCP activists and withheld leaks on Putin and the GOP 🤡
IIRC, with AWS Secret Manager, if they have access to the server, they could still see the secret since the IAM permissions (role) is attached to EC2 instance. So they could simply use aws cli or api from the server to get the token.
what is the standard industry way to consolidate/secure all your API keys then? I'd like to know.
@@lightlysalcommenting for follow up notifications
That secret manager is sufficient. The outlined scenario here assumes that the server is compromised, which is something you'd want to prevent in the first place since it's over once they can execute commands on your server.
There's a lot of things that can be leveraged, like using a VPC and working only within that network or just running your app on a rootless Docker container. When using an API key from the secret manager, make sure to never log it. Is it 100% safe? Of course not, they're always gonna find a way. But you can make it really, really difficult, and at the very least, not blatantly available.
@@lightlysal When you manage your own instance, usually the relevant packages came with sane defaults (e.g http and db servers usually run under their respective user and groups). You can either NOT consolidate secrets but only provide them on need-to-know basis for each users (which is the traditional way), or use secret manager like vault and pass-along auth (either from app level or OS level) as the identity.
It reduces the risk though. I'm not familiar with AWS, but in general, once your secrets are automatically managed (meaning they're automatically rotated), you can make the validity duration far shorter, use separate keys for readonly access vs read-write, lock down how the key can be used, etc. A leaked key shouldn't be valid long.
You could also do something like have a separate super secure server that proxies requests and injects the API key. Your app servers would make requests without the API key, then the proxy server would add the key. Grant very few people access to the proxy server.
Wow, I can't believe anyone would do that!
*starts looking into API key rotation for my google maps app*
learning taking place 🎉
Yeah but you're not selling thousands of hardware products with an accompanying backend service
Damn. This really inside a rookie error. Like high school level.
nothing wrong with client side API KEYS, in fact they are required for example in firebase clients, it only becomes an issue when the key gives you access to things you shouldnt have access to
This 👆
but that is exactly the point, they hardcoded the company's api keys
Those API KEYS should give you access to an intermediate server, but somewhere down the line there should be a way to display a numerical keypad so you can type/configure a PIN code
Making a wrapper for an Android app should never be successful, no matter the hype.
The touch screen self-order menus at Taco Bell are an android app and I think their success is warranted
Rabid AI
Looking forward to the new Linux course!!
Love your videos, thanks for another great one!
AI is particularly appealing to people who don't understand programming (suits, ceos, upper management, etc)
Taking shortcuts usually just leads to garbage that has to be rewritten by someone who knows what they are doing. People who are bad at programming will use AI instead of learning and pump out more garbage that I know I'll have to clean up
It's like trying to replace aircraft pilots with androids, except people don't generally think of software engineers that way because it isn't as easy to understand as "man fly plane"
I am that, run my own AIs on my local ADA server and know quite well how to program. What you don't understand is the way products get financed. You really think investors look into the codebase? The idea of stand alone AI devices is not bad if well done. The business case could work and when presented it will be shown in the best possible way. You can't know how bad it will be in the end. Rabbit and AI pin could work if they wouldn't rely solely on external APIs. That's what makes them so bad. It's the same with all those stupid OpenAI "apps" flying around on IG nowadays. It's like a virus, AI with a lazy implementation just produces garbage. But even that doesn't matter as long as the money flows. It's not about good code, AI or quality. It's about money.
Saddest API key in existence. My deepest condolences, dude.
This video was full of great value ❤
Subscribed after this video. I enjoy your deadpan humour combined with really useful information.
The ending was on point 4:14
4:10 sir meowsalot
So glad and relieved to hear that there is already a recommended solution at 4:14 😁
The engineers could've added extra layers of security, like encrypting the key and storing it in a safer way, but if someone is reverse-engineering the device, even that becomes a risk at some point. The only way would be to use their own servers as an access point and store the keys there. But that would add latency and... it would be more expensive. And that's the thing: they always knew this wouldn't last; the only goal was to make the most profit in the least amount of time. And then just disappear.
At this point i am wondering if *even i* could make a better Rabbit device...
You have one already you're using it
No device at all is a better Rabbit
this, ikr?
Babe wake up fireship posted a video.
Thank you spam bot.
@@John_C_J Dude your reply deserves more attention than the comment fr.
Solid advice at the end!
Love the fact that Jeff knew about this code report would be a total diss so he had to outro with both R1 n Code Report fire in the hole style 💥💥💥
0:34 Or, it's on Dhu al-Hijjah 20th, 1445 AH and you're watching Code Report Series on Fireship about Rabbit R1 makes Catastrophic Rookie Programming Mistake.
Yes, you're Correct 👍👍
3:52 uhhhh.....is that David Goggins???
stay hard
stay hard
You called it a rookie mistake and you delivered. I do wish more devices had an integral physical scroll wheel, though.
Finally a video somewhat about AI that doesn't have deformed or grotesque imageries . thank you sir.
The Rabbit R1 is a set of API calls strung together, with some not very good hardware ...
..and you can do absolutely everything it can do on a cheaper Smartphone, for no additional fees ...
Why does the hardware need to be good anyway? It's job is literally to record audio and send it to a aerver then receive a response and play it back. Don't even need android for that. A microcontroller could do it but it too but it would be way harder to maintain.
@@theairaccumulator7144then why you need it when way better hardware is available
Babe wake up fireship posted a video
ywnbaw
...
ERROOOOOOOOOR
@@DsiakMondalacry
It just keeps getting better and better with this thing.
I remember learning about this with API keys on my IoT course.
How he thought those shoes were a good idea during his presentations should have been a warning to all...
Can someone explain how this product get the funding?
Same way Theranos got it's funding: "Investors betting their money and other people's money on the project".
Thanks, it makes sense now…
Same old story every day 😮💨
AI hype and the fact that investors are easy to scam (and that's a good thing)
If you need it in the form of a video essay, go to Coffezilla's first video on it.
the AI hype bubble
oh boy! Can't wait for the R2
"Wait. It's all just Android glued to an API wrapper?"
*"Always has been."*
What are the odds that this is because the developers blindly used ai extensively when writing code? People predicted this would happen, devs getting lazy not reading code that ai produces, blindly copy-pasting as long as it 'works'. Eitherway, this is probably a lucrative time to be a hacker.
We have our own advanced AI.
(API calls to chatgpt)
lmao
the same as "apple intelligence" honestly. basically disguised chatgpt, sadly Americans are 2 dum*b to notice it.
crazy to see how something is hyped when designed by reputable company (teenage engineering) while just being a slightly more complex wrapper. Meh
super funny! :) thanks !
the references on this channel are unmatched
4:13 another option is to flash it with a proper android distribution, so you can actually have a crappy android device instead of a crappy android device hard-coded to only run a single app
I like how even before they prototyped it, i said it was gonna be a shitty small android thing with crappy software that wasnt made by real software engineers. Just looking at the company shouldve told everything enough.
Also dont understand how some people have said how 100gb is an insane amount of storage for this thing. What they didnt concider is that nowadays almost every phone launches with 256gb....barely any modern phone is made with anything less
100GB is a lot for essencally single app device that doesnt even need a lot of storage. Not to mention that only med-high end phones have that much, low end is still 128gb.
Just got mine in the post this morning 🎉😂
Now that's a mitigation that i can get on board with.
Not first
The last recommendation tho 😂
Ngl I did that in my college pre internship project. And I was aware enough to point out that this is a security concern and I am in process of fixing it.
Another YandereDev
MKBHD destroyed them
They destroyed themselves.
Are you perhaps stupid? They caused this themselves and would be absolutely clowned on even if some youtuber didnt make a video about them
💯@@tablomaxos2965
Before MKBHD video they was destroyed
Shitty product destroyed them stop being a simp for apple shills
1:55 was a nice one
"Rabbithole" is very smart, bravo FS
Will do a pushup for every like in this comment
No you wont.
He will tho
Gave you a dislike to help you out
Came for the videos ,stayed for the quality content,subscribed for Mom❤
Sorry for your loss Jeff, your Mom is so proud of you.
Can’t wait for R2
Those card frames look kinda like Duel Masters :D
At first I was sceptical but when the R1 finally got shipped, I ordered one despite still being sceptical. Just to play around with it.
While waiting for my order to be shipped, I read more and more articles and scepticism made place for dissapointment. But to my total surprise, I read that customers can cancel their order until right before the poor thing is being shipped. So I did and to my surprise I got my money back in 24 hours.
That's probably the best service Rabbit is offering today 🎉
Best news channel on UA-cam
Fireship is my favorite YT channel😤😤😤
The vulnerability allows an attacker to read messages sent by users. Fortunately, the device simply fails or refuses to send most messages
Your videos are so awesome
Our expectations were low, but holy sh/t)
That's Mir mine, an open pit diamond mine. But I understand it looks a lot more imposing than the actual Kola Superdeep Borehole, just don't want people mistaking the two.
we love u fireship
meanwhile me, trying to be a junior, storing my api keys in .env or secrets or other good solutions...
Standard procedure, I'm not even a programmer and I even I do that when I hack together some junk from code I stole around the web and stitched together with AI.
just when we thought it couldn't get any worse
0:31 hahaha H1MOM at the begging of the API_KEY
sure bro. I'll buy your course too. ssssure bro
I didn't know they were still around
I just need a lull in these Rabbit videos to be able to sell mine
sell the bnnuy
That was wild
i was more amazed by the julian assange news !
That "No excuses" and David Goggins really threw me off
Oh no! I hope those 5 owners will be alright 😢
the bubble's popping