← Course Labs CYBR 358 · Cyber Operations

Anatomy of a Link Click

Observe how automated link inspection reaches a destination before the browser request.

On this page
  1. 1. Overview and learning objectives
  2. 2. Key terms
  3. 3. The original experiment and its evidence
  4. 4. Telling a scanner apart from a human
  5. 5. The classroom lab environment
  6. 6. Procedure
  7. 7. Analysis questions
  8. 8. Deliverable and grading
CourseCYBR 358-001 · Cyber Operations
DeliverableOne PDF report (see Section 8)
Points100
Overview. Email security services can inspect a destination before the browser reaches it. In the experiment described here, the scan occurred after the user clicked a rewritten link: the scanner request arrived first, followed by the browser request. This lab uses canary URLs to compare request timing and examine the reliability, privacy, and security implications of automated link inspection. Part I introduces the concepts and evidence; Part II contains the graded assignment.

Part I — Background: What you need to understand first

1. Overview and learning objectives

Every day, email security products defend users by inspecting links. To decide whether a link is dangerous, the security layer often opens the link itself. That single design choice — a machine visiting your link before you do — is the subject of this lab.

By the end of this lab you will be able to:

2. Key terms

URL rewriting. Before a message reaches your inbox, the email security layer may replace each original link with a link that points to its own servers first.

Safe Links. Microsoft’s URL-rewriting and link-checking feature in Microsoft Defender for Office 365. It evaluates the destination at click time before allowing the user through.

Pre-fetch. When the security service fetches the destination URL with its own network client — not your browser — to inspect it. If this happens before you click, a request “nobody made” reaches the destination first.

Canary URL. A unique, unguessable, single-purpose URL created so that any request to it is meaningful. Canary URLs are the measurement instrument of this lab.

3. The original experiment and its evidence

Three canary URLs were mailed to the researcher’s own Microsoft 365 inbox. Only one was ever clicked. Only the clicked canary received traffic; the never-clicked controls stayed silent — so the scan happens at click time, not on delivery. And the very first request to the clicked canary came not from the browser, but from a Microsoft IP, milliseconds earlier.

Key finding. A request that nobody consciously made reached a unique canary URL 313 ms before the tester’s own browser, issued from a Microsoft address (Autonomous System AS8075).
OrderMethodSource IPWho
Hit #1 (first)HEAD2a01:111:f400:fe59::100 (Microsoft, AS8075)Scanner, pre-fetch
Hit #2 (313 ms later)GET152.20.103.1 (campus, Firefox)The real user

Table 1. The pre-fetch signature: a Microsoft HEAD request arrives before the user’s own GET.

4. Telling a scanner apart from a human

The classroom server labels each hit with a simple, transparent heuristic: any one matching signal marks a request as SCANNER; otherwise it is USER.

SignalWhy it suggests an automated scanner
Source IP in a Microsoft / Office 365 rangeThe fetch originates from the provider’s infrastructure, not a campus or home network.
Empty User-AgentReputation-check clients frequently send no browser identity.
HEAD request methodBrowsers issue GET to display a page; a bare HEAD is characteristic of an automated check.

Table 2. The classification heuristic used by the live dashboard.

5. The classroom lab environment

You will not build any infrastructure. The instructor runs a small logging server that gives each participant their own private view. Open it with the Launch Lab button at the bottom of this page and enter the class access code announced in class — no personal account, Student ID, or payment is required. Your dashboard shows your own canary link and refreshes on its own every few seconds.

Part II — The assignment

6. Procedure

  1. Open your dashboard. Use the Launch Lab button, enter the class access code, and confirm you land on your own dashboard. Keep this tab open — it refreshes on its own.
  2. Read your canary link. Your dashboard shows your personal canary link at the top.
  3. Email the link to yourself. From your UNCW mailbox, send a new email to your own UNCW address with your canary link in the body. Do not send it to anyone else.
  4. Wait, then click. Open the email and click the link once.
  5. Watch your dashboard. Within a few seconds, rows appear. Look for a SCANNER row that arrives before your own USER row.
  6. Take a screenshot clearly showing at least one SCANNER row before your USER row. This is required evidence.

7. Analysis questions

  1. The gap. What was the time difference between the first SCANNER hit and your own USER hit? What does a scanner request arriving before your browser request tell you about how the link was inspected?
  2. The signals. For the SCANNER row you captured, which signal(s) caused the label? Give one way this heuristic could be wrong.
  3. Single-use links. Explain how pre-fetch can break a “reset your password” link. List two other links that are supposed to work only once.
  4. What the link reveals. Look at the rewritten Safe Links URL. What information about you or your organisation is embedded in it, and why is that a privacy concern?
  5. Trade-off. Give one clear benefit and one clear cost of scanning every emailed link. On balance, is it a good default?

8. Deliverable and grading

Submit a single PDF named Lastname_Firstname_Lab1.pdf containing a title block, your observation log, the required dashboard screenshot, and your written answers to Q1–Q5.

CriterionPoints
Evidence: valid screenshot showing a SCANNER hit before your USER hit30
Observation log completed accurately20
Q1–Q3: correct reasoning about pre-fetch, signals, single-use links25
Q4–Q5: analysis of information disclosure and the security/privacy trade-off15
Clarity, structure, and correct terminology10

Individual assignment. Send canary links only to your own UNCW address. The lab server hosts only inert, planted demonstration data.

Launch Lab  →

Opens the live lab in a new tab. Enter the class access code when prompted.