I’m not talking out of my arse here either. I don’t work in security specifically but I’ve got a CS degree as well and it contradicts my understanding of how those terms are generally used. This is an open API endpoint, equivalent to leaving the garage door open.
But the distinction is usually unimportant. A security hole is a security hole regardless of what you call it.
To build on you analogy: if you left your garage door open and people came in and started taking your things, is that not stealing?
Of course it’s stealing. But they didn’t break in.
Hacking = breaking in
Data breach = stealing stuff
What about this scenario:
- you keep your main garage door, side doors, and windows locked
- provide a key to anyone who wants to borrow your lawnmower or whatever
- someone discovers a window you mistakenly left unlocked and starts using it to take stuff without using a key
Would this be considered breaking in? Probably. Here is where the analogy breaks down; if I were to leave the front door of my house unlocked, even if there’s a welcome mat outside, anyone who enters without my knowledge or consent can be charged with breaking and entering (yes, even though no actual breaking is involved).
The interesting thing with public APIs is that there are generally terms and conditions associated with creating an account and acquiring a key, though if you are hitting an unauthenticated endpoint you technically never agreed to them. In this particular case with Authy, it would probably be argued that the intent was to acquire data by exploiting a vulnerability in the custodian’s system and use it for nefarious purposes or profit. I’d call it a hack.