Cybersecurity

What a Security Firm Sees When It Threat-Models a Typical CRM Stack

TuniCyberLabs Team
8 min read

Every ranking guide to CRM security comes from a vendor or implementation partner. Here is the security-firm view: OAuth grant sprawl, marketplace app risk, silent export paths, admin takeover chains, and who actually carries breach liability.

Most writing about CRM security comes from the people who implement CRMs. This piece comes from the other side of the table: how a security practice approaches a mid-market CRM stack as a threat-modeling exercise. Not an audit report, no findings from named engagements, but the methodology itself: where the trust boundaries sit, which attack paths get modeled first, and why the customer-controlled layer, not the vendor platform, is where almost everything interesting happens.

Why threat-model a CRM you do not even host?

Because the shared-responsibility line sits higher than most teams assume. The vendor secures the platform: infrastructure, application code, tenant isolation. Everything you configure, users, roles, sessions, tokens, connected apps, export permissions, integrations, is your attack surface, and it is the layer where public breach reporting consistently locates real-world CRM data loss.

A CRM concentrates the most monetisable data most companies hold: the full customer base, deal history, contact details, and often support and billing context. When we model one, we draw four trust boundaries:

  • The vendor platform, out of scope for you to fix, in scope for contract review.
  • Tenant configuration, roles, sharing rules, session policies, password and MFA settings.
  • The token layer, every OAuth grant, API key, and integration user with standing access.
  • The satellite estate, marketplace apps, no-code automations, BI connectors, custom scripts.

The last two are where the model earns its keep, because in most organisations nobody owns them day to day.

What does a typical mid-market CRM stack look like from the attacker's side?

A pattern that repeats across companies: one CRM at the centre; fifteen to forty connected apps accumulated over years; marketing automation and a support desk in deep bidirectional sync; a BI connector replicating the database nightly; several Zapier or Make scenarios; and custom scripts running under a single long-lived, over-privileged service account.

From the attacker's side this is not one system but a mesh with the CRM as hub, and every spoke inherits a path to it:

  • The perimeter is the token list, not the login page. Dozens of credentials grant API access, and most have no MFA anywhere in their path.
  • The weakest spoke sets the bar. A compromised marketing tool or a forgotten script reaches the same API as a legitimate user.
  • Nobody holds the full map. In our experience, the connected-app inventory surprises the very team that owns the CRM, which is exactly why the exercise is worth running.

The same modeling applied to ERP estates, where the data is financial rather than commercial, is covered in ERP Attack Surface: SAP, Odoo, and Custom Systems Compared.

How does OAuth grant sprawl become the biggest blind spot?

Every Connect click mints a long-lived refresh token carrying scopes the approving user rarely reads. Over years, a tenant typically accumulates dozens of grants, active vendors, abandoned trials, personal productivity tools authorised by employees who have since left, each one a durable, password-less path to CRM data that MFA does not challenge and offboarding rarely revokes.

Three properties make grants the first thing we model:

  • Tokens outlive people. Deactivating a user does not always invalidate every token that user authorised for third parties; verify your vendor's exact behaviour.
  • Tokens are stealable. Infostealer malware harvests them from browsers alongside session cookies, detection approaches are in Hunting Infostealers: Detection Rules for Browser Token and Cookie Theft.
  • Scopes trend maximal. Apps commonly request broad read-write access because narrow scopes generate support tickets.

Treat each grant as a standing credential: quarterly review, forced expiry of unused grants, and an approval step for new authorisations.

What risk does the app marketplace actually introduce?

A marketplace app is a third-party vendor holding API access to your customer data, often onboarded by a single employee without procurement, security review, or a data-processing agreement. Marketplace review programs assess the app at submission time, not the vendor's ongoing security posture, and public reporting shows ecosystem-wide token abuse is an established attack pattern.

Over recent years, public incident reporting across major SaaS ecosystems has repeatedly described the same shape: an app vendor's own infrastructure is compromised, its stored tokens are abused, and every tenant that installed the app becomes reachable at once. When we model marketplace risk, we ask per installed app:

  • What scopes does it hold, and are they broader than its function needs?
  • Who is the vendor, company, jurisdiction, sub-processors, disclosure history?
  • Is there a DPA, and does your processing register mention them at all?
  • What happens on compromise, can you revoke quickly, and would anything alert you?

This is supply-chain security with a friendlier interface; the mindset from Supply Chain Attacks: Why Your Dependencies Are Your Biggest Risk transfers directly.

Which data-export paths would an attacker actually use?

More than most teams can list from memory: report exports, bulk APIs, BI and ETL connectors, sandbox refreshes carrying full production data, mobile offline caches, email sync, and third-party backup apps. The modeling question is blunt: who can move ten thousand records out today, and which log line would prove that it happened?

What the exercise typically surfaces:

  • The classic insider path, a departing salesperson exporting the pipeline, is a well-documented and frequently litigated pattern, yet report-export rights are commonly granted to entire profiles by default.
  • The quiet paths matter more. A BI connector replicates everything nightly into a warehouse with its own, usually weaker, access model; sandboxes often hold real data under relaxed controls.
  • Detection is configuration. Mainstream CRMs can log export and API events, but detailed event logging is sometimes edition-gated and alerts are rarely wired to a human, verify what your edition captures.

Least privilege on export permissions plus one volume-based alert covers a disproportionate share of this risk.

How does an admin takeover typically unfold?

Rarely through the login page. The chains we model first: an infostealer lifts an admin's session cookie from a browser; a helpdesk social-engineering reset; or a compromised integration user carrying admin-equivalent API scopes. Once inside, the fast moves are minting a new connected app and scheduling exports, persistence that survives a password reset.

The OAuth-app-as-backdoor is the detail teams miss: an attacker with brief admin access authorises their own application, then leaves through the front door while the grant keeps working. Controls that map to the chain:

  • Phishing-resistant MFA and short admin sessions, with IP or device restrictions on admin roles where the platform supports them.
  • Alert on the persistence moves, new connected-app authorisations, new API clients, permission-set changes, and mass-export events.
  • No shared admin service accounts. Scope one integration user per system, the discipline argued in Non-Human Identity Governance: Finding and Killing Over-Privileged Service Accounts.

The same failure modes recur wherever privileged surfaces go unwatched; the pattern catalogue in What Security Auditors Find in Admin Panels reads as this article's sibling.

Who carries the liability when CRM data leaks?

You do. Under GDPR the customer is the controller; the CRM vendor and every marketplace app act as processors or sub-processors on your instructions. A leak through an app you installed lands on your 72-hour breach-notification desk, the vendor's compliance page does not transfer that duty. Contracts allocate money; regulators hold the controller.

Three things to verify before an incident forces the question:

  • Read the DPA for caps and carve-outs. Vendor liability is commonly capped near the fees you paid, a fraction of a real incident's cost.
  • Maintain the sub-processor picture. Every data-touching marketplace app belongs in your records of processing; most companies list none of them.
  • Rehearse the scoping questions. Could you establish which records, which fields, and which time period from the logs your edition retains? If not, that is itself a finding.

For the broader obligations map, see GDPR Compliance for SaaS Startups: A Practical 2026 Guide.

What controls give the best risk reduction per unit of effort?

Five, in rough order: a quarterly OAuth grant review with forced removal of unused grants; app installation restricted to an allowlist; one scoped integration user per connected system instead of a shared admin account; alerting on exports and new connected apps; phishing-resistant MFA with hardened sessions for admins. Most are configuration rather than new spend, though some capabilities are edition-gated, verify per vendor.

Two closing observations from the modeling side:

How TuniCyberLabs helps

TuniCyberLabs is a security firm that also builds software, which is why we model the whole mesh rather than a single product. We run SaaS-stack threat models, OAuth grant audits, marketplace app reviews, export-path mapping, admin hardening, and when consolidation is the right answer, the same team engineers the replacement.

If you cannot name every app with API access to your CRM today, that is the first finding, talk to us and we will map it with you.

TAGS
threat modelingSaaS securityOAuth securityCRM securitydata exfiltrationGDPRthird-party risk

Frequently Asked Questions

Isn't CRM security the vendor's responsibility?

+

Only the platform layer: infrastructure, application code, and tenant isolation. Everything you configure is yours, user roles, sharing rules, session policies, OAuth grants, marketplace apps, integration credentials, and export permissions. Public breach reporting consistently locates real-world CRM data loss in that customer-controlled layer. Under GDPR you also remain the data controller, so both the practical attack surface and the legal accountability sit largely on your side.

How do we find out how many OAuth grants our CRM tenant has?

+

Every mainstream CRM exposes a connected-apps or authorized-apps view in its admin console, listing each grant with its scopes and last-use date. Export that list and review it quarterly: revoke anything unused for 90 days, anything authorised by a departed employee, and anything whose scopes exceed its function. Most teams are surprised by the count the first time, accumulated trials and personal productivity tools dominate the list.

Are CRM marketplace apps security-reviewed?

+

Marketplace review programs assess an app when it is submitted, its requested scopes and, depending on the platform, some security criteria, but they do not continuously monitor the vendor's infrastructure or posture. Public incident reporting has repeatedly described attackers compromising an app vendor and abusing its stored tokens across every tenant that installed it. Treat each installed app as a supplier: check scopes, jurisdiction, DPA status, and your ability to revoke quickly.

Which CRM logs should we monitor first?

+

Four event families cover the highest-value detections: bulk data exports and report downloads above a volume threshold; new connected-app or OAuth authorisations; permission-set and profile changes, especially grants of admin or export rights; and admin logins from new locations or devices. Check what your edition actually captures, detailed event logging is sometimes gated behind higher tiers or add-ons, and wire alerts to a person, not just a dashboard.

Who must notify the regulator if a marketplace app leaks our CRM data?

+

You do. As the data controller you carry the GDPR notification duty, typically within 72 hours of becoming aware, even when the breach happened inside a processor or sub-processor you installed from a marketplace. The app vendor's obligation is to inform you without undue delay; the regulator and your customers hear from you. Keep every data-touching app in your sub-processor records and rehearse the scoping questions before you need them.

Does replacing SaaS with custom software eliminate these risks?

+

It exchanges them. Owned software removes third-party token sprawl, marketplace exposure, and another vendor's breach becoming your notification, but it makes patching, access control, logging, and availability your operational responsibility. That trade is often worth making for the systems holding your most sensitive data, provided you resource it honestly. The right comparison is not risk versus no risk; it is which risks you would rather own and control.

Need help with
this topic
?

Our team specializes in the technologies and strategies discussed in this article. Let’s talk about how we can help your business.

Get in Touch