TL;DR: The Jamf Security 360 Annual Trends Report for Mac (2026), published by Approov, says 73% of devices contain at least one vulnerable app and infostealers now account for 33.5% of the threat pattern, with attackers increasingly targeting session tokens and API keys. OS-level defence alone is no longer enough when application data is the real prize.
At a glance
What this is: This analysis argues that modern Mac threats now centre on vulnerable apps, stolen tokens and exposed API keys rather than the operating system alone.
Why it matters: For IAM and NHI practitioners, the key shift is that app integrity and runtime trust now sit alongside device management as controls for protecting access to APIs and sensitive data.
By the numbers:
- 73% of devices contain at least one vulnerable app.
- infostealers now account for 33.5% of the threat pattern.
Context
Mac security has moved beyond a device-hardening problem. When attackers can steal session tokens, scrape API keys, or alter an app after installation, the operating system is only one layer of defence and often not the decisive one.
That shift matters for identity governance because application instances now behave like access-bearing actors. A compromised app can present valid credentials while violating the trust assumptions behind token issuance, API authorisation, and runtime integrity.
Key questions
Q: How should teams handle stolen session tokens and API keys in client applications?
A: Treat stolen tokens as a runtime trust problem, not only a credential problem. If an attacker can reuse a secret without proving the app is genuine, the backend is trusting possession instead of current integrity. Bind sensitive API access to runtime attestation, shorten token lifetimes, and revoke any credential path that can be replayed outside a verified application state.
Q: Why do macOS threats increasingly require app-centric security controls?
A: Because attackers are targeting the application layer where tokens, API keys, and business data actually live. Device hardening still matters, but it does not stop a compromised or repackaged app from using valid credentials. App-centric controls add the missing trust check at the point where sensitive actions are requested.
Q: What are the signs that a secure client may be failing its trust model in practice?
A: Warning signs include the provider collecting more data than the product needs, multiple sync paths that users can misconfigure, and a design that prevents independent verification of what is being stored or transmitted. Another red flag is when a system cannot show how it limits interception opportunities. Those conditions make hidden weakening easier and detection harder.
Q: Should organisations prioritise device management or runtime app verification first?
A: Use device management for posture, but prioritise runtime app verification where the risk is stolen tokens or protected API access. A healthy device does not guarantee a trustworthy app instance, and a signed binary does not guarantee safe behaviour after install. The right sequencing is to secure the transaction boundary where secrets are actually consumed.
Technical breakdown
Why static secrets fail when app runtime is compromised
Static API keys and long-lived session tokens are attractive because they are easy to issue, but they are also easy to reuse once stolen. Infostealers that extract credentials from endpoints do not need to defeat the operating system if the backend accepts any valid token without checking the app state. Runtime attestation changes the trust decision from possession of a secret to proof that the app instance is genuine and unmodified at the moment of use. That is a stronger control boundary for mobile and desktop applications that call protected APIs.
Practical implication: Treat API access as a runtime trust decision, not a one-time credential check.
How runtime attestation changes the trust model
Runtime attestation verifies the app’s code, configuration, and execution environment before allowing sensitive operations. That matters because signed or notarised software can still be repackaged, tampered with, or executed in a modified environment after install. The control is not about trusting the code once, but about re-validating the application state whenever access is requested. In practical terms, this moves trust enforcement closer to the transaction and away from install-time assumptions. See the Mobile App Security Testing Guide.
Practical implication: Use attestation to bind sensitive API calls to a known-good application state.
Why zero trust now has an application layer
Zero Trust is often described at the network or identity layer, but modern token theft and app tampering push the control point into the application itself. If a compromised client can still reach the API with stolen credentials, perimeter controls and device management do not stop misuse. The relevant question becomes whether the caller can prove its integrity at the moment of access. That is why app-centric controls are becoming part of the identity and access conversation, not just the endpoint conversation.
Practical implication: Extend zero-trust design to the app layer where credentials are actually consumed.
Threat narrative
Attacker objective: The attacker wants to impersonate a legitimate app session and use stolen credentials to reach protected APIs and sensitive data.
- Entry occurs when infostealers or repackaged applications compromise the endpoint and capture secrets from the local environment.
- Credential access follows when attackers extract session tokens or API keys that the backend would otherwise treat as valid.
- Impact occurs when those stolen credentials are reused to call protected APIs and access data without the genuine app instance being present.
Breaches seen in the wild
- Scania insurance portal breach 2025: An attacker used an external user login, likely stolen by infostealer malware, to take insurance claim documents from a Scania portal.
- Change Healthcare breach 2024: A stolen login on a Citrix portal without MFA led to ALPHV ransomware, a $22 million ransom and 192.7 million people affected.
Read and download The State of NHI & AI Agent Breach Report 2026, covering 200+ breaches impacting Non-Human Identities including AI Agents.
NHI Mgmt Group analysis
App integrity has become an access-control issue, not just an endpoint issue. When attackers target session tokens, API keys, and repackaged software, the security boundary shifts from the device to the application runtime. Traditional device management can confirm posture, but it cannot prove that the app instance requesting data is the same one that was originally trusted. Practitioners should treat application integrity as part of identity governance for the transaction layer.
Static credentials are now a liability because they outlive the trust decision that issued them. Infostealers succeed when a secret can be copied once and reused many times with no further proof of application integrity. That creates a hidden trust gap between authentication and authorisation, especially for client apps that call APIs directly. Azure RBAC and service principals illustrates the broader governance problem: access scope must be tied to controlled, verifiable runtime conditions, not just issuance.
Continuous trust is the right concept for application-to-API access. The article’s core lesson is that one-time validation at install or enrolment is no longer enough when attackers can alter runtime behaviour after the fact. Re-attestation at the point of use gives defenders a way to convert application trust from a static assumption into an enforceable control. Practitioners should align controls to the moment secrets are consumed, not the moment software was approved.
Verification trust gap: this is the specific failure mode the article exposes, where a legitimate-looking app can still be hostile at runtime. The gap is operational, not theoretical, because secrets and tokens are valuable precisely after the original trust decision has already been made. Security programmes should close that gap by binding access to current app state and not to historical approval alone.
Read next: Azure RBAC and Service Principals Guide
What this signals
Verification trust gap: Mac threat actors are exploiting the space between install-time approval and runtime behaviour, which means security teams need controls that validate the caller at the moment of access. service principals and application access is one useful lens here, because governance now has to account for who or what is consuming a secret, not just who was approved to use the software.
App-centric security is becoming the practical layer where identity, endpoint, and API controls meet. For programmes that still treat tokens as static artefacts, the next governance step is to make every sensitive request prove current application integrity before data or credentials are released.
For practitioners
- Implement runtime attestation for API-consuming apps Require a fresh trust check before sensitive API access is granted, especially where tokens or secrets are delivered to desktop or mobile clients. See the Mobile App Security Testing Guide.
- Replace static secrets with short-lived access Remove hardcoded API keys and reduce the value of stolen credentials by issuing short-lived access only after the app passes trust checks.
- Validate app integrity at the moment of use Check code, configuration, and execution environment before each protected transaction so tampering after install does not go unnoticed.
- Revisit API trust assumptions Document which APIs still trust long-lived client credentials and which require proof of app identity before release of data or secrets.
Key takeaways
- The article’s central warning is that Mac security failures now concentrate in applications, not just operating systems.
- The evidence cited includes 73% of devices with at least one vulnerable app and infostealers at 33.5% of the threat pattern.
- Security teams need runtime trust checks and short-lived access because stolen tokens and API keys can bypass device-centric defences.
Related NHI Mgmt Group resources: Azure RBAC and Service Principals Guide · Mobile App Security Testing Guide · Mobile App Security Guide · Web Application Security Testing Guide
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP Non-Human Identity Top 10 addresses the attack and risk surface, while NIST SP 800-53 Rev 5 and OWASP ASVS set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP Non-Human Identity Top 10 | NHI-02 — Secret Leakage | The article centres on stolen API keys and session tokens exposed from client apps. |
| NHI-07 — Long-Lived Secrets | The analysis argues that static secrets remain exploitable after endpoint compromise. | |
| NHI-04 — Insecure Authentication | The backend trust model accepts requests without sufficient proof of app integrity. | |
| Recommendation — Scan client applications for exposed secrets and remove any credential path that can be replayed outside runtime trust checks. Replace long-lived client secrets with short-lived credentials issued only after runtime verification. Require stronger authentication of the calling app before releasing secrets or accepting sensitive API requests. | ||
| NIST SP 800-53 Rev 5 | IA-5 — Authenticator Management | Authenticator lifecycle control is relevant where tokens and API keys are reused after theft. |
| Recommendation — Apply authenticator management to rotate, revoke, and shorten the lifetime of reusable application credentials. | ||
| OWASP ASVS | V10 — OAuth and OIDC | The article’s token and API access pattern aligns with federated token handling concerns. |
| Recommendation — Review OAuth and OIDC token handling to reduce replay risk and enforce tighter client validation. | ||
Key terms
- Runtime Attestation: Runtime attestation is a control that cryptographically proves a request came from the expected system or workload. It adds evidence to machine-to-machine access decisions, which is especially valuable when bearer tokens alone cannot distinguish a real integration from an attacker replaying credentials.
- Session Token Exposure: Session token exposure occurs when authentication tokens or session artifacts are stored, transmitted, or logged in places they should not be. Once exposed, they can function like reusable credentials. This makes them part of identity and access risk, not only application behaviour.
- API Key: A unique identifier used to authenticate a software application or service when calling an API. API keys are static, long-lived credentials and a major source of secrets sprawl. In 2024, over 50 million leaked API keys were found on the dark web.
- App-Centric Security: App-centric security is a control approach that protects the application itself, not just the device or network around it. It focuses on code integrity, runtime trust, and secret handling where the application actually requests data or performs sensitive actions.
Deepen your knowledge
NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, machine identity security, secrets management, and workload identity. It helps security practitioners connect access governance to the runtime controls that protect modern applications and APIs.
Published by the NHIMG editorial team on October 22, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org