Healthcare Identity and AI Supply Chain Compromise
An attacker has compromised healthcare worker accounts via AI-crafted phishing to gain access to sensitive clinical portals or manipulate third-party AI service integrations.
Based on research by Proofpoint 2026-10-14 11 steps · 3 queries T1078 T1195 T1566
Brief
Why now?
Healthcare organizations currently face a surge in operational disruption and financial loss due to targeted identity attacks. A recent report, Proofpoint — Healthcare Cyberattacks Hit Harder, Cost More (https://www.proofpoint.com/us/newsroom/news/healthcare-cyberattacks-hit-harder-cost-more), details how these incidents now carry higher recovery costs and greater risks to patient care. This hunt addresses the trend by focusing on the initial access and supply chain stages of these attacks, where adversaries use sophisticated lures to gain a foothold.
How the Hunt Flows
This hunt uses a gated approach to manage telemetry costs and focus analyst attention on high-confidence leads. The first phase queries authentication logs in the hb_auth_signin surface. It identifies accounts with high-volume login failures or successful logins originating from non-browser user agents like Python or other scripting tools. This initial step creates a list of candidate accounts that show signs of automated credential testing or unauthorized script usage.
If the first phase produces suspicious leads, the hunt fans out into two parallel investigations. One branch examines hb_http_activity for the scoped hosts. It looks for rare web requests to known or suspected healthcare-themed phishing domains. By filtering for low-prevalence traffic, the hunt highlights specific endpoints that interacted with malicious infrastructure designed to mimic clinical portals.
The second branch audits hb_cloud_api_activity. It searches for healthcare worker accounts performing operations against AI platforms such as OpenAI, AWS Bedrock, or Microsoft Copilot. Because these services are often outside the standard clinical workflow, their presence in the logs suggests either an unapproved shadow-IT supply chain or an adversary using compromised credentials to manipulate AI models and extract sensitive data.
Finally, an analyst correlates these findings. A successful hunt links a scripted login anomaly to a rare phishing click and subsequent AI API usage, providing a full picture of the attack chain from compromise to potential data misuse.
Blind Spots and Limitations
This hunt relies on centralized telemetry. If clinical portals do not send authentication logs to a central repository, sign-in failures on those specific systems remain invisible. Additionally, the hunt assumes a 14-day telemetry window. Adversaries in the healthcare sector often maintain long dwell times; if the initial phishing interaction occurred weeks before the identity anomalies, the web traffic evidence may no longer be available for correlation.
How to Run the Hunt
We provide this hunt as an open hunt.md playbook. This format allows you to import the logic directly into Huntbase or any other runtime that supports the hunt.md standard. The playbook includes the specific SQL queries for each phase, parameter definitions for your environment, and the triage logic needed to confirm a compromise. Practitioners should adjust the lookback window based on their specific retention policies to maximize the chance of catching early phishing interactions.
In this series
Steps
-
Suspicious Authentication Leads
Query · scopingIdentify potential account compromise via high-frequency failures or automated login attempts.
reads hb_auth_signinsqlSELECT device_hostname, actor_user_name, src_endpoint_ip, user_agent, status_detail, COUNT(*) AS attempts, MIN(time) AS first_seen, MAX(time) AS last_seen FROM hb_auth_signin WHERE (status_id = 2 OR (user_agent IS NOT NULL AND (LOWER(user_agent) LIKE '%python%' OR LOWER(user_agent) LIKE '%script%'))) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY device_hostname, actor_user_name, src_endpoint_ip, user_agent, status_detail HAVING attempts > 5 OR (LOWER(user_agent) LIKE '%python%' OR LOWER(user_agent) LIKE '%script%') ORDER BY attempts DESCWhat a hit looks like. Rows show repeated failures for specific users or sign-ins using non-browser user agents. Silence suggests no obvious automated account attacks.
-
Assess Authentication Lead
Agent triageDecide if the authentication patterns warrant a deeper investigation into phishing and AI usage.
-
Gate on Authentication Suspicion
DecisionHalt the hunt if the lead query does not produce credible evidence of compromise.
-
Phishing Lure Traffic
Query · baselineIdentify hosts interacting with rare or healthcare-themed phishing domains within the scoped set.
reads hb_http_activitysqlSELECT device_hostname, url_hostname, url_path, COUNT(*) AS requests, MIN(time) AS first_seen FROM hb_http_activity WHERE (instr(',' || '{{phishing_domains}}' || ',', ',' || LOWER(url_hostname) || ',') > 0 OR LOWER(url_path) LIKE '%/login%' OR LOWER(url_path) LIKE '%/verify%') AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY device_hostname, url_hostname, url_path HAVING requests < 100 ORDER BY requests ASCWhat a hit looks like. Rare domains appearing on fewer than 5 hosts matching phishing keywords. Silence means no suspicious web traffic was recorded on the scoped hosts.
-
Unauthorized AI API Activity
Query · enrichmentDetect healthcare accounts interacting with third-party AI services which may indicate supply chain manipulation.
reads hb_cloud_api_activitysqlSELECT actor_user_name, api_service_name, api_operation, resource_name, src_endpoint_ip, time FROM hb_cloud_api_activity WHERE (LOWER(api_service_name) LIKE '%bedrock%' OR LOWER(api_service_name) LIKE '%openai%' OR LOWER(api_service_name) LIKE '%copilot%' OR LOWER(api_service_name) LIKE '%sagemaker%') AND time >= datetime('now', '-{{lookback_days}} days')What a hit looks like. Healthcare worker accounts performing API operations against cloud AI vendors. Silence suggests no such API activity was recorded.
-
Final Evidence Triage
Agent triageCorrelate authentication leads with web prevalence and AI API usage to identify a full attack chain.
-
Route Final Verdict
DecisionDirect the hunt to containment or close-out based on the triage findings.
-
Isolate Compromised Host
Response actionSever the attacker's connection and prevent further lateral movement.
-
Analyst Investigation
Analyst taskManually validate the findings and identify new indicators for future tuning.
-
Close Out Hunt
Analyst taskDocument findings and visibility gaps to improve future healthcare resiliency.
Coverage
Scenario coverage
| Stage | Covered | How, or why not |
|---|---|---|
| AI-Enhanced Phishing and Social Engineering T1566 |
Yes | phishing-lure-traffic |
| AI Vendor Supply Chain Risk T1195 |
Yes | unauthorized-ai-api-calls |
| Healthcare Account Compromise T1566 |
Yes | lead-auth-anomalies |
| Sensitive Data Leakage via AI Prompts T1566 |
Out of scope | Belongs to another part of the 'Healthcare Cyberattacks Hit Harder, Cost More' series. |
| Ransomware Encryption for Impact T1486 |
Out of scope | Belongs to another part of the 'Healthcare Cyberattacks Hit Harder, Cost More' series. |
Blind spots
- Needs centralized logging for specialized clinical portals. A sign-in failure on a portal not sending logs to hb_auth_signin remains invisible. It would answer whether an account was compromised on an unmonitored clinical portal.
- Needs long-term hb_http_activity retention. Adversaries often dwell in healthcare networks for weeks before initiating care disruption. It would answer whether the initial phishing click occurred before the current 14-day retention window.
Parameters & data
Parameters
| Parameter | Type | Default | What it is |
|---|---|---|---|
lookback_days | number | 14 | Days of history to examine. |
phishing_domains | list[domain] | health-portal-verify.com, care-staff-update.org, clinical-sso-login.net | Healthcare-themed phishing domains from intelligence feeds. |
scope_hosts | list[host] | — | The list of hostnames identified in the lead query to scope the investigation. |
Telemetry
| Source | Category | Telemetry |
|---|---|---|
| Endpoint telemetry (hb_ surfaces) | endpoint | endpoint |
| Identity / sign-in telemetry | identity | identity |
| Web server / proxy logs | siem | network |
Source
---
analysis: A simple rule can flag a failed login, but this hunt links those failures
to the prevalence of rare web requests and specifically monitors the usage of cloud
AI services to identify context-aware supply chain risks that isolated alerts miss.
blind_spots:
- id: auth-telemetry-gap
question: whether an account was compromised on an unmonitored clinical portal
requires: centralized logging for specialized clinical portals
risk: A sign-in failure on a portal not sending logs to hb_auth_signin remains invisible.
stage: healthcare-account-compromise
- id: http-retention-limit
question: whether the initial phishing click occurred before the current 14-day
retention window
requires: long-term hb_http_activity retention
risk: Adversaries often dwell in healthcare networks for weeks before initiating
care disruption.
stage: ai-phishing-and-social-engineering
coverage:
- stage: ai-phishing-and-social-engineering
status: covered
steps:
- phishing-lure-traffic
- stage: ai-vendor-supply-chain-risk
status: covered
steps:
- unauthorized-ai-api-calls
- stage: healthcare-account-compromise
status: covered
steps:
- lead-auth-anomalies
- reason: Belongs to another part of the 'Healthcare Cyberattacks Hit Harder, Cost
More' series.
stage: ai-prompt-data-leakage
status: out_of_scope
- reason: Belongs to another part of the 'Healthcare Cyberattacks Hit Harder, Cost
More' series.
stage: ransomware-encryption-for-impact
status: out_of_scope
guardrails:
claims: no_unsupported
evidence: citation_required
missing_data: not_benign
telemetry: untrusted
hunt:
applicability: campaign-specific
handoff: keep-as-periodic-hunt
justification: Protecting healthcare worker identities and monitoring third-party
AI supply chain interactions is critical for maintaining patient care continuity
during a rise in sector-specific attacks.
methodology: model-assisted
trigger: intel-report
hypothesis: An attacker has compromised healthcare worker accounts via AI-crafted
phishing to gain access to sensitive clinical portals or manipulate third-party
AI service integrations.
labels:
- hunt
- attack.t1566
- attack.t1195
- attack.t1078
- impact
- initial access
name: Healthcare Identity and AI Supply Chain Compromise
parameters:
lookback_days:
default: '14'
description: Days of history to examine.
from:
kind: manual
observed: '2026-10-13'
ref: default-retention
type: number
phishing_domains:
default:
- health-portal-verify.com
- care-staff-update.org
- clinical-sso-login.net
description: Healthcare-themed phishing domains from intelligence feeds.
from:
kind: article
observed: '2026-10-13'
ref: proofpoint-healthcare-report-2026
type: list[domain]
scope_hosts:
default: []
description: The list of hostnames identified in the lead query to scope the investigation.
from:
kind: manual
observed: '2026-10-13'
ref: analyst-scoping
type: list[host]
provenance:
authors:
- name: Huntbase hunt generation
org: huntbase.io
generated:
by: huntbase-hunt-generation
from: https://www.proofpoint.com/us/newsroom/news/healthcare-cyberattacks-hit-harder-cost-more
gates:
- dry-run
- lint
model: hb_google/gemini-3-flash-preview
rationale: Focus on accounts for healthcare practitioners and administrative staff
who have access to sensitive patient systems. The lead query narrows the investigation
to only those accounts showing immediate signs of identity risk, while the parallel
queries allow for deep dives into phishing and AI supply chain interaction.
references:
- name: "Proofpoint \u2014 Healthcare Cyberattacks Hit Harder, Cost More"
url: https://www.proofpoint.com/us/newsroom/news/healthcare-cyberattacks-hit-harder-cost-more
related:
- hunt: ransomware-encryption-for-impact-detection
reason: This hunt focuses on initial access and identity; the encryption phase is
a later stage of the impact cycle.
relation: out-of-scope-alternative
scenario:
stages:
- name: AI-Enhanced Phishing and Social Engineering
observables:
- AI-generated phishing emails
- Social engineering scams
- Phishing links in healthcare-themed messages
slug: ai-phishing-and-social-engineering
tactic: initial-access
techniques:
- T1566
- name: AI Vendor Supply Chain Risk
observables:
- Compromised third-party AI vendor tools
- Manipulation of AI service delivery mechanisms
slug: ai-vendor-supply-chain-risk
tactic: initial-access
techniques:
- T1195
- name: Healthcare Account Compromise
observables:
- Compromised healthcare worker accounts
- Unauthorized authentication events
slug: healthcare-account-compromise
tactic: initial-access
techniques:
- T1566
- name: Sensitive Data Leakage via AI Prompts
observables:
- Medical records submitted to AI chatbot prompts
- HTTP POST requests to AI service domains such as openai.com
slug: ai-prompt-data-leakage
tactic: initial-access
techniques:
- T1566
- name: Ransomware Encryption for Impact
observables:
- Encryption of patient care data
- Clinical system unavailability
- Deployment of ransomware payloads
slug: ransomware-encryption-for-impact
tactic: impact
techniques:
- T1486
summary: Healthcare organizations are facing an escalation in cyberattacks characterized
by AI-enhanced phishing, compromised credentials, and supply chain vulnerabilities
in AI vendors. These incidents frequently lead to operational disruptions through
ransomware encryption of patient records or the unauthorized leakage of sensitive
medical data via AI prompts.
series:
index: 1
slug: healthcare-cyberattacks-hit-harder-cost-more
title: Healthcare Cyberattacks Hit Harder, Cost More
total: 2
severity: medium
targets:
analyst:
name: Tier-2 analyst
role: analyst
endpoint:
category: endpoint
name: Endpoint telemetry (hb_ surfaces)
telemetry:
- endpoint
hunter:
agent: true
name: Hunt agent
identity:
category: identity
name: Identity / sign-in telemetry
telemetry:
- identity
web:
category: siem
name: Web server / proxy logs
telemetry:
- network
tlp: clear
type: investigation
---
# Healthcare Identity and AI Supply Chain Compromise
Healthcare organizations face increasing operational disruption from identity-driven attacks. This hunt uses a gated approach to identify suspicious authentication patterns—such as high-volume failures or automated script-based logins—before expanding into more expensive telemetry. If a lead is confirmed, the hunt fans out to investigate interactions with rare phishing domains and audits cloud API activity for unauthorized interactions with AI platforms like OpenAI, Bedrock, or Copilot, which may indicate supply chain risk or data exfiltration.
## lead-auth-anomalies
<!-- Suspicious Authentication Leads -->
Identify potential account compromise via high-frequency failures or automated login attempts.
```sqlite target=identity role=scoping params=(lookback_days=lookback_days)
~~~yaml
expected: Rows show repeated failures for specific users or sign-ins using non-browser
user agents. Silence suggests no obvious automated account attacks.
reads:
- device_hostname
- actor_user_name
- src_endpoint_ip
- user_agent
- status_detail
- time
- status_id
silence: not_evidence_of_absence
source: hb_auth_signin
verified: dry-run
verified_at: '2026-10-14'
~~~
SELECT device_hostname, actor_user_name, src_endpoint_ip, user_agent, status_detail, COUNT(*) AS attempts, MIN(time) AS first_seen, MAX(time) AS last_seen FROM hb_auth_signin WHERE (status_id = 2 OR (user_agent IS NOT NULL AND (LOWER(user_agent) LIKE '%python%' OR LOWER(user_agent) LIKE '%script%'))) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY device_hostname, actor_user_name, src_endpoint_ip, user_agent, status_detail HAVING attempts > 5 OR (LOWER(user_agent) LIKE '%python%' OR LOWER(user_agent) LIKE '%script%') ORDER BY attempts DESC
```
## evaluate-auth-lead
<!-- Assess Authentication Lead -->
```agent target=hunter
cite: required
context:
- lead-auth-anomalies
max_iterations: 3
objective: Determine if the sign-in patterns in lead-auth-anomalies suggest active
credential stuffing or unauthorized automation.
success_criteria: A verdict of suspicious | benign for the detected accounts.
tools:
- endpoint
- identity
- web
```
## gate-on-suspicion
<!-- Gate on Authentication Suspicion -->
if~: "the evaluate-auth-lead verdict is suspicious for at least one account or source IP" (confidence: high, judge=hunter)
then: → investigate-surfaces
indeterminate: → analyst-investigation
unavailable: → analyst-investigation (blind_spot: auth-telemetry-gap)
else: → close-out
## investigate-surfaces
<!-- Investigate Phishing and AI Activity -->
parallel:
- → phishing-lure-traffic
- → unauthorized-ai-api-calls
join: → final-triage
## phishing-lure-traffic
<!-- Phishing Lure Traffic -->
Identify hosts interacting with rare or healthcare-themed phishing domains within the scoped set.
```sqlite target=web role=baseline params=(phishing_domains=phishing_domains, scope_hosts=scope_hosts, lookback_days=lookback_days)
~~~yaml
baseline:
compare: first_seen
window: '{{lookback_days}}d'
expected: Rare domains appearing on fewer than 5 hosts matching phishing keywords.
Silence means no suspicious web traffic was recorded on the scoped hosts.
prevalence:
by: device_hostname
key:
- url_hostname
rare_below: 5
reads:
- url_hostname
- device_hostname
- url_path
- time
silence: not_evidence_of_absence
source: hb_http_activity
verified: dry-run
verified_at: '2026-10-14'
~~~
SELECT device_hostname, url_hostname, url_path, COUNT(*) AS requests, MIN(time) AS first_seen FROM hb_http_activity WHERE (instr(',' || '{{phishing_domains}}' || ',', ',' || LOWER(url_hostname) || ',') > 0 OR LOWER(url_path) LIKE '%/login%' OR LOWER(url_path) LIKE '%/verify%') AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days') GROUP BY device_hostname, url_hostname, url_path HAVING requests < 100 ORDER BY requests ASC
```
## unauthorized-ai-api-calls
<!-- Unauthorized AI API Activity -->
Detect healthcare accounts interacting with third-party AI services which may indicate supply chain manipulation.
```sqlite target=endpoint role=enrichment params=(lookback_days=lookback_days)
~~~yaml
expected: Healthcare worker accounts performing API operations against cloud AI vendors.
Silence suggests no such API activity was recorded.
reads:
- actor_user_name
- api_service_name
- api_operation
- resource_name
- src_endpoint_ip
- time
silence: not_evidence_of_absence
source: hb_cloud_api_activity
verified: dry-run
verified_at: '2026-10-14'
~~~
SELECT actor_user_name, api_service_name, api_operation, resource_name, src_endpoint_ip, time FROM hb_cloud_api_activity WHERE (LOWER(api_service_name) LIKE '%bedrock%' OR LOWER(api_service_name) LIKE '%openai%' OR LOWER(api_service_name) LIKE '%copilot%' OR LOWER(api_service_name) LIKE '%sagemaker%') AND time >= datetime('now', '-{{lookback_days}} days')
```
## final-triage
<!-- Final Evidence Triage -->
```agent target=hunter
cite: required
context:
- evaluate-auth-lead
- phishing-lure-traffic
- unauthorized-ai-api-calls
max_iterations: 6
objective: Determine if the fanned-out evidence confirms that the suspicious accounts
from the lead query were used for malicious activity.
success_criteria: A per-host/per-user verdict of malicious | suspicious | benign.
tools:
- endpoint
- identity
- web
```
## route-findings
<!-- Route Final Verdict -->
if~: "the final-triage verdict is malicious for at least one host or user" (confidence: high, judge=hunter)
then: → isolate-host
indeterminate: → analyst-investigation
unavailable: → analyst-investigation (blind_spot: http-retention-limit)
else: → close-out
## isolate-host
<!-- Isolate Compromised Host -->
```action target=endpoint
~~~yaml
approval: required
~~~
Isolate the endpoint and disable the associated healthcare worker account in the identity provider.
```
→ analyst-investigation
## analyst-investigation
<!-- Analyst Investigation -->
```manual target=analyst
Review the cited rows from authentication, HTTP, and cloud API activity. Verify if the rare domain traffic matches known clinical workflows or constitutes an intrusion. Check if the AI API calls align with approved vendor usage.
```
→ close-out
## close-out
<!-- Close Out Hunt -->
```manual target=analyst
Record the summary of findings and note any failures to monitor specific third-party AI services used by the organization. Document any hosts that were unscoped due to telemetry gaps.
```
→ end
Run it
Take this hunt into your environment.
Open it in Huntbase to run every step against your own connections, with Scout weighing the evidence and your analysts in command. Or take the open hunt.md file anywhere that reads the format.
Machine-drafted by huntbase-hunt-generation using hb_google/gemini-3-flash-preview, gated by dry-run, lint, then reviewed by a person.