Credential Phishing

Frame.io Phishing Hides an AiTM Microsoft 365 Login Inside a Shared PDF

3 min read

Frame.io's real notification system delivered 22 share alerts to one enterprise in two hours. The phishing link sat inside the shared PDF, behind a Cloudflare Pages redirect and a CAPTCHA, ending at a Microsoft 365 login clone with 0/91 VirusTotal detections.

Frame.io's real notification system delivered 22 share alerts to one enterprise in two hours. The phishing link sat inside the shared PDF, behind a Cloudflare Pages redirect and a CAPTCHA, ending at a Microsoft 365 login clone with 0/91 VirusTotal detections.

Threat snapshot

Attack Type

Credential Phishing

Attack Vector

Trusted Platform Abuse

Attack Goal

Credential Theft

Impersonated Brand

Microsoft 365

Published

At a glance

  • Sender: Frame.io’s own notification system

  • Volume: 22 emails to one enterprise tenant in two hours on Aug 27, 2026

  • Payload: a PDF preview with no clickable link; the real link was a /URI annotation inside the file

  • Target: Microsoft 365 credentials via an adversary-in-the-middle (AiTM) login clone

What happened

Employees received “Jason Pitts shared “BTF Project” with you” from Frame.io’s real notification system, so the emails passed gateway checks. The share link pointed to Frame.io, and the shared PDF rendered as a non-clickable preview. The malicious link was hidden inside the file.

How the redirect chain worked

  1. Frame.io notification email

  2. Frame.io share link

  3. A pages.dev redirector referenced inside the PDF

  4. A 301 redirect to a newly registered domain, msauth[.]biz, behind a Cloudflare Turnstile CAPTCHA

  5. Obfuscated JavaScript serving a Microsoft 365 login clone

Why it got past email security

What the filter checks

What this email did

Sender authentication

Passed. Sent from Frame.io’s own servers

First-hop link

A legitimate Frame.io share URL

Attachment scanning

No attachment; the PDF lived on Frame.io

Domain reputation

msauth[.]biz was newly registered with 0/91 VirusTotal detections

Sandboxing

A CAPTCHA blocked automated crawlers

How Ocean caught it

Ray, Ocean’s central intelligence engine, retrieved the raw PDF through Frame.io’s API, inspected its /URI annotations, and found a redirect to a Cloudflare Pages subdomain. Ray followed every hop to the Microsoft 365 login clone and confirmed credential phishing before anyone entered a password.

Diagram: a clean Frame.io share link leads to a dead-end preview, while Ray downloads the original PDF via the Frame.io API and uncovers a hidden phishing link to a fake Microsoft 365 login on msauth[.]biz

What security teams should do

  1. Block msauth[.]biz and its subdomains

  2. Hunt for SaaS share notifications whose PDFs contain /URI annotations pointing off-platform, especially to new domains or *.pages.dev and *.workers.dev hosts

  3. Inspect the shared asset itself; don’t rely on delivery signals or first-hop reputation for trusted SaaS shares

Indicators

Indicator

Priority

msauth[.]biz

High

office.msauth[.]biz

High

/common/oauth2/v2.0/authorize path on msauth[.]biz

High

167.99.178[.]222

Medium

pages.dev redirector

Medium

notifications@frame[.]io

Provider infrastructure, do not block.

Get ahead of zero-day phishing

Get ahead of zero-day phishing

Ocean’s agents investigate every email for intent, including attacks no rule has been written for yet.