Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

🏴‍☠️this is how your vibecoded app gets hacked... let's hack a website together i'll show you why "trusting client" fallacy can cost you 1000s of dollars thread to learn how to avoid this:

236,017 Aufrufe • vor 9 Monaten •via X (Twitter)

44 Kommentare

Profilbild von Burak Eregar
Burak Eregarvor 9 Monaten

rule #1: treat every client as hostile never trust roles, prices, user ids, flags, or limits coming from the frontend. the client only requests. the server decides.

Profilbild von Burak Eregar
Burak Eregarvor 9 Monaten

rule #2: enforce everything server side auth, authorization, validation, rate limits. recalculate sensitive values. check ownership. assume requests can be replayed, modified, or forged.

Profilbild von Burak Eregar
Burak Eregarvor 9 Monaten

rule #3: ui restrictions are not security hidden buttons, disabled inputs, and “this won’t be called” assumptions do nothing. if it matters, enforce it on the backend.

Profilbild von Michael Stan
Michael Stanvor 9 Monaten

Rule #1 should be tattooed on every founder's forehead. I trusted my retail system's frontend validation in 2015. "Nobody would manipulate inventory counts through the browser, right?" Wrong. Lost £14k to a single compromised session before I caught it. Server-side everything. No exceptions. Ever.

Profilbild von Burak Eregar
Burak Eregarvor 9 Monaten

wow 🤯 sorry to hear that. an expensive lesson

Profilbild von ronald jabouin
ronald jabouinvor 9 Monaten

I found a similar trick on an AI tool. They gave non logged in users a few free uses but the endpoint was unprotected, so I could run it as many times as I wanted via the API

Profilbild von Burak Eregar
Burak Eregarvor 9 Monaten

number of apps with these critical vulnerabilities is insane

Profilbild von OKTRA
OKTRAvor 9 Monaten

Server side validation has to be done

Profilbild von Burak Eregar
Burak Eregarvor 9 Monaten

non negotiable

Profilbild von bmj🐂🀄️
bmj🐂🀄️vor 9 Monaten

Dropped a follow. would love to ask a few questions about an app I’m building if possible🙏🏼

Profilbild von Burak Eregar
Burak Eregarvor 9 Monaten

feel free to ask them here if they are not private so others can benefit as well if they are, my dms are open

Profilbild von viswC
viswCvor 9 Monaten

im going to use rule #2 to tell claude to remove these if vulnerablities exist. thanks

Profilbild von Burak Eregar
Burak Eregarvor 9 Monaten

💪

Profilbild von Can (ジャン)
Can (ジャン)vor 9 Monaten

Yeah, I feel like this was engraved to me in college and masters by our professors. So these kind of secure coding practices feels like second nature now.

Profilbild von yotam
yotamvor 9 Monaten

Was just thinking about how valuable it is for someone to do what you’re doing in this way, thanks for this Amazing lessons Would be cool to see your vibe coding approach to security for non tech users of Claude maybe in the form of a SKILL

Profilbild von Eduardo Borges
Eduardo Borgesvor 9 Monaten

very cool, but I think AI will do a better job than humans tbh AI knows client is not safe (at least recent models like opus 4.5 are good at protecting it) and even if a few models might still fail, it’s just a matter of time (months) for vibe coding be safer than any manual senior dev coding just like tesla cars will be safer than regular ones, they are less prone to errors when tired

Profilbild von Nathan
Nathanvor 9 Monaten

Good breakdown. So how do you fix this? Send a check to your auth base and check how many credits that user has before firing?

Profilbild von Burak Eregar
Burak Eregarvor 9 Monaten

client sends a request to backend to start generation backend checks the database to see if user has an active subscription and enough credits if so, backend starts the generion frontend must be as dumb as possible. just shows stuff on UI and makes requests, not decisions

Profilbild von Nathan
Nathanvor 9 Monaten

Legend, thanks for clarifying. Created my first app last week, 99% sure it's set like that.

Profilbild von Ben
Benvor 9 Monaten

This is more about basic programming knowledge than vibe coding per se. The backend should always be in control. Basic.

Profilbild von max (hey)
max (hey)vor 9 Monaten

flabbergasting how people miss this. ALWAYS restrict sensitive database actions to backend only. As a rule of thumb, backend methods can only be called form the backend. If you need changes, pass the data from the front end, validate, and let your backend execute.

Profilbild von stexz
stexzvor 9 Monaten

tbh, i never seen opus 4.5 make an mistake of sending user_subscription_type in json payload might me different model built this, no security modals still giving security prompt to model is better

Profilbild von Jurre
Jurrevor 9 Monaten

So happy you are sharing these insights! Thanks:)

Profilbild von Burak Eregar
Burak Eregarvor 9 Monaten

ahh hearing this makes me happy 😊

Profilbild von ManuAlzuru🥑
ManuAlzuru🥑vor 9 Monaten

Really good tip. Just followed you! The prompt should include something like: always validate permissions on the server side before executing any service.

Profilbild von Sam
Samvor 9 Monaten

Great advice! For my mobile apps I keep all the credit tracking/consuming server side

Profilbild von Alex
Alexvor 9 Monaten

i learned such thing while i vibecode, and from AI, as once i have started my apps, from the very beginning AIs told me and insisted on using server-side auth, middleware, etc which they did properly (i hope :) ). Still not fininshed apps, but initial security seems decent and i can't imagine launching without properly checking it. Good video and explanation👍

Profilbild von Mike Baptiste
Mike Baptistevor 9 Monaten

Great post. Thank you. How do we secure our vibe coded apps from this type of hacking?

Profilbild von Elton John Wayne Gretzky
Elton John Wayne Gretzkyvor 9 Monaten

Don't let amateur ignorant people use AI tools for vibe coding because then they believe they're better than actual professional devs. Or do it, I'm not your mom.

Profilbild von AlexTheBuilder
AlexTheBuildervor 9 Monaten

Actually vibe coding prevents this if you use good models it will not do it client side

Profilbild von HarwoodLabs
HarwoodLabsvor 9 Monaten

Client side validation is UX, not security. Every input field is a potential injection point, every form submission an attack vector. Defense starts at the server boundary, not the browser.

Profilbild von Michael
Michaelvor 9 Monaten

Thats why you do verification on Server, not on frontend 😂😂

Profilbild von Brandon Veiseh
Brandon Veisehvor 9 Monaten

Great video, a lot of people have these issuws @mindfort agents do this for your app continuously

Profilbild von Jb
Jbvor 9 Monaten

the backend is what you should validate therefore if someone messes with your frontend code it doesnt matter

Profilbild von B
Bvor 9 Monaten

That website UI’s deserved to be hacked

Profilbild von Ant Mancini
Ant Mancinivor 9 Monaten

Dropped a follow. Security has been one area I’m constantly working on being militant about.

Profilbild von David Attias
David Attiasvor 9 Monaten

how come every post you make goes viral?

Profilbild von kolzuki
kolzukivor 9 Monaten

thats why you set a env

Profilbild von Scott (Human) - 𐌃𐌏ᖇ𐌉乙乙𐌃𐌕
Scott (Human) - 𐌃𐌏ᖇ𐌉乙乙𐌃𐌕vor 9 Monaten

Joke's on you, buddy. Try hacking my website I just created. I dare you. I vibe-coded it to be protected online. Ai assures me you wont get access.

Profilbild von Suar
Suarvor 9 Monaten

This is exactly why programming fundamentals matter before vibe coding

Profilbild von Esteban Feldman
Esteban Feldmanvor 9 Monaten

In Game development this is called Authoritative Server.

Profilbild von MaverickOps
MaverickOpsvor 9 Monaten

If anyone thinks vibe coding understands secure coding, you are all sadly mistaken.

Profilbild von The Open Web JP
The Open Web JPvor 9 Monaten

This is crazy, it is such basic server security.

Profilbild von Waner Peña
Waner Peñavor 9 Monaten

Those validations should ALWAYS happen on the server side.

Ähnliche Videos