On April 8-9, 2026, a threat actor calling themselves "Mr. Raccoon" claimed responsibility for a breach of Adobe via a contracted
Indian Business Process Outsourcing (BPO) firm. Claimed haul:
13 million customer support tickets,
15,000 employee records, all of Adobe's HackerOne bug bounty submissions, and internal documents ([SecurityOnline](https://securityonline.info/adobe-data-breach-mr-raccoon-bpo-supply-chain-leak/), [Cybersecurity News](https://cybersecuritynews.com/adobe-breach/)). Adobe has not officially confirmed. The technique is unremarkable. The privilege model that let one phished BPO agent export 13M records — that's the story.
13M
Customer Support Tickets Allegedly Exposed
15,000
Employee Records Allegedly Leaked
1 API call
Reportedly Used to Export the Full Database
0
Bulk-Export Rate Limits Detected
## TL;DR — what should change at your firm by Friday
If you outsource support, QA, sales operations, or marketing-data to a BPO — they have data export rights they don't need. Audit those rights this week. Cap row-level exports at 1,000 records per request, require multi-person approval above that, and log every export to a separate, write-once audit store. That single change would have blunted the Adobe breach.
## Why this matters now
The Adobe breach (alleged April 8-9, 2026) is the second high-impact supply-chain attack inside three weeks — Ericsson on March 16-22, the broader npm/axios compromises on March 31. The Indian context here matters: the threat actor specifically chose an Indian BPO because the target's onshore controls are tighter than the BPO's. Your firm may be the BPO in someone else's threat model, even when you think you're the customer ([ComplianceHub analysis](https://compliancehub.wiki/adobe-bpo-supply-chain-breach-third-party-vendor-risk/)).
## The Mr. Raccoon attack chain — step by step
This is the cleanest reconstruction available from public reporting (Adobe has not confirmed).
✉️
Step 1: Phish a BPO Support Agent
Mr. Raccoon sent a phishing email to a support agent at the Indian BPO contracted by Adobe. The lure delivered a Remote Access Tool (RAT) which executed on the agent's workstation. No zero-day, no novel malware — commodity RAT, commodity phishing.
📹
Step 2: Surveil and Profile
With full workstation control, the attacker reportedly accessed the agent's webcam, WhatsApp messages, and email — building context about the BPO's internal hierarchy and the agent's manager.
🎯
Step 3: Phish Up the Chain
Using the agent's compromised email account and the context gathered, the attacker phished the agent's manager — a credible internal-looking email from a real colleague. The manager's elevated privileges opened Adobe's support backend.
📤
Step 4: Bulk Export — One Request
Once in the manager-tier account, the attacker discovered an export API that let any agent export the entire ticket database. Reportedly one HTTP request returned 13M records. No rate limit, no anomaly alert, no second-person sign-off.
## Why support agents end up with over-broad export rights
This isn't a moral failure of any specific BPO. It's a recurring architecture mistake. When a support platform is designed, the product team optimizes for "the agent's job is to find any customer's ticket fast." That assumption ladders up to: every agent can search every ticket, every agent can export search results, exports are unlimited because "support agents won't abuse it." Each step makes operational sense in isolation. Stack them and you have a single phished agent who can pull 13M records.
Architectural smell: if a single account at your BPO can return more rows than you would willingly share with a regulator in a single response, you have an architecture bug, not a policy bug. Rate-limit at the API tier, not the policy doc.
## The 5-control vendor-access audit you can run this week
A focused 1-day audit on every BPO/MSP/contractor with production data access. Five controls, each with a specific verification step.
### Control 1: Least-privilege by data scope, not by role
The Adobe-style breach hinges on a support agent having read access to every ticket, not just their assigned ones. Test: pick a random support agent's account. Can they query a ticket that wasn't assigned to them? If yes, your access model is role-based, not scope-based. Fix: route every ticket lookup through a "this agent is allowed to see this ticket" check — not "this user has the SUPPORT_AGENT role."
### Control 2: Bulk export rate limits and approvals
Test: log in as a vendor account and try to export 100,000 records. Does it succeed? Does anyone get notified? Fix: cap individual export requests at 1,000 rows. Above that threshold, require a workflow: the agent submits the export request, a manager (different person) approves, and the export ships to an SFTP location with a digital signature. Anything bigger than 10,000 rows: require security team sign-off in addition.
### Control 3: Separation of duties on privilege escalation
The Adobe chain worked because the manager's account had a strict superset of the agent's privileges, and was reachable from the same network as the agent. Fix: managers approve actions, not perform them. The manager's role should be "approve an export submitted by an agent" — never "log in and run the export myself." If your platform doesn't support that, file it as a roadmap item with the vendor.
### Control 4: Anomaly detection on data access patterns
Test: have someone run a query that returns 10x more rows than that agent's 90-day average. Does an alert fire within 15 minutes? Fix: every BPO account should have a baseline query volume; deviations >3x baseline should alert the customer's security team, not the BPO's. Adobe's lack of an alert on a 13M-row export is the part that should make every CISO uncomfortable.
### Control 5: Write-once audit log shipped off the vendor's network
Test: as a privileged user on the support platform, try to delete or modify an audit log entry. If you can, your audit log is not actually evidence. Fix: stream every privileged action (login, ticket access, export, account permission change) to a write-once store the BPO cannot reach — your SIEM, a separate S3 bucket with Object Lock, or a vendor like Datadog Audit Trail. The BPO produces logs; you own them.
## A comparison: typical vs. hardened BPO access model
| Control | Typical (pre-Adobe) | Hardened (post-Adobe) |
|---|---|---|
| Agent ticket access | All tickets via search | Only assigned tickets + temporary grants |
| Export size | Unlimited | 1,000 rows / request, MFA-gated above |
| Manager role | Superset of agent + admin | Approval-only, no direct data access |
| Privilege escalation | One phishing email away | Just-in-time, time-boxed, logged |
| Audit log storage | On the support platform | Streamed off-platform, write-once |
| Anomaly detection | None or vendor-side | Customer SIEM with row-volume baseline |
| Webcam/mic on agent endpoint | Often enabled | Disabled by default for support roles |
## The action checklist — run this Monday
- Inventory every vendor (BPO, MSP, contractor, freelancer) with access to your customer data, employee data, or production systems. Name them in a single sheet with: access type, data scope, max query volume, log location.
- For each vendor: confirm 2FA is enforced on every account, with phishing-resistant factors (hardware key or platform passkey, not SMS).
- Test export limits on each platform the vendor uses. Document the cap and the approval workflow. Where it's "unlimited," file a P0.
- Verify your customer SIEM is ingesting vendor-account audit logs in near-real-time (<15 min). If logs only sit with the vendor, you're trusting the vendor to alert you on their own breach.
- Add a contractual right-to-audit clause to every vendor SOW: you can run a tabletop, a tech audit, or a pentest of their access to your systems, with 30-day notice, once per year.
- Require vendor incident notification within 24 hours of detection, not 72. Adobe-style attackers move in hours.
- Train your own staff on the "phished colleague" pattern: a legitimate-looking email from a real coworker is the most common Stage-2 phish. Verify out-of-band before approving anything sensitive.
## A real CVE-class reference
While the Adobe incident is a process failure, similar over-privileged-vendor patterns produced
CVE-2024-3094 (the XZ Utils backdoor planted by a "trusted" maintainer over years) and
CVE-2026-4747 (FreeBSD NFS, found by Mythos). The common factor: implicit trust in actors who had legitimate access for legitimate reasons. The fix is structural — not "trust less" but "verify continuously."
## Counter-example — when the 5-control audit is overkill
If your only "vendor" is your developer freelancer who pushes code to your private GitHub and never sees raw customer data, you don't need the BPO-grade controls. You need: GitHub branch protection, code review on every PR, and a freelancer offboarding checklist. The full audit applies when a vendor has direct read/write to your live data — support tools, CRM, marketing platforms, analytics warehouses.
## Real example — what we found at a 80-person SaaS client
A SaaS firm in Hyderabad (~80 staff, ~250 paying customers) asked us to audit their support BPO after the Adobe news. We found: 22 BPO agents had full read access to every customer's data (should have been scope-restricted to assigned tickets); the support tool's export API had no rate limit above 50,000 rows; audit logs lived on the support tool's UI with no off-platform copy; and one vendor account was a shared login used by 4 night-shift agents. Total findings: 11 high severity. Fix plan: 6 weeks, ₹3.2 lakh including support-tool reconfig and our SIEM-ingest pipeline. The CFO authorised it the day after the Adobe story broke.
For more on how vendor-graph attacks cascade across SaaS ecosystems, our founder writes [first-hand on Indian-context supply-chain risk](https://viveksinra.com/blog).
## FAQ
### How likely is it that this was actually a single phished BPO agent?
Very likely. Mr. Raccoon's own description (relayed via International Cyber Digest) and the technical evidence — commodity RAT, escalation via internal phishing, single-request bulk export — align. The attribution to a specific BPO has not been independently confirmed. Adobe has not made a public statement as of mid-April 2026.
### My company is the BPO, not the brand. What should we be doing?
Three things, urgently. (1) Phishing-resistant MFA on every agent account, no exceptions. (2) EDR on every workstation with webcam access alerts — Mr. Raccoon's reported use of webcam access is a behavior signature your EDR should flag. (3) Network segmentation so a compromised agent's machine cannot reach the customer's data store directly — all access via a brokered jump host with session recording.
### How do I tell my customer-side CISO that we've hardened our controls?
Send them a short memo. List: 2FA factor types deployed, export rate limits, separation-of-duties workflow, off-platform audit log destination, EDR vendor and webcam alert status, last tabletop exercise date, last independent security audit. Offer them read access to your audit log stream for their own accounts. The CISOs we've worked with mark this kind of memo as the differentiator between "vendor I'll keep" and "vendor I'll churn."
### Does CrowdStrike/SentinelOne/Defender prevent this attack?
EDR catches Stage 1 (RAT install) better than Stage 4 (bulk export via legitimate API). It depends on the variant. Mr. Raccoon's RAT may have been signed or commodity enough to pass; the bulk export via a logged-in session looks exactly like normal use. EDR is necessary, not sufficient. The architectural controls (export rate limits, scope-based access) are what catch the late-stage damage.
### Are we required to notify customers if our vendor was breached?
Under India's DPDP Act, you are required to notify the Data Protection Board and affected data principals of material breaches — and your vendors' breaches that affect your customers are your problem under principal-processor obligations. EU GDPR is stricter (72 hours). HIPAA-like obligations apply if you handle healthcare data through ABDM-adjacent flows. Assume notify-by-default and have your communications draft pre-written.
### Should we end-of-life our BPO relationship?
Not necessarily. The Adobe breach happened with one BPO; another BPO with the same Adobe contract may have had stronger controls. The decision should be evidence-based: re-audit the vendor against the 5 controls above, give them 60-90 days to remediate, and exit only if they can't or won't. Replacement is expensive; remediation is usually cheaper.
### What's the realistic timeline for a full vendor-access remediation?
For a 50-200-person firm with 5-15 vendors: 8-14 weeks. Week 1-2: inventory and prioritise. Week 3-6: contractual amendments + technical controls on the highest-risk vendor. Week 7-12: roll out across remaining vendors. Week 13-14: tabletop + retest. Expect ₹4-12 lakh in consulting + tooling costs, depending on scope. We've shipped this twice in 2026 already.
Want a Vendor-Access Audit on Your BPO/Support Partners?
We run a 5-control audit — least-privilege, export limits, separation of duties, anomaly detection, off-platform audit logs — against every vendor with production data access. Deliverable: severity-ranked findings, a contractual amendment template, and a 12-week remediation plan. Typical engagement ₹85,000-₹2.4 lakh for 5-20 vendors. Suitable if you outsource support, QA, sales operations, or marketing data to one or more BPO/MSP partners.
Book a 20-min Call