Web Security is Too Hard
193 points by kevincox 5 hours ago | 102 comments

yellow_lead 5 hours ago
At one point in the article, the author asks Cloudflare's bot if they're launching a Wallet product, and it says no.

> There is no such product in our documentation or dashboard, so treat any email, website, or message claiming to be "Cloudflare Wallet" as a phishing attempt.

What's the point of adding these AI chatbots if they're hopelessly uninformed about your products?

reply
inigyou 2 hours ago
The point is to show how AI you are.
reply
MichaelZuo 2 hours ago
Why would Cloudflare want to lose credibility and reputation though? Doesnt seem to make sense.
reply
inigyou 53 minutes ago
Credibility and reputation with who? Their target audience is rich people, who love AI.
reply
devindotcom 3 hours ago
heh yeah I ran into this with one of the few times I used claude desktop. it had no idea what features it had and didn't have, where buttons were in the app, etc. isn't that kind of a core category of knowledge you'd want the chatbot to know?
reply
fl0id 3 hours ago
in my experience, usually it knows this (it is in the system prompt) but it can still get confused. Especially with skills for example, some skills might only work in claude code/outside of sandbox or in desktop but not on web. And it would sometimes not know if it was on the web or desktop.
reply
hahahaa 2 hours ago
The next AI benchmark is can an agent understand the product suite of its creators.
reply
nitwit005 2 hours ago
That would clearly be superhuman intelligence, as I suspect the employees would struggle with that one.
reply
mattmanser 2 hours ago
Things like this change fast, it has a skill it can use now to find out. I'm not sure when they added it, I only noticed it last week.
reply
bakugo 5 hours ago
The point is to signal to investors that they're all-in on the current fad, thus making the stock price go up.
reply
mirashii 5 hours ago
What’s the point? To save money paying a human to man a support email. That human would have also been hopelessly uninformed for all the same reasons.
reply
sholladay 5 hours ago
> That human would have also been hopelessly uninformed for all the same reasons.

Not really. At minimum, a half-way decent support person would ask a few people internally or search Slack before answering.

In fact, they would have likely already heard about the new product at lunch or something.

reply
munk-a 4 hours ago
Most chat support people were contractors hired from third party companies that were given dossiers about their products that were often quite out of date because poor management has always been a thing.
reply
sgarman 3 hours ago
Last time Coinbase had a breach I wrote in to support chat to see what I needed to do. They said there was no breach. I sent them a link to their own blogpost about it. They responded with "wow this is the fist time I'm hearing about this."
reply
vntok 4 hours ago
> At minimum, a half-way decent support person would ask a few people internally or search Slack before answering.

Of course not. The extremely vast majority of support staff aren't connected to "internal people" and certainly don't have any access to the main company's Slack.

Most of all, those people are paid very little on very tight length-per-interaction targets. They can't spend any time at all looking for stuff outside the docs package or chatting with peeps outside the immediate costaff.

reply
sholladay 3 hours ago
Everything I said applies to overseas labor, too. I’ve worked at both types of companies, those that co-locate support with the product teams, and those that pay bottom dollar and don’t care at all about support.

With the latter type, there’s still almost always a line of communication to corporate. And the support staff still try to help. They are decent human beings, even if the end result kind of sucks.

reply
sandeepkd 4 hours ago
Its an organic cycle, as the company grows big the number of relevant areas grow too and inter team communication becomes way too costly/impractical. The big company becomes a group of informal small companies, each running in their own direction and at times competing with each other. Areas like customer support are not really good candidate for career growth so they get least resources and manpower.
reply
Groxx 4 hours ago
If you have no training or knowledge-base to search, sure. But then you'd be an awful support-team employer.
reply
saghm 4 hours ago
I mean, yes? That sounds pretty accurate for most companies before chatbots became the new hot thing
reply
SoftTalker 3 hours ago
Uninformed chatbot replaces uninformed person. And the chatbot doesn't need bathroom breaks or health insurance.
reply
wslh 5 hours ago
And as a dark pattern it adds "positive friction" for the company reducing the number of people that will have the motivation of obtaining the real people support.
reply
saghm 4 hours ago
Several weeks ago I had an issue not being able to login to Verizon's website, so I tried to chat with someone. The chatbot that was gatekeeping was predictably useless said it would redirect me to a human except...it kept prompting me to log in first. It was literally impossible to differentiate from if they literally had no humans online to talk to at all.
reply
mihaaly 4 hours ago
I could be the best money saver for them - and ask for a hefty premium for my services - by terminating all support. No costs, nada, full save! Genius, right?! Never gives false info, never!

Ok, ok, need to have a tickmark next to the 'support' item in the quarterlies, let it be an eternal spinning wheel presenting on clicking the 'Our award winning instant support is HERE!' button then. Its close to the real experience anyway, right?

reply
claudetard 3 hours ago
To avoid wasting customer time, simply make that button close the window.
reply
ozim 4 hours ago
Web Developers, please follow every best practice, I’m begging you

Marketing people just make bunch of marketing domains. Business people push all kind of BS ideas.

No one is asking Web Developers about their opinion man.

STOP making everything developers fault.

reply
hahahaa 2 hours ago
Who do we call? CTOs I guess.
reply
inigyou 2 hours ago
Who made the website?
reply
technion 2 hours ago
Dies it matter? Im sitting on the ops end of this myself right now where marketing purchased something like 15 new domains on Godaddy and both me and the Web developers that built the new site found it the new product will live on those domains and launches today.

This is an entirely normal experience across every org ive worked in and unless im also surprise promoted to cto today I do not have an ability to question it.

reply
ozim 2 hours ago
Who designed the customer flow?

In TFA there is no single issue of actual things that web developers could be blamed for.

CSP not mentioned I assume it was correctly configured, site has https, site is using SSO from providers not storing passwords.

All security failures in this instance are stemming from bad customer flow, using silly domain, even "poorly placed" security element was most likely designed to be in that place by some designer not any web developer. While all the other things done by a business/marketing/UX and I bet Cloudflare has loads of cybersecurity people who should be asked to review the customer flow and not a web developer.

reply
63stack 5 hours ago
My main takeaway from this is not that "security is hard" but that cloudflare is pretty incompetent.
reply
madeofpalk 5 hours ago
The takeaway is that everyone makes security hard. Everyone does this anti-pattern of having these other domains that defeat all their own security recommendations.

GitHub for ages had something like githubnext.com where they would make you do this same OAuth dance (except IIRC it was worse - it explicitly said that it WASNT GitHub). Apple has/had an apple.tv microsite or something they hosted content on.

Your bank will send you “legitimate” surveys or communication from some third party domain like qualtropics.com.

reply
inigyou 2 hours ago
Once upon a time, RuneScape ran a promotion where World of Warcraft players could join a special world with double XP (experience points) or something by clicking this promotion link.

RuneScape has an in-game dungeon designed to teach players about account security. One of the questions is whether you should click on a link that promises double XP...

reply
InsideOutSanta 3 hours ago
Fricken Proton has a separate domain that lists all of their apps, https://protonapps.com/. This absolutely screams "scam", but no, it's real.

Ffs, just put this on apps.proton.me or something so I actually know it's real!

reply
1970-01-01 5 hours ago
This isn't a secfail. Why is pay.cloudflare.com so hard to establish? Why does marketing always get to overpower engineering? I expect Cloudflare services to avoid some sketchy .pay TLD for exactly the reasons this person went through.
reply
nemothekid 3 hours ago
>Why is pay.cloudflare.com so hard to establish?

An engineer who vibes up a marketing site, and attempts to put it on the same origin as *.cloudflare.com now has to jump through 1,000 hoops of security clearance, customer notifications, etc.

> `pay.cloudflare.com` can't be launched because it doesn't have the proper WAF preventing 25 year old Wordpress exploits, please make sure pay.cloudflare.com/wp-admin.php is blocked. I don't care that it's a Zig application.

I remember just doing SOC2 for a startup and it made just spinning up an EC2 instance require several steps of rigamarole just to be "in-compliance". And if anything goes wrong? Well why didn't you follow the 2,000 step process?

I don't envy anyone who has to deal with issues like these.

reply
marcta 3 hours ago
Presumably the big scary sysadmins have access to the *.cloudflare.com DNS records, and marketing just needs to push this thing right now and can't wait, so it's easier for them to buy a new domain with a shiny new TLD than wait for pay.cloudflare.com to be authorised.

cloudflare.com/pay probably has a similar chain of approval: if every marketing idea had its own top-level route, it would get pretty crazy with such a big company.

reply
hahahaa 2 hours ago
Google manages it though. And you could have a labs.cloudflare.com/idea and make it easy to add new ideas internally.
reply
epochbtc 5 hours ago
Ironically, this might be at least partially because the internal security controls at Cloudflare for using or provisioning new domains/subdomains is so difficult and arduous that the team decided the fastest way to go to market is to get an entirely new domain. Possible bonus that the official bug bounty program won't apply either, since it's on a new domain so any vulnerabilities found won't have to be paid out (as much).
reply
OkayPhysicist 4 hours ago
Why is this so, so common? They're subdomains. They're free. It's not hitting anybody's budget to publish a new DNS entry. If someone has permission to publish anything in your name, they probably should be able to go make themselves a subdomain.
reply
edent 4 hours ago
Because they point foo.example.com to AWS. They then let whatever the CNAME is pointing to lapse. Then an attacker registers the lapsed AWS and can now put their content on your trusted domain.

https://aws.amazon.com/blogs/security/threat-tactic-spotligh...

(AWS have since fixed this problem, but it exists on other services.)

reply
saghm 3 hours ago
So the solution is to make it even easier to let the domain records lapse by putting it outside the place where everyone would know about it, with the added bonus that now you can super easily let the domain registration itself lapse without noticing so that your customers who have been told to use it can get directly pwned by whoever grabs it?
reply
chrisandchris 3 hours ago
Which you could mitigate by using a Cert-Policy in DNS and HTST, so an attacker might not get s valid certificate for your domain and at least access is sonewhat restricted.
reply
peanut-walrus 2 hours ago
Because web security has a lot of legacy crap. Such as cookies. Oh you added Domain=foo.com to your cookie? Now marketingvibecodedapp.foo.com can access the cookie from your main domain. What do you mean you thought adding the domain field restricts the cookie to just that domain? Lol no, it's the exact opposite, gotcha, dumbass.
reply
inigyou 2 hours ago
Because corporate security has nothing to do with security, and everything to do with adding bureaucracy roadblocks to legitimate activity.
reply
epochbtc 4 hours ago
Counter-argument is: do you really want some team of 90% marketers and PMs throwing up a MVP/WIP codebase for some ancillary product not related to your core business on your core domain? At a minimum you'd want a thorough security review and risk assessment, and that goes against the ethos of "ship fast and pivot as needed".
reply
ryandrake 4 hours ago
Why does the TLD matter in this case? How does your security/risk posture change if you launch on myexperiment.mycompany.com vs. www.mycompanyexperiment.website that you had to go out and newly purchase? Asking because I legit don't know.
reply
nvme0n1p1 3 hours ago
One example: a subdomain like experiment.example.com can access cookies for example.com.
reply
saghm 3 hours ago
I mean, it sounds like they're already doing that, just with extra downside
reply
AndrewKemendo 3 hours ago
I’d argue this is exactly why this happened and why the poster is correct but missing the point:

Your organizational management is the problem not the technology

If you can’t coordinate internally to roll out a proper domain then I question how well your teams are managed

reply
Insimwytim 2 hours ago

  The Cloudflare folks apparently want security issues reported via HackerOne (which wouldn’t let me log in because the Cloudflare CAPTCHA HackerOne uses seems to be broken…).
That's just gold
reply
stymaar 3 hours ago
So it's not just FedEx[1] who does that, but also one of the most important tech company…

[1]: https://www.troyhunt.com/thanks-fedex-this-is-why-we-keep-ge...

reply
andremendes 5 hours ago
What a ride of a read. I was 100% it was phishing and I got really surprised to find out it wasn't.
reply
hahahaa 2 hours ago
I thought it wouldn't be as I assume :) CloudFlare scans for new tld and either gets in the sunrise period or at a minimum objects to anyone else registering a straight CloudFlare.tld. But CloudFlarepay.com or cl0udflar3.com have more scam risk.
reply
EGreg 3 hours ago
I only realized it wasnt after googling for the phrase “cloudflare.pay” and finding the announcement on Cloudflare’s own blog, which I trust because it is on cloudflare.com

All the bots including Google’s say it’s a phishing scam site probably, since they don’t know Cloudflare has a wallet product.

reply
joemi 4 hours ago
It looks like they've updated the cloudflare.pay site to link to the blog post on cloudflare.com that introduces wallets. So they fixed it on the same day they launched. That's not too bad, in my book.
reply
saghm 3 hours ago
I mean, what would stop someone from registering mycloudflare.pay and doing the same thing? Having the link in the other direction seems like what matters more
reply
joemi 2 hours ago
I mentioned it because the blog post itself links back to cloudflare.pay. Of course just linking to a blog post is useless.
reply
Joker_vD 2 hours ago
By "the same thing", you mean writing the blog post on Cloudflare's official blog?
reply
inigyou 2 hours ago
No, they mean making it link to the blog.
reply
tchalla 3 hours ago
I tried to signup and got an "Internal Server Error" post the auth callback. Embarrassing for Cloudflare. Par for the vibe coded culture I guess.
reply
tailscaler2026 2 hours ago
[dead]
reply
dwedge 5 hours ago
I guess it's easy to judge from the sidelines but was the screenshot of the site, if not the first tweet, not an obvious scam? And you can say it's from context but I only read the title before my eyes jumped to the screenshot
reply
dwedge 5 hours ago
I just read the rest of the article and I'm back with my tail between my legs. I guess I made the author's point.
reply
Hovertruck 5 hours ago
Don't worry, I think everyone probably went on the same roller coaster with this one
reply
thadt 5 hours ago
In the movie Sneakers, a whole scene is taken up sending some guy on a date with Mary McDonnell so she could record clips of his voice. Today she'd just need a phone call or his Instagram. It's getting harder to keep up with who _people_ are online, much less organizations and domain names.

Identity is hard y'all.

reply
saghm 3 hours ago
I don't understand what your point is. Do you disagree with any of the concrete suggestions in the blog post about what should have been done differently, or do you think they're hard to follow?
reply
varenc 56 minutes ago
Cosmically I feel like the HTTPS certificate on Cloudflare.pay should provide sufficient info to confirm it's the same entity behind Cloudflare.com
reply
lee_ars 35 minutes ago
You'd think, but nope, it def doesn't — the site's TLS cert is issued by Google Trust Services, which issues domain-validated certs via ACME, so no, the only thing the site owner had to do to get that certificate is demonstrate ownership of the `cloudflare.pay` domain. GTS is also one of the default CAs that Cloudflare's universal SSL uses, so that's also exactly what would show up for any Cloudflare-proxied site with TLS enabled.

The cert itself only has CN=cloudflare.pay. It lacks an org, an address, or any other identifying info. It's not OV/EV, so no details there, either.

The domain's whois is also devoid of identifying details:

https://rdap.nominet.uk/pay/domain/cloudflare.pay

Registered through 101domain, with nothing except a registrar abuse contact.

I mean, great that this is legit, but CF could have done a better job with making it actually _look_ legit. This looks sketchy as fuck.

edit - gawd, nevermind. they don't even have anything useful for cloudflare.com. Same GTS cert, redacted whois info. lol. how did we even get here.

reply
eaf7e281 2 hours ago
I also immediately check to see if it's an actual Cloudflare product because cloudflare[.]pay seems too suspicious to me.

Luckily, Google didn't fail me this time. Found a blog about this product with a link to the same domain.

reply
aprilnya 3 hours ago
I saw the whole Cloudflare Pay thing and had the exact same thoughts - this has to be some sort of phishing...
reply
Joker_vD 5 hours ago
Another entry in "Marketing department starts a promotion campaign for the new product that's indistinguishable from a phishing attack" list. Starting with not using a subdomain on your own, very well-known domain but instead using a completely different one, then not having it shown with the rest of your services on your main web site, et cetera.
reply
raesene9 5 hours ago
Same Story as it ever was. The first time I encountered what I thought was a phishing attack at the bank I worked at 25 years ago, it turned out to be a marketing campaign, with URLs that put our company name as a user before the domain name (back in the day when creds could go in the URL).
reply
ericlaw 5 hours ago
Fun fact: still can in Chromium-based browsers. https://textslashplain.com/2023/03/22/attack-techniques-spoo...
reply
spc476 4 hours ago
It's probably easier for the marketing department to get a new domain up and running that it is for a new subdomain within their own company. Battling Business Units and all that.
reply
saghm 3 hours ago
That's a problem that should be solved then, because literally everyone loses when it's done this way
reply
derektank 5 hours ago
You really would think that at least in theory a company like Cloudflare would make it very easy for internal teams to automatically request new subdomains
reply
nerdsniper 4 hours ago
Running marketing off a separate domain is often a conscious decision because if they start getting blocked for spam, then critical service/operational emails from your actual domain might also get blocked.
reply
saghm 3 hours ago
Oh good, I'm glad that Cloudflare, proud defender of internet security, is properly focused on the important goal of optimizing for their ability to send promotional emails to my inbox rather than silly things like helping prevent phishing attacks.
reply
make3 5 hours ago
this is the correct take
reply
ernsheong 3 hours ago
Cloudflare seems to be trying to do EVERYTHING.
reply
inigyou 2 hours ago
Every company has to try to do everything, before any other company does, especially related ones.

It's why Valve moved into OSes and hardware. If they didn't, Microsoft were holding a nuclear bomb over their heads. It's why Google has a phone platform, because Apple has been replacing the Google apps one-by-one. It's also why Samsung has a parallel suite of apps to the Google ones. It's why the pizzeria makes fries, because they're threatened by the fry shop across the street starting to serve pizza. It's why Uber tried to make self driving taxis. It would be good if the fry shop made only the best fries and the pizza shop made only the best pizza and Valve made only the best game store and Microsoft made only the best OS, but it's a very unstable equilibrium. Does your ISP still give you an email address?

reply
wackget 4 hours ago
1. Why is this website blocked when I try browsing it using Brave?

2. Why on earth would you want a financial product from a WAF?content delivery company?

reply
aDyslecticCrow 4 hours ago
You didn't read the whole article; it's not a scam, it's a new official cloud-flare product.
reply
j45 2 hours ago
Depending on how possible it is for a use case, reducing the attack surfaces and vectors can help, such as being mindful of how much client side javascript exposes anything.
reply
TZubiri 4 hours ago
this from a company whose main product is (was) security.

I feel there's a generalized decrease in quality in software in general.

reply
LocalH 5 hours ago
Web security wasn't hard before we started trying to make the web a platform for full executable software.

I never got hacked through the web before JavaScript (never got hacked after either, yet, but it wasn't really possible in the same way to hack someone through the web without some way to execute program logic, which in the old days would have required a much more specific browser exploit to gain RCE).

JavaScript was a mistake. Everything else after that involves "running code in the browser" was a mistake.

Program execution needs to be completely separate from "the web". I don't want any code of any sort running in my browser, at least not any that I don't fully control. "The web" was never designed to be an application platform. It was only designed to be a document platform.

reply
OkayPhysicist 4 hours ago
None of this required Javascript. At all. The same potential attack could have been done with good ol' forms. Sure, you think you're signing into "BigBensSuperStore.com", but you're actually handing your credentials right over to "BigBensSuperStore.net".
reply
LocalH 4 hours ago
JavaScript (and other forms of executing logic within the browser) have made the situation worse, though.

To me, there's a big difference between a domain misread and actively malicious code running in the browser context as a design point.

reply
saghm 3 hours ago
If a malicious site gets your password, I'm not sure why it matters whether it happened in the frontend or not.
reply
LocalH 48 minutes ago
Bad actors have been social engineering passwords for years even before a single line of JS was written. Restricting the backend is a way of heavily reducing the attack surface. The expansion of hardware access to browsers is the largest scam enabler of the 21st century. The only reason it's happening in the long term is because companies like Google (DoubleClick) wish to use hardware attestation to tie people to hardware for advertisement purposes, and that requires complete vertical attestation.

We're losing general-purpose computing like frogs in a slow cooker, and millions of people don't even notice. Fuck TPM, fuck hardware attestation, no internet company should get a single bit from me that I don't authorize. Any site that requires hardware attestation will be a hard "no" for me to ever visit again.

I maintain this all started when commerce was introduced to the internet. Things were better before money was transferred digitally. Allowing that was a major fuckup.

reply
applfanboysbgon 4 hours ago
> "The web" was never designed to be an application platform. It was only designed to be a document platform.

And then it expanded to serve the needs of billions of people instead of the needs of a few researchers. Womp, womp. Get over it, use a JS-free browser to browse your documents, and accept that the world has moved on. Or don't, and rant at clouds, I guess.

reply
inigyou 2 hours ago
You realize the same argument applies to Word macros.
reply
LocalH 53 minutes ago
I think someone should ask Vint Cerf whether he ever intended the web to run executable code, and enforce that answer on the existing web.

I bet the world would crumble. Good.

reply
applfanboysbgon 42 minutes ago
This is base stupidity. Suppose you used your web-dictator powers to strip JS from the web based on historical decisions made 50 years ago. Then everyone other than you would use Web2 and ignore you. Indeed Web 2.0 is already a term recognising that the web has changed since it was first conceived; I guess it would make you feel better if we formalised it and formally created a new Web that's exactly like the current Web except with nobody who can claim things about how it was "supposed" to work in the 1970s?
reply
LocalH 35 minutes ago
Clearly you have a vested interest in the status quo of today, instead of understanding why the whole network was created in the first place.

Your viewpoint enables billions of dollars of fraud every year, worldwide. Mine doesn't.

Email has similarly been destroyed by HTML email, at least partially.

It's like there is a coordinated effort to destroy every single legacy protocol and replace it with something centrally controlled. No fucking thank you.

reply
applfanboysbgon 4 minutes ago
"The whole network was created in the first place" to serve the needs of a tiny number of academic and military researchers. This legacy is completely irrelevant to why it exists today. Again, we can kill Web1 if it makes you happy, so we can get rid of your tired appeal to "but the 1970s design!!!". If we kill it, then people will just create some new network that serves the actual use cases of billions of people, because there will still be demand for software that does more useful things than sharing documents. And when that new network is created, it will be exactly the same as the current one, but it will have been made in the 2020s, so you can finally STFU about the 1970s. Would engaging in that farce make you happier?

> Your viewpoint enables billions of dollars of fraud every year, worldwide.

Yep. Having knives in every kitchen enables people to be stabbed, too. As a society we choose to allow useful things to exist rather than locking everyone in a straitjacket, even though the latter would be more safe and prevent all kinds of crime and tragedy. It's funny that you complain about centralizing control at the same time as making this argument that nobody should have tools because tools can be misused.

reply
saadyousfi 2 hours ago
[flagged]
reply
iryndin 4 hours ago
[dead]
reply
thataccount 5 hours ago
Cloudflare is your favorite company and they are geniuses?

Dear Diary,

Today my fanboy bubble was burst.

Signed,

Author

reply
ericlaw 5 hours ago
Note that I said: "One of my", and Cloudflare has hired a HUGE percentage of the best networking talent I've encountered.
reply
thataccount 5 hours ago
Another company named Cisco used to do that. They built the Great Firewall of China. Hiring talent does not equal good company.
reply
Panino 4 hours ago
I hadn't read that so I looked it up to verify, and it appears true:

https://www.eff.org/deeplinks/2016/04/ciscos-latest-attempt-...

Cisco looks to have made money from repression and torture.

Meanwhile a large fraction of neo-nazis, credit card thieves, and DDoS-for-hire sites are on Cloudflare. It takes serious talent (not morals) to attack humanity at scale.

reply
robocat 2 hours ago
> sites are on Cloudflare

And robbers can hire cars, buy battery angle grinders, and charge the batteries from the electricity network then drive on roads to your house.

Are Cloudflare supposed to be the police?

Does the UN provide a registry list of criminal domains that should not be livened?

reply
inigyou 2 hours ago
Doesn't even matter who CF is hosting - the fact they're sending all our HTTP requests to the NSA should be enough reason already!
reply
sghiassy 5 hours ago
Just use LLMs. They can apparently doing everything and all the things
reply