<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Satish Singh</title>
    <description>The latest articles on DEV Community by Satish Singh (@nirvahana).</description>
    <link>https://dev.to/nirvahana</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3852883%2F7cbc2216-08c0-43d7-8b71-639ff62c35fa.jpg</url>
      <title>DEV Community: Satish Singh</title>
      <link>https://dev.to/nirvahana</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nirvahana"/>
    <language>en</language>
    <item>
      <title>We scanned 3,000 healthcare repositories. Here's what we found in CDC, VA, NHS, and Google's code.</title>
      <dc:creator>Satish Singh</dc:creator>
      <pubDate>Tue, 31 Mar 2026 06:35:53 +0000</pubDate>
      <link>https://dev.to/nirvahana/we-scanned-3000-healthcare-repositories-heres-what-we-found-in-cdc-va-nhs-and-googles-code-44a8</link>
      <guid>https://dev.to/nirvahana/we-scanned-3000-healthcare-repositories-heres-what-we-found-in-cdc-va-nhs-and-googles-code-44a8</guid>
      <description>&lt;p&gt;Every year, healthcare organizations spend billions on compliance. &lt;br&gt;
Auditors review policies. Security teams run vulnerability scans. &lt;br&gt;
Certifications get renewed. And yet the actual code running on &lt;br&gt;
production healthcare systems, the code that handles your medical &lt;br&gt;
records, your Social Security Number, your vaccination history, &lt;br&gt;
remains largely unexamined.&lt;/p&gt;

&lt;p&gt;We decided to examine it.&lt;/p&gt;

&lt;p&gt;Over the past several months, we built a static analysis engine &lt;br&gt;
that reads healthcare source code the way a compliance auditor &lt;br&gt;
would, mapping code patterns directly to specific HIPAA sections, &lt;br&gt;
GDPR articles, SOC 2 criteria, and India's DPDPA requirements. &lt;br&gt;
Then we pointed it at 3,000 public healthcare repositories spanning &lt;br&gt;
9 programming languages and 4 continents.&lt;/p&gt;

&lt;p&gt;13,427 confirmed violations. 43.6% of repositories affected.&lt;/p&gt;

&lt;p&gt;The organizations involved are not small or obscure. They include &lt;br&gt;
the US Centers for Disease Control, the US Department of Veterans &lt;br&gt;
Affairs, NHS England, Google, and some of the most widely deployed &lt;br&gt;
open-source healthcare platforms in the world.&lt;/p&gt;

&lt;h2&gt;
  
  
  The gap nobody is closing
&lt;/h2&gt;

&lt;p&gt;Here is the compliance problem nobody talks about.&lt;/p&gt;

&lt;p&gt;Security scanners like Snyk and Semgrep find known vulnerabilities, &lt;br&gt;
outdated dependencies, common attack patterns, CVEs. Compliance &lt;br&gt;
audits check whether policies exist, whether a Business Associate &lt;br&gt;
Agreement is signed, whether an access control policy is documented.&lt;/p&gt;

&lt;p&gt;Neither examines whether the application code actually implements &lt;br&gt;
the safeguards that regulations require.&lt;/p&gt;

&lt;p&gt;A hospital can have a perfect HIPAA policy document and a clean &lt;br&gt;
Snyk scan while its billing export writes every patient's Social &lt;br&gt;
Security Number to a plaintext CSV file on the server filesystem. &lt;br&gt;
That is not a hypothetical. That is OpenEMR, the most widely &lt;br&gt;
deployed open-source EMR with over 100,000 installations worldwide.&lt;/p&gt;

&lt;p&gt;This is the gap. And it is systemic.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we actually found
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The VA knew and suppressed it&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The US Department of Veterans Affairs notification-api handles SMS, &lt;br&gt;
email, and push notifications for 9 million veterans deployed to &lt;br&gt;
AWS GovCloud.&lt;/p&gt;

&lt;p&gt;One Lambda function disables TLS certificate verification with &lt;br&gt;
&lt;code&gt;verify=False&lt;/code&gt;. Alongside it sits an explicit &lt;code&gt;# nosec&lt;/code&gt; annotation, &lt;br&gt;
a security scanner suppression comment used by developers to silence &lt;br&gt;
warnings they don't want to fix.&lt;/p&gt;

&lt;p&gt;The development team was aware this was a security issue. They &lt;br&gt;
suppressed the warning and deployed to production anyway. Veteran &lt;br&gt;
phone numbers and SMS content are logged in plaintext. All affected &lt;br&gt;
functions deploy across dev, staging, perf, and prod environments &lt;br&gt;
via GitHub Actions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NHS England queries 58 million patient records with TLS disabled&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;OpenSAFELY is a secure analytics platform for NHS England &lt;br&gt;
electronic health records. The cohort-extractor tool queries &lt;br&gt;
patient data from approximately 58 million NHS patients.&lt;/p&gt;

&lt;p&gt;TLS certificate verification is unconditionally disabled for its &lt;br&gt;
EMIS database connection. Security warnings are globally suppressed. &lt;br&gt;
A TODO comment in the code confirms the developers are aware:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;# TODO remove this when certificate verification reinstated&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The TODO is still there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;India's vaccination platform logged Aadhaar numbers to stdout&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;India's DIVOC platform powered the national COVID vaccination &lt;br&gt;
certificate system used by hundreds of millions of Indian citizens.&lt;/p&gt;

&lt;p&gt;The code serializes the entire certificate request to application &lt;br&gt;
logs, Aadhaar number, name, date of birth, gender, phone number, &lt;br&gt;
home address, for every single certificate created. A separate &lt;br&gt;
analytics consumer prints every Kafka vaccination message to stdout &lt;br&gt;
unconditionally with no feature flag, no log level gate, and no &lt;br&gt;
way to disable it without modifying source code.&lt;/p&gt;

&lt;p&gt;Production CoWIN URLs in the Kubernetes deployment configs confirm &lt;br&gt;
this ran on India's national vaccination infrastructure.&lt;/p&gt;

&lt;p&gt;We reported this to CERT-In on March 23, 2026.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OpenEMR writes patient SSNs to plaintext CSV files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;OpenEMR's billing export feature writes patient Social Security &lt;br&gt;
Numbers, names, dates of birth, addresses, and phone numbers to a &lt;br&gt;
plaintext CSV file via &lt;code&gt;fwrite()&lt;/code&gt;. Zero encryption. No audit trail.&lt;/p&gt;

&lt;p&gt;When we contacted the OpenEMR security team, they confirmed this &lt;br&gt;
is intended functionality, citing HIPAA's "addressable" &lt;br&gt;
specification as placing the obligation on the deploying &lt;br&gt;
organization.&lt;/p&gt;

&lt;p&gt;100,000+ installations. Every one generating unencrypted files &lt;br&gt;
containing the most sensitive category of patient data with no &lt;br&gt;
application-level option to encrypt them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The finding that should concern everyone most
&lt;/h2&gt;

&lt;p&gt;Of everything we found, one pattern stands out as the most &lt;br&gt;
forward-looking risk.&lt;/p&gt;

&lt;p&gt;Across 3,000 repositories, our analysis detected 657 confirmed &lt;br&gt;
instances of patient medical data flowing into AI and machine &lt;br&gt;
learning pipelines without de-identification. This includes CSV &lt;br&gt;
exports fed into model training, inference calls containing &lt;br&gt;
identifiable patient records, and analytics pipelines processing &lt;br&gt;
raw PHI.&lt;/p&gt;

&lt;p&gt;Metriport, a funded healthcare API company, sends patient medical &lt;br&gt;
record data to an AI model via Amazon Bedrock. No de-identification &lt;br&gt;
or tokenization is visible before the API call.&lt;/p&gt;

&lt;p&gt;This is not a niche finding. As healthcare organizations race to &lt;br&gt;
adopt AI for clinical decision support, triage automation, and &lt;br&gt;
population health analytics, PHI is flowing into these pipelines &lt;br&gt;
at scale. Traditional security scanners were not built to detect &lt;br&gt;
this pattern. Most compliance frameworks have not yet caught up &lt;br&gt;
with it either.&lt;/p&gt;

&lt;p&gt;The code is ahead of the regulations. And the data is already &lt;br&gt;
moving.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this keeps happening
&lt;/h2&gt;

&lt;p&gt;Compliance failure in our dataset does not correlate with funding, &lt;br&gt;
team size, or institutional credibility. The VA has significant &lt;br&gt;
engineering resources. NHS England runs one of the largest health &lt;br&gt;
data platforms in the world. Google has some of the best security &lt;br&gt;
engineers on the planet.&lt;/p&gt;

&lt;p&gt;The correlation is simpler: nobody checked the code.&lt;/p&gt;

&lt;p&gt;Not because organizations are negligent. Because the tools and &lt;br&gt;
processes that exist today were not designed to check it. Security &lt;br&gt;
scanners operate at the dependency and vulnerability layer. &lt;br&gt;
Compliance audits operate at the policy and process layer. The &lt;br&gt;
application code layer, where PHI actually moves, where encryption &lt;br&gt;
actually gets implemented or skipped, where logging decisions &lt;br&gt;
actually get made, sits between these two worlds largely unexamined.&lt;/p&gt;

&lt;p&gt;That is the gap. And until it gets closed, compliance certifications &lt;br&gt;
will continue to mean less than they should.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for patients
&lt;/h2&gt;

&lt;p&gt;You have no way of knowing whether the healthcare application &lt;br&gt;
handling your data was ever checked at the code level for &lt;br&gt;
compliance. Your provider may have passed a HIPAA audit. Their &lt;br&gt;
software vendor may have a SOC 2 certificate. Neither guarantees &lt;br&gt;
that your Social Security Number is not being written to a plaintext &lt;br&gt;
file somewhere on a server filesystem.&lt;/p&gt;

&lt;p&gt;That is not a reason for panic. It is a reason for the industry &lt;br&gt;
to close a gap that has been ignored for too long.&lt;/p&gt;

&lt;p&gt;All affected organizations were notified through responsible &lt;br&gt;
disclosure channels prior to publication.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>healthcare</category>
      <category>hipaa</category>
      <category>compliance</category>
    </item>
  </channel>
</rss>
