A link somebody sent you
The whole point of an address is that you can read it. Anything that wraps it in something more convenient has taken that away, and convenience is exactly what you were relying on to be able to check.
- What it is
- An address hidden behind link text, a QR square or a shortener
- Where you meet it
- Messages, chats, forum posts, images, printed cards
- What it settles
- Nothing. You cannot see what you are opening
- Cannot tell you
- Where it actually goes, until you make it show you
The specimen
77x6lmfaxyqskpcjidkl5r7mnounjzp6fqe7oqeu3au6hsv4xgkmasad.onion
</a>
Link text and link target are two different strings, and only one of them is shown to you. Lime is what you read. Salmon is where you go. This is not a clever attack, it is how links have always worked, and it is why the address in a message is worth nothing until you look at the target.
Three wrappers, one problem
| Wrapper | What it hides | What to do |
|---|---|---|
| Clickable text | The real target, which can be anything | Copy the link rather than clicking it, then read what you copied |
| A QR square | Everything. It is unreadable by design | Decode it to text first and read the text. Never scan and go |
| A shortener | The whole address behind a domain that is not an onion | Do not. There is no version of this that is worth the convenience |
Where it came from is not evidence
The strongest thing working in favour of a sent link is that you know who sent it. That feeling is doing no work at all. Your contact got it from a page, and either checked it or did not, and you have no way to know which. Trust is not transitive, and it never was in this subject.
The same goes for a reply on a forum with a long posting history behind it. History belongs to an account, and accounts change hands quietly and are worth money precisely because of the history attached.
The habit
- Copy, never click. Copying gives you the string, clicking gives you a page.
- Paste it next to your own copy and see whether the lines match.
- If you have nothing to compare against, get a current set first. Comparing against the address in the same message is not comparing.
- Then check the signature once you are in. Matching the string proves you arrived where you meant to. It does not prove the destination is what it says.
The version that arrives as an image
Screenshots of address lists get passed around constantly and they are the worst format of all, because you cannot copy from them and you cannot compare them mechanically. Retyping fifty six characters by hand introduces the exact error the whole scheme is built to make catchable, and it will not be caught, because you have nothing to compare against. If all you have is an image, use it to find a current list somewhere else rather than as a source.