T09 · Insecure Skill Coding Practices
- Location
SKILL.md:4- Finding
Plaintext Clinical Data Transmission Misrepresented as Fully Homomorphic Encryption
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:4-47, 88-93
Vulnerability Type: Plaintext transmission of sensitive clinical data to an external service
Risk Level: HighVulnerable Code
markdown Enables AI agents to compute **165 clinical scores** on **Fully Homomorphic Encrypted (FHE)** data. The server never sees plaintext patient data. All computation happens on ciphertext with 128-bit security.bash curl -X POST https://rheumascore.xyz/fhe/v1/compute/das28 \ -H 'Authorization: Bearer fhe_<your_key>' \ -H 'Content-Type: application/json' \ -d '{"values": [10, 5, 40, 60]}'bash curl -X POST https://rheumascore.xyz/fhe/v1/batch \ -H 'Authorization: Bearer fhe_<your_key>' \ -H 'Content-Type: application/json' \ -d '{"computations": [ {"score": "das28", "values": [10, 5, 40, 60]}, {"score": "sledai", "values": [1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]} ]}'markdown - **Encryption:** TFHE (Fully Homomorphic) — 128-bit security - **Zero-Knowledge:** Server computes on ciphertext, never sees plaintext - **Auth:** API key with SHA-256 hashed storage - **Rate Limiting:** 30 req/min per IP, daily caps - **Compliance:** HIPAA, LFPDPPP (Mexico), GDPR, FDA 21 CFR Part 11 - **No PHI Logging:** Only encrypted computation metadata storedTechnical Analysis
The documented compute and batch requests place clinical inputs directly into ordinary JSON
valuesarrays. The skill provides no client-side key generation, FHE encryption operation, ciphertext serialization, public cryptographic parameters, or client library that transforms these values into ciphertext before transmission.HTTPS protects data while it travels between the client and the endpoint, but it does not hide request contents from the receiving service. The external server terminates TLS and can therefore read the submitted JSON values. Consequently, the exampl ...[truncated 1639 chars]
- Remediation
View remediation
Remediation Suggestions
- Implement verifiable client-side FHE encryption before any clinical values leave the client environment.
- Change compute endpoints to accept only serialized ciphertext and reject plaintext
valuesarrays. - Publish an auditable client implementation covering key generation, parameter selection, encryption, ciphertext serialization, result decryption, and secure key handling.
- Ensure secret decryption keys remain exclusively under client control and are never transmitted to the service.
- Add automated integration tests or packet-level verification demonstrating that requests contain ciphertext rather than readable clinical measurements.
- Obtain an independent cryptographic and privacy review of the complete protocol and implementation.
- Until genuine end-to-end FHE is implemented and verified, remove the FHE, zero-knowledge, “server never sees plaintext,” “no PHI logging,” and unsubstantiated compliance claims.
- Clearly disclose that submitted values are visible to the provider, prohibit transmission of PHI where appropriate, document retention and logging behavior, and obtain informed authorization before processing sensitive data.
- Apply data minimization, strict retention limits, access controls, audit logging, and deletion procedures to any clinical information received by the service.
