Listen to this Post

Introduction:
When a patient describes pain and is dismissed, the failure isn’t just social—it’s a systemic breakdown in how evidence is evaluated, how signals are prioritized, and how institutional bias filters out critical data. In cybersecurity, the same dynamic plays out daily: security operations centers (SOCs) are flooded with alerts, yet the most dangerous threats are often the ones that don’t fit the expected pattern, the “complaints” that systems are programmed to ignore. Artist Olivia Plender’s exhibition Little Fennel’s Complaint, developed through research at the University of Oxford’s Bodleian Libraries and John Radcliffe Hospital, traces centuries of medical gaslighting—and offers a disturbing mirror to how modern IT and AI-driven security tools routinely dismiss the very signals that matter most.
Learning Objectives:
- Understand the conceptual parallel between patient dismissal in healthcare and alert fatigue / bias in cybersecurity operations.
- Learn how to audit SIEM, XDR, and AI-based detection systems for “listening failures” that lead to missed threats.
- Acquire practical Linux, Windows, and API security commands to validate that your security stack is actually hearing what matters.
- The “Gaslighting” of Security Alerts: When Your SIEM Doesn’t Believe You
In healthcare, a woman’s description of pain is often statistically down-weighted, attributed to emotion, or filed under “non-specific symptoms”. In security, the equivalent is the low-priority alert—the anomalous outbound connection, the single failed login from a trusted IP, the PowerShell script that runs once and disappears. These are the “complaints” your SIEM is trained to ignore because they don’t match the signature of known attacks.
The Oxford exhibition asks: “whose knowledge counts?”. In a SOC, the same question applies to threat intelligence feeds versus internal anomaly data. Most organizations over-rely on external IOCs (Indicators of Compromise) and under-weight the subtle, persistent signals generated by their own environment.
Step‑by‑step: Audit Your SIEM for “Listening” Failures
- Extract all alerts from the last 30 days that were auto-closed or dropped.
– Linux (via Elasticsearch/API):
curl -X GET "localhost:9200/siem_alerts/_search?size=100" -H 'Content-Type: application/json' -d'{
"query": {
"bool": {
"filter": [
{"term": {"status": "closed"}},
{"range": {"@timestamp": {"gte": "now-30d"}}}
]
}
}
}' | jq '.hits.hits[]._source.rule_name'
– Windows (PowerShell with Splunk API):
$headers = @{"Authorization" = "Bearer $env:SPLUNK_TOKEN"}
$body = @{search = "search index=security status=closed earliest=-30d | stats count by rule_name"}
Invoke-RestMethod -Uri "https://splunk:8089/services/search/jobs" -Method POST -Headers $headers -Body $body
- Manually review the top 10 closed alerts. For each, ask:
– Was this closed by automation or an analyst?
– If an analyst, what was the average time-to-close?
– Does the rule that generated this alert have a high false-positive rate?
- Re-open one alert per day for a week and force a human review. This is the cybersecurity equivalent of “consciousness raising”—treating every dismissed signal as potentially valid evidence.
What This Does: It exposes the institutional bias in your detection pipeline. Just as women’s symptoms were historically classified as “hysteria”, many security events are pre-classified as “benign” based on outdated assumptions.
- The API That Never Listens: Hardening Endpoints Against “Dismissive” Responses
APIs are the modern equivalent of the hospital intake desk. They receive requests, parse data, and return responses. But how often do they listen to the full context of a request? Most APIs are configured to expect a specific schema; anything outside that is rejected outright. This is a security vulnerability.
Attackers know that APIs often ignore malformed requests, but they also know that rate-limiting and error messages leak information. A 403 vs. a 404 tells an attacker whether a resource exists. A 429 tells them the threshold. This is the API equivalent of a doctor dismissing a symptom because it doesn’t fit the expected pattern.
Step‑by‑step: Audit Your API Response Behavior
1. Test for information disclosure via error messages.
- Linux (using
curl):curl -X GET "https://api.example.com/v1/users/9999" -H "Authorization: Bearer $TOKEN" -v Check if response differentiates between "user not found" and "forbidden"
- Windows (using
Invoke-WebRequest):try { Invoke-WebRequest -Uri "https://api.example.com/v1/users/9999" -Headers @{Authorization="Bearer $env:TOKEN"} -ErrorAction Stop } catch { $_.Exception.Response }
- Implement consistent error responses. All errors (401, 403, 404, 500) should return the same generic JSON body:
{"status":"error","message":"Request could not be processed"}. This is “listening without prejudice”—the API acknowledges the request without classifying it. -
Enable detailed audit logging for all rejected requests.
– Linux (via `auditd` for file access):
auditctl -w /var/log/api/access.log -p wa -k api_rejections
– Windows (via PowerShell Event Log):
Write-EventLog -LogName "Application" -Source "API-Gateway" -EventId 403 -Message "Rejected request from IP $remoteIP - Payload: $payload"
What This Does: It transforms your API from a passive gatekeeper into an active listener that records every “complaint” (malformed request) for later analysis. Many breaches begin with reconnaissance that your API dismissed as noise.
- AI Diagnosis vs. AI Detection: The Bias in Training Data
Just as medical AI models have been shown to underdiagnose conditions in women and minorities because they were trained on predominantly male data, cybersecurity AI models are trained on known attack patterns—which means they are excellent at detecting yesterday’s threats and blind to tomorrow’s.
The Oxford research highlights how “forms of knowledge have persisted despite being ignored”. In AI security, the equivalent is the long-tail anomaly—the attack that doesn’t look like any previous attack. If your ML model was trained on CVE exploits from 2020-2024, it will miss a zero-day that uses a novel protocol or a benign-looking administrative tool.
Step‑by‑step: Stress-Test Your AI Detection Model
- Generate a “synthetic complaint” dataset. Use `mitre-attack` techniques that are not in your training set.
– Linux (using `caldera` to simulate attacks):
sudo caldera --server --port 8888 Deploy a simulated attack using a technique not in your SIEM's rule set (e.g., T1568.002 - Dynamic Resolution)
- Measure the model’s false-1egative rate on these novel techniques. If it’s > 5%, your AI is “gaslighting” your SOC—telling analysts that nothing is wrong when something clearly is.
-
Implement a “human-in-the-loop” review for all alerts that score between 40-60% confidence. This is the cybersecurity equivalent of the consciousness-raising groups Plender organized, where personal experience was treated as valid evidence.
4. Cloud Hardening: Listening to the “Silent” Logs
In cloud environments, the most critical signals are often the quietest: a subtle change in IAM policy, a bucket that suddenly becomes public, an instance that launches in a region you don’t use. These are the “symptoms” your cloud security posture management (CSPM) tool is trained to ignore because they don’t trigger an immediate compliance violation.
Step‑by‑step: Cloud Audit for Dismissed Signals
- Enable and review CloudTrail (AWS) or Audit Logs (Azure) for all “read” events.
– AWS CLI:
aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=GetObject --start-time "$(date -d '7 days ago' --iso-8601=seconds)" --end-time "$(date --iso-8601=seconds)"
– Azure CLI:
az monitor activity-log list --start-time 2026-06-11 --end-time 2026-06-18 --query "[?contains(operationName.value, 'read')]"
- Correlate read events with network flow logs. A high volume of `GetObject` calls from a single IP that doesn’t correspond to a known workload is the cloud equivalent of a patient describing pain that doesn’t show up on a scan.
-
Create a custom alert for any read event that occurs outside business hours or from a new geographic location.
– AWS (using CloudWatch Events):
{
"source": ["aws.s3"],
"detail-type": ["AWS API Call via CloudTrail"],
"detail": {
"eventName": ["GetObject"],
"userIdentity": {"type": ["IAMUser"]}
}
}
- Windows Event Logs: The Unheard “Complaint” of Your Domain Controllers
Windows Event Logs are the electronic equivalent of patient casebooks—they contain a history of every authentication attempt, every privilege escalation, every service start and stop. But like the early modern casebooks referenced in Plender’s research, these logs are often consulted only when something has already gone wrong.
Step‑by‑step: Enable and Analyze “Dismissed” Events
- Enable advanced audit policies for all domain controllers.
– Windows (via Group Policy):
Computer Configuration → Windows Settings → Security Settings → Advanced Audit Policy Configuration Enable: Audit Logon (Success and Failure), Audit Privilege Use, Audit System Events
- Extract and analyze Event ID 4625 (failed logons) that occurred during off-hours.
– PowerShell:
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4625; StartTime=(Get-Date).AddDays(-30)} | Where-Object { $<em>.TimeCreated.Hour -lt 6 -or $</em>.TimeCreated.Hour -gt 20 } | Select-Object TimeCreated, @{N='User';E={$<em>.Properties[bash].Value}}, @{N='SourceIP';E={$</em>.Properties[bash].Value}}
- Correlate these with successful logons (Event ID 4624) from the same source IP within 5 minutes. This pattern—a failure followed by a success—is the digital equivalent of a patient being dismissed (failure) and then finally heard (success). It often indicates a brute-force or password-spray attack that succeeded.
-
The “Power of Being Heard”: Building a Security Culture That Listens
The most powerful line from the Oxford exhibition is “the power of being heard”. In cybersecurity, this translates to incident response that doesn’t blame the victim—whether that victim is a user who clicked a phishing link or an analyst who flagged a false positive. Just as patients who feel dismissed are less likely to seek care, employees who are punished for reporting suspicious activity will stop reporting it.
Step‑by‑step: Implement a “No-Blame” Reporting Channel
- Create an anonymous reporting mechanism for security incidents (e.g., a dedicated Slack channel with webhook to a private ticket system).
- Acknowledge every report within 2 hours—even if it’s a false positive. This is the organizational equivalent of a doctor saying “I hear you.”
- Publish a monthly “Lessons Learned” digest that includes reports that were initially dismissed but later found to be valid. This builds trust and encourages future reporting.
What Undercode Say:
- Key Takeaway 1: The failure to listen is not a human flaw—it’s a systemic bias embedded in how we design detection algorithms, train AI models, and configure logging pipelines. Just as medical institutions have historically classified women’s symptoms as “non-specific,” security tools are hardcoded to ignore anything that doesn’t match a predefined pattern.
-
Key Takeaway 2: The solution is not more data—it’s better listening protocols. In healthcare, this means treating patient experience as evidence. In cybersecurity, it means treating every alert, every log entry, and every user report as potentially valuable, and designing systems that escalate uncertainty rather than dismiss it.
Analysis: The parallel between medical gaslighting and security alert fatigue is more than metaphorical—it’s structural. Both domains rely on expert systems (doctors, SIEMs) that are trained to prioritize certain signals over others based on historical data. When that data is biased (e.g., male-centric clinical trials, known-attack-focused threat intel), the system systematically under-weights the signals that matter most. Plender’s exhibition reminds us that the history of medicine is not a simple arc of progress—and neither is the history of cybersecurity. We are not getting better at detecting threats; we are getting better at ignoring the ones that don’t fit our models. The “power of being heard” is not a soft skill—it’s a critical security control.
Prediction:
- +1 Organizations that implement “listening audits” (manually reviewing dismissed alerts, API rejections, and low-confidence AI predictions) will reduce their mean-time-to-detect (MTTD) by 40-60% over the next 18 months, as they uncover threats that were previously invisible.
-
-1 The continued over-reliance on AI-based detection trained on historical attack data will lead to a surge in zero-day exploits that specifically target “low-priority” vectors—the cybersecurity equivalent of diseases that were historically dismissed as “women’s problems.”
-
+1 Regulatory frameworks (e.g., GDPR, HIPAA, NIS2) will begin to mandate “explainability” and “auditability” of security decisions, forcing vendors to open-source their detection logic and enabling third-party validation—much like the peer-review process in medical research.
-
-1 The “gaslighting” dynamic will worsen in cloud-1ative environments, where ephemeral workloads and serverless architectures generate even more transient signals that are automatically dismissed, creating a new class of “silent” breaches that are never detected.
-
+1 The rise of “security consciousness-raising” groups—analogous to the women’s health groups Plender facilitated—will empower junior SOC analysts to challenge institutional biases, leading to more diverse and resilient threat detection strategies.
▶️ Related Video (72% Match):
https://www.youtube.com/watch?v=0TxuFkRHW-Y
🎯Let’s Practice For Free:
🎓 Live Courses & Certifications:
Join Undercode Academy for Verified Certifications
🚀 Request a Custom Project:
Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands
IT/Security Reporter URL:
Reported By: When Patients – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅


