function requestIsBad(request) {
return [
/Do Anything Now/i,
/[A-Z]{4+}/,
/10 tokens/i,
].some(regex => regex.test(input));
}
it's a good time to be selling shovels! function requestIsBad(request) {
return [
/Do Anything Now/i,
/[A-Z]{4+}/,
/10 tokens/i,
].some(regex => regex.test(input));
}
it's a good time to be selling shovels!* Examples of specific company employees extracting information they had no access to in the regular JIRA/Confluence world, but were able to extract it via an LLM trained on company data. There are a bunch of "train LLM on the companies entire knowledgebase" startups right now. Without control on who is querying about which project. Employees can query about the RIF that is happening next month, and maybe theyll get a truthful response
* Hiding information that needs to be legally, or morally anonymized
* Anonymizing business logic and code
If it works well, itll allow companies to really throw in everything they have into LLM training, without worrying of what goes in. Plenty of companies (including my employer) still block the chatgpt URL accross all computers
The only problem I see with these shovel sellers, is that any corporation can build this in a couple of weeks tops to help sell enterprise licenses, they don't really have an edge
>HOST: example.com/2Y8son3bwiuSuYUdBW3EAIojZc8{{41839*41587}}
Django catches this and I get notified.
EDIT: it's being passed as HTTP HOST header, not path. Obviously, `example.com/randomgibberish{{}}` is not a VALID zone/host set up on my CF account, so I'd think that they should not pass that to my backend.
But it looks like maybe you're implying the double curly braces allows someone to inject some sort of eval block. Is that a Django thing?
The attack here is that an attacker can probably run unsafe code on the server and exfiltrate data or worse.
I think by default Django will throw a 404 or 400 like you mentioned. OP would have liked the request to get zapped by the WAF though.
The curly braces are evaluated in templates and I am guessing this path will be evaluated as a template (not a standard Django template, but another comment said this would work in Jinja templates). THis seems like a bad idea though.
curl -H 'host: www.judge.sh' https://www.judge.sh -v
<regular response>
curl -H 'host: www.judge.sh/2Y8son3bwiuSuYUdBW3EAIojZc8{{41839*41587}}' https://www.judge.sh -v
< HTTP/2 400
< server: cloudflare
<head><title>400 Bad Request</title></head>
In my experience the host header is pretty strict on Cloudflare mostly because that's how they identify which domain to route. All CF IPs work for any CF hosted hostname; You could curl 1.1.1.1 with your own site's TLS SNI and host header value to get your site back.I wouldn't read too much into the defaults. I'm sure they're aiming for a sweet spot between blocking likely attacks and generating too many support tickets from crappy apps that rely on some non-spec behavior. It's not meant to be proof a request is well formed.