I wrote a blog post about it, would appreciate some feedback!
I'm also chronically unemployed at the moment, so if you read this and need someone to work on anti-abuse, or an overall skilled developer, please reach out!
13 karma · joined October 31, 2025
here to learn and share ideas
https://linkedin.com/in/abigailphoebe
I wrote a blog post about it, would appreciate some feedback!
I'm also chronically unemployed at the moment, so if you read this and need someone to work on anti-abuse, or an overall skilled developer, please reach out!
i attempted to fork the dummy repository and was met with "You are unable to fork this repository at this time"; after this my co-worker went to view my profile and found that it 404s to anyone who is not logged in as my user.
went to submit a ticket to support.github.com & it redirected me to a specific reinstatement request support flow; wonderful.
i yearn for the day my company moves away from github and uses literally anything else, likely will be soon after this.
assuming a reasonable ratelimit, say 100 lookups per day (maybe some exceptions if the lookup results in an account that already has you in contacts, idk) - this would significantly reduce the amount of scraping that can be done.
contact lookup is a required function of whatsapp, the issue this paper highlights is that there is no protection against mass scraping
this was in the middle of a scheduled maintenance, with all requests failing at a singular point - that being a .unwrap().
there should be internal visibility into the fact a large number of requests are failing all at the same LOC - and attention should be focused there instantly imo.
or at the very least, it shouldn't take 4 hours for anyone to even consider it wasn't an attack.
in situations such as this, where your entire infra is fucked, you should have multiple crisis teams working in parallel, under different assumptions.
if even one additional team was created that worked under the assumption it was an infra issue rather than an attack, this situation could have been resolved many hours earlier.
for a product as vital to the internet as cloudflare, it is unacceptable to not have this kind of crisis management.
regretfully i'm not sure if such a big language change can be made; though it would be nice.
here's to hoping!
they claim to have achieved a rate of 7,000/s, which is roughly 25M/h
i do agree that is an absurd amount, especially when paired with the lack of rate limiting as discussed in their paper.
> "[...] Moreover, we did not experience any prohibitive rate-limiting. With our query rate of 7,000 phone numbers per second (and session), we could confirm 3.5 B phone numbers registered on WhatsApp [...]"
prior to my initial comment, i was under the impression they had encountered ratelimiting and bypassed it, it appears this initial assumption was incorrect.
i agree that it is ridiculous, though i faulter on calling it a vulnerability as in my eyes that term is specifically for unintended side affects / exploitation.
safe refers to memory safety.
once again, if you write bad code, that’s your fault, not the languages. this is a feature of rust that was used incorrectly.
this was bad code that should have never hit production, it is not a rust language issue.
i’m a little confused on how this was initially confused for an attack though?
is there no internal visibility into where 5xx’s are being thrown? i’m surprised there isn’t some kind of "this request terminated at the <bot checking logic>" error mapping that could have initially pointed you guys towards that over an attack.
also a bit taken aback that .unwrap()’s are ever allowed within such an important context.
would appreciate some insight!