ua-tracer
by Paul Kinlan
trace NsHXyekl
what does a user agent actually fetch, follow & run?
Trace NsHXyekl
First seen: 2026-07-04 09:40:49.000 UTC
User-Agent: Slackbot-LinkExpanding 1.0 (+https://api.slack.com/robots)
Bot verification: Not a known bot (no IP-range check applies).
What this user agent did
Directly-referenced assets:
✗ fetched CSS
✗ fetched JS
✗ fetched image
✗ fetched font (HTML)
Document-level link hints:
✗ fetched favicon
✓ fetched apple-touch-icon
✗ fetched web manifest
✗ fetched preload
✗ fetched prefetch
Second-level follows (proves it parsed the linking file):
✗ followed CSS background-image
✗ followed CSS @font-face
✗ followed manifest icon
✗ followed CSS @import
Frames (does it descend into iframes?):
✗ fetched iframe document
✗ descended into iframe (loaded inner image)
Reporting (a report-only CSP is violated by inline styles; reports can arrive via HTTP headers with no JS, or via in-page beacons):
✗ sent a CSP/Reporting report (any path)
✗ delivered via report-uri/Report-To header (no JS)
✗ delivered via in-page beacon (securitypolicyviolation / ReportingObserver)
Social embed (Open Graph / Twitter card images):
✓ fetched og:image
✗ fetched twitter:image
JavaScript execution:
✗ EXECUTED classic JS
✗ EXECUTED ES module
✗ posted client timing
Server-side request waterfall
Every request the server received for this trace, in receive order. +ms is the delta from the
homepage request.
| Received | Δ | Kind | Method | User-Agent |
|---|---|---|---|---|
| 2026-07-04 09:40:49.000 UTC | +0 ms | homepage | GET | Slackbot-LinkExpanding 1.0 (+https://api.slack.com/robots) |
request headers (8){
"accept": "*/*",
"accept-encoding": "gzip,deflate",
"host": "uatracer.com",
"range": "bytes=0-32768",
"traceparent": "00-0899aeac8972a259008109a1fb26056b-0e7155b1398348a4-01",
"tracestate": "",
"user-agent": "Slackbot-LinkExpanding 1.0 (+https://api.slack.com/robots)",
"via": "HTTP/1.1 ord.vultr.prod.deno-cluster.net"
}
|
||||
| 2026-07-04 09:40:50.167 UTC | +1167 ms | Open Graph image | GET | Slackbot 1.0 (+https://api.slack.com/robots) |
request headers (9){
"accept": "*/*",
"accept-encoding": "gzip,deflate",
"host": "uatracer.com",
"traceparent": "00-b795603b46b1c22fd75976f7e6d6b933-4dcfd666c2110c88-01",
"tracestate": "",
"user-agent": "Slackbot 1.0 (+https://api.slack.com/robots)",
"via": "HTTP/1.1 ord.vultr.prod.deno-cluster.net",
"x-deno-userspace-traceparent": "00-b795603b46b1c22fd75976f7e6d6b933-be590cce2cc06763-01",
"x-deno-userspace-tracestate": ""
}
|
||||
| 2026-07-04 09:40:50.663 UTC | +1663 ms | apple-touch-icon | GET | Slackbot 1.0 (+https://api.slack.com/robots) |
request headers (7){
"accept": "*/*",
"accept-encoding": "gzip,deflate",
"host": "uatracer.com",
"traceparent": "00-f9e707ea03ba9a339efff924aafdbb4d-5842b160fafaf287-01",
"tracestate": "",
"user-agent": "Slackbot 1.0 (+https://api.slack.com/robots)",
"via": "HTTP/1.1 ord.vultr.prod.deno-cluster.net"
}
|
||||
| 2026-07-04 12:00:02.937 UTC | +8353937 ms | apple-touch-icon | GET | Slack-ImgProxy (+https://api.slack.com/robots) |
request headers (7){
"accept": "*/*",
"accept-encoding": "gzip, deflate",
"host": "uatracer.com",
"traceparent": "00-7db78cb0f4dd8c5474211dd9162bc7c0-0a12cb875c6cf6fb-01",
"tracestate": "",
"user-agent": "Slack-ImgProxy (+https://api.slack.com/robots)",
"via": "HTTP/2 ams.vultr.prod.deno-cluster.net"
}
|
||||