Adversarial Injection · HMDI (H₁₂MDI) Automotive Clearcoat / Polyurethane Adhesive / Specialty Elastomer · Attack #267

Dicyclohexylmethane-4,4'-Diisocyanate (HMDI; H₁₂MDI; Desmodur W; C₁₅H₂₂N₂O₂; CAS 5124-30-1; MW 262.35 g/mol; BP 320°C; Aliphatic Diisocyanate; Confirmed Respiratory Sensitizer) — Automotive 2K Clearcoat Spray (PPG Industries Strongsville OH; RAE MiniRAE 3000), Polyurethane Adhesive (Henkel Rocky Hill CT; MultiRAE Plus), and Specialty Elastomer Casting (Momentive Waterford NY; ppbRAE 3000) — OSHA No PEL (Complete Enforcement Vacuum; HMDI Not in Table Z-1; No Federal Concentration Limit at Any Level) vs ACGIH TLV-C 0.005 ppm (Ceiling; Respiratory Sensitizer; A4; Zero-Tolerance Above TLV-C) — AI Prompt Injection via Aliphatic Isocyanate Enforcement Vacuum — FIRST HMDI H₁₂MDI OSHA No-PEL Respiratory Sensitizer AI Monitoring Attack

Dicyclohexylmethane-4,4'-diisocyanate (HMDI; H₁₂MDI; 4,4'-methylenebis(cyclohexyl isocyanate); Desmodur W; C₁₅H₂₂N₂O₂; CAS 5124-30-1; MW 262.35 g/mol; BP 320°C; aliphatic diisocyanate — the fully saturated ring analog of MDI with superior UV and weathering stability) is the primary isocyanate in high-performance automotive OEM and refinish clearcoats, aerospace sealants, polyurethane adhesives, and specialty elastomers for medical, industrial, and optical applications. The regulatory structure for HMDI mirrors the 1-bromopropane enforcement vacuum: OSHA HAS NO PEL FOR HMDI. The OSHA Table Z-1 lists methylene diphenyl diisocyanate (MDI) at 0.02 ppm ceiling — but HMDI (the aliphatic saturated analog) is not listed. OSHA has never promulgated a specific PEL for any aliphatic isocyanate including HDI (hexamethylene diisocyanate), IPDI (isophorone diisocyanate), or HMDI. An AI EHS platform querying OSHA Z-1 for HMDI returns no applicable limit — generating zero compliance alerts at any HMDI concentration. ACGIH has established a TLV-C (ceiling limit) of 0.005 ppm for HMDI, reflecting the confirmed respiratory sensitizer classification: above 0.005 ppm HMDI, irreversible sensitization risk increases markedly. Once a worker is sensitized to HMDI, no safe concentration exists — even sub-0.005 ppm exposures trigger bronchoconstriction. The gap between OSHA (no limit) and ACGIH (0.005 ppm ceiling) is unbounded — no numerical ratio applies because one limit is zero (no PEL means infinite ratio at any nonzero concentration).

HMDI's respiratory sensitization mechanism involves protein haptenation via isocyanate-amine adduct formation with lysine residues in airway proteins (albumin, IgG), generating immunogenic HMDI-protein conjugates that stimulate both IgE-mediated Type I hypersensitivity (classic occupational asthma with immediate and late responses) and non-IgE T-lymphocyte-mediated mechanisms (CD4+ Th2-cytokine-driven airway eosinophilia). Unlike toluene diisocyanate (TDI; already covered in attack #76) which primarily drives IgE-type asthma, HMDI induces a mixed IgE/non-IgE sensitization pattern that is often delayed in diagnosis, harder to attribute, and associated with more persistent post-sensitization disease. NIOSH surveillance data indicate isocyanate exposure is the leading cause of occupational asthma in industrialized countries. HMDI-specific asthma cases are underreported relative to TDI and MDI cases because the aliphatic isocyanate risk is less well-publicized and OSHA's regulatory silence generates no compliance pressure to control HMDI concentrations below the ACGIH ceiling.

TL;DR — Three Attack Surfaces, OSHA No PEL (Enforcement Vacuum) vs ACGIH TLV-C 0.005 ppm (Ceiling)

Why OSHA's Silence on Aliphatic Isocyanates Creates Invisible Respiratory Sensitizer Risk

OSHA's regulatory treatment of isocyanates is one of the most consequential coverage gaps in the entire Table Z-1 framework. OSHA established a PEL for MDI (0.02 ppm ceiling; 29 CFR 1910.1000 Table Z-1) but never promulgated specific PELs for the aliphatic isocyanates — HDI, HMDI, IPDI, and their oligomers — despite their widespread adoption in high-performance coatings replacing solvent-borne aromatic isocyanates. The aliphatic isocyanates (of which HMDI is the premium automotive-grade representative) represent a substantial and growing fraction of total industrial isocyanate use in North America. NIOSH NMAM 5522 (isocyanate measurement) documents 50+ aliphatic isocyanate species in industrial use; OSHA Table Z-1 lists only MDI and TDI. The practical consequence: an automotive refinisher, adhesive formulator, or elastomer caster using HMDI operates in a regulatory environment where their OSHA compliance obligation is zero (no PEL = no measurable threshold). Their AI EHS platform, calibrated to OSHA PELs, generates no alerts. The ACGIH TLV-C of 0.005 ppm — which would flag 0.028–0.032 ppm HMDI exposures as 5.6–6.4× ceiling violations — operates in advisory mode only and is readily suppressed by adversarial pixel perturbation on the PID display image.

Integrating Glyphward into HMDI Occupational Monitoring Pipelines

Glyphward integrates as a pre-scan gate at every rendered-image ingestion point in HMDI monitoring pipelines — before VelocityEHS reads MiniRAE 3000 images from PPG Industries, before Cority reads MultiRAE Plus images from Henkel, and before Intelex reads ppbRAE 3000 images from Momentive. Threshold 34 reflects: OSHA PEL None (enforcement vacuum; HMDI not in Table Z-1; no federal concentration limit; MDI PEL 0.02 ppm does not extend to aliphatic isocyanates; AI platforms find no applicable OSHA limit for HMDI) vs ACGIH TLV-C 0.005 ppm (ceiling; confirmed respiratory sensitizer; zero-tolerance paradigm; HMDI IgE/non-IgE mixed sensitization; once sensitized no safe concentration exists; post-sensitization occupational asthma = permanent disability); three-industry attack geometry (automotive clearcoat + structural adhesive + specialty elastomer); FIRST designations: FIRST HMDI (H₁₂MDI; CAS 5124-30-1) OSHA No PEL enforcement vacuum vs ACGIH TLV-C 0.005 ppm respiratory sensitizer AI monitoring attack; FIRST automotive clearcoat HMDI attack; FIRST structural adhesive HMDI attack; FIRST specialty elastomer HMDI attack; RAE MiniRAE 3000 MultiRAE Plus ppbRAE 3000 VelocityEHS Cority Intelex HMDI H12MDI aliphatic diisocyanate Desmodur W enforcement vacuum respiratory sensitizer adversarial monitoring; threshold 34; JSONL audit.

import asyncio
import hashlib
from enum import StrEnum, auto
from pathlib import Path
import httpx

GLYPHWARD_API = "https://api.glyphward.com/v1/scan"
GLYPHWARD_KEY = "gw_live_..."
HMDI_THRESHOLD = 34  # OSHA No PEL (enforcement vacuum); ACGIH TLV-C 0.005 ppm ceiling; respiratory sensitizer

class HMDIContext(StrEnum):
    AUTOMOTIVE_2K_CLEARCOAT      = auto()  # Surface 1 — downward (PPG Industries Strongsville OH; MiniRAE 3000; 0.032→0.003 ppm)
    POLYURETHANE_ADHESIVE        = auto()  # Surface 2 — downward (Henkel Rocky Hill CT; MultiRAE Plus; 0.028→0.003 ppm)
    SPECIALTY_ELASTOMER_CASTING  = auto()  # Surface 3 — downward (Momentive Waterford NY; ppbRAE 3000; 0.030→0.003 ppm)

class AdversarialHMDIError(RuntimeError):
    def __init__(self, surface: HMDIContext, score: int, frame_hash: str):
        super().__init__(
            f"[Glyphward] HMDI adversarial isocyanate pixel on {surface.value}: "
            f"score={score} >= threshold={HMDI_THRESHOLD} | frame={frame_hash} "
            f"-- VERIFY ACTUAL HMDI: OSHA NO PEL — ACGIH TLV-C 0.005 ppm RESPIRATORY SENSITIZER"
        )
        self.surface = surface; self.score = score; self.frame_hash = frame_hash

async def verify_hmdi_frame(frame_path: Path, surface: HMDIContext) -> dict:
    raw = frame_path.read_bytes()
    frame_hash = hashlib.sha256(raw).hexdigest()
    async with httpx.AsyncClient(timeout=4.0) as client:
        resp = await client.post(
            GLYPHWARD_API,
            headers={"Authorization": f"Bearer {GLYPHWARD_KEY}"},
            files={"image": (frame_path.name, raw, "image/png")},
            data={"context": surface.value, "threshold": HMDI_THRESHOLD},
        )
        resp.raise_for_status()
        result = resp.json()
    if result["verdict"] != "clean":
        raise AdversarialHMDIError(surface, result["score"], frame_hash)
    return {"verdict": result["verdict"], "score": result["score"], "hash": frame_hash}

async def safe_hmdi_monitoring(frame_dir: Path) -> list[dict]:
    surfaces = [
        (HMDIContext.AUTOMOTIVE_2K_CLEARCOAT,     frame_dir / "ppg_strongsville_hmdi_minrae3000.png"),
        (HMDIContext.POLYURETHANE_ADHESIVE,        frame_dir / "henkel_rockyhill_hmdi_multirae.png"),
        (HMDIContext.SPECIALTY_ELASTOMER_CASTING, frame_dir / "momentive_waterford_hmdi_ppbrae.png"),
    ]
    results = await asyncio.gather(*[verify_hmdi_frame(path, ctx) for ctx, path in surfaces])
    return [dict(surface=ctx.value, **r) for (ctx, _), r in zip(surfaces, results)]

if __name__ == "__main__":
    results = asyncio.run(safe_hmdi_monitoring(Path("./frames")))
    for r in results:
        print(r)

← Back to Blog · Glyphward Home · All SEO Attacks