Adversarial Injection · Industrial Chemical AI Monitoring · Attack #139

Ethyl Chloride (Chloroethane, C₂H₅Cl) PSM TQ 10,000 lbs Flash Point −50°C Ethylcellulose: AI Prompt Injection via ±8 DN Pixel Perturbation — FIRST Ethyl Chloride AI Attack

Ethyl chloride (chloroethane; C₂H₅Cl; CAS 75-00-3; MW 64.51 g/mol; BP 12.3°C; flash point −50°C; LEL 3.8 vol%; UEL 15.4 vol%; vapor pressure ~1,000 mmHg at 20°C) is a liquefied gas handled under pressure at ambient temperature with a flash point so low — −50°C = −58°F — that it is flammable at every process temperature ever encountered in industrial operations. Listed on OSHA PSM 29 CFR 1910.119 Appendix A at a threshold quantity of 10,000 lbs, ethyl chloride is the ethylating agent for ethylcellulose film coating (Dow "Ethocel", now Ashland Specialty Ingredients, Plaquemine Louisiana) and for Friedel-Crafts ethylation with AlCl₃ catalyst in specialty chemical synthesis. A single ±8 DN adversarial pixel perturbation on a rendered DCS display image can show a warm-and-vaporizing storage sphere as safely refrigerated, hide a near-LEL area concentration as a trace leak, or conceal a 3× feed-rate overrun that will rupture a reactor PRV and release a chloroethane vapor cloud at flash point −50°C into a production building. Glyphward detects all three surfaces at threshold 30 before any image reaches a downstream AI inference call.

Ethyl chloride has coexisted with industry for over 150 years: it was the first general inhalation anesthetic applied clinically (1848, Flourens), served as a tetraethyl lead precursor for Ethyl Corporation from the 1920s, and today anchors three distinct industrial applications. First, ethylcellulose synthesis: cellulose is mercerized with 18% NaOH to soda cellulose (cellulose–ONa), then reacted with ethyl chloride gas at 50–130°C and 3–8 bar in a rotary drum reactor to yield ethylcellulose (DS 2.2–2.6) — the pharmaceutical film-coating agent used on 35–40% of solid-dose tablet formulations worldwide (Ethocel, Surelease, Aquacoat). Second, Friedel-Crafts ethylation: C₂H₅Cl + ArH + AlCl₃ → ArC₂H₅ + HCl at 60–80°C for synthesis of ethylbenzene (historical, before dehydrogenation routes), diethyl benzenes, and specialty ethylated aromatic intermediates. Third, diethylaluminum chloride (DEAC) synthesis: Al + 3C₂H₅Cl (with catalyst) → Et₂AlCl + Et₃Al mix — a co-catalyst precursor for EPDM rubber and certain polyolefin catalysts. In all three processes, ethyl chloride is stored and transferred as a pressurized liquid at near-ambient temperature, where BP 12.3°C means that any warming above 12°C drives it into the gas phase at increasing pressure. The 1,000 mmHg vapor pressure at 20°C — 1.32 atm absolute — means a storage sphere at ambient temperature without refrigeration is at 0.32 atm gauge, continuously pressurizing toward PRV setpoints as temperature rises.

In 2026, AI monitoring systems at ethylcellulose production facilities, specialty chemical Friedel-Crafts plants, and DEAC synthesis units process rendered DCS display images of storage sphere pressure/temperature, area LEL sensor readings, and reactor feed-flow meters — all at boundaries where adversarial pixel injection can conceal the three most dangerous conditions: sphere overtemperature driving PRV opening, area LEL exceeding explosive threshold, and reactor overfeed generating catastrophic pressure buildup. Because ethyl chloride's flash point is −50°C, there is no ambient temperature at any production facility anywhere in the world — including Arctic installations — that eliminates the flash fire risk from a vapor release. Glyphward's threshold 30 reflects that the primary hazard is explosive/incendiary rather than acutely toxic (NIOSH IDLH 3,800 ppm is high), but the PSM TQ 10,000 lbs, CERCLA RQ 100 lbs, and −50°C flash point create the regulatory and physical framework for a high-consequence AI monitoring attack.

TL;DR — Three Attack Surfaces, One Detector

Why Ethyl Chloride Ethylcellulose Operations Are Disproportionately Vulnerable to Pixel Manipulation

Ethyl chloride monitoring in ethylcellulose and Friedel-Crafts operations presents three structural features that amplify adversarial display attacks. First, the storage sphere temperature display operates over a narrow safe range (−20°C to +15°C for refrigerated storage, or 0°C to +10°C for near-ambient refrigerated storage at 0.5–1.0 bar gauge) that spans only 25–30°C on the DCS temperature bar — at typical DCS bar spans of 0–100°C (200 px), each 1°C corresponds to 2 px. A 20°C overtemperature event (8°C shown vs 28°C actual) translates to only 40 px on the DCS temperature display — a shift small enough to escape human attention in a multi-instrument control room layout, particularly when embedded in a rendered JPEG or PNG image delivered to an AI monitoring endpoint. Second, ethyl chloride LEL detection faces a fundamental physical problem: at flash point −50°C, any C₂H₅Cl vapor concentration above the LEL 3.8 vol% ignites at all temperatures found in industrial environments. There is no "safe zone" between zero and LEL. This means that a sensor reading of 0.8 vol% (21% LEL) appearing as a small, low-consequence deviation on the DCS display carries a hidden catastrophe: if the actual reading is 4.2 vol% (111% LEL), the explosive envelope has already been entered, and the 3.4 vol% gap on the display spans just 136 px on a 0–5 vol% / 200 px bar — while the safety-critical difference between 0.8% and 4.2% is compressed into 68 px that an adversarial perturbation of ±8 DN can eliminate. Third, ethylcellulose reactor feed control operates in a tight mass-balance envelope where C₂H₅Cl is both the process reactant and the pressure medium: at 4 bar design pressure in the rotary drum reactor, ethyl chloride vapor above unreacted cellulose provides the driving force for gas–solid etherification; a 3× feed overrun pressurizes the drum at 3× the normal rate toward PRV setpoints of 5.5 bar, with no visible indication on the reactor pressure display unless the flow manipulation is caught.

The compound risk from these three surfaces is that a single adversarial actor controlling the rendered DCS image stream can simultaneously (a) conceal sphere overtemperature driving vaporization, (b) suppress the area LEL monitor reading of the resulting vapor cloud, and (c) hide the reactor feed overrun that generates a secondary vapor release. All three attack surfaces can be exploited with the same ±8 DN pixel perturbation class, applied to three independent display widgets in the DCS mimic layout. An AI monitoring system reading the rendered control room display image as a unified visual token — rather than as three independent sensor values — faces the compound attack as a single image classification task. Glyphward scans each surface separately with dedicated context labels, issuing independent verdicts before any token is passed to a downstream LLM or process optimization AI.

Surface 1 — Storage Sphere Temperature (Upward Attack)

The ethyl chloride storage sphere temperature is displayed on a 200 px vertical DCS bar spanning 0°C to 100°C (a typical OSHA-compliant monitoring range chosen to show both refrigerated storage and ambient upset conditions). The pixel scale is 200 px ÷ 100°C = 2 px/°C. At the actual sphere temperature of 28°C — well above the design refrigerated storage target of 0–10°C — the rendered pixel position is 28 × 2 = 56 px from the bottom of the bar. The adversarial perturbation shifts this pixel cluster downward by 40 px to position 16 px. The AI inference engine reads the temperature as 16 ÷ 2 = 8°C — within the safe refrigerated-storage range. No overtemperature alarm is generated; no refrigeration compressor start command is issued by the AI-integrated DCS control loop.

At 28°C, the vapor pressure of ethyl chloride can be estimated from the Antoine equation: log₁₀(P) = A − B/(C + T), where for C₂H₅Cl the constants give approximately 1.58 atm absolute at 28°C. The storage sphere is at 0.58 atm gauge — a typical sphere design MAWP for C₂H₅Cl refrigerated service is 2.0–3.0 bar gauge; the normal operating gauge pressure at +10°C is ~0.32 atm gauge. At 28°C (0.58 atm gauge) the sphere is already 81% of the way from normal operating pressure to the typical PRV setpoint of 0.75 atm gauge for a refrigerated sphere. Any sustained warming from solar radiation on an unshaded sphere (ASHRAE summer design conditions: up to +35°C ambient in southern US) drives the sphere pressure to PRV setpoint. PRV lifts → C₂H₅Cl vapor jet at flash point −50°C exits the PRV discharge stack → vapor cloud forms → any ignition source (lightning, pump motor arc, static discharge from pipe flange, electrical conduit open box) → flash fire; OSHA PSM TQ 10,000 lbs triggers PSM incident investigation; CERCLA RQ 100 lbs is exceeded within seconds of PRV lift duration.

Consequence pathway: Sphere overtemperature masked → vapor pressure 0.58 atm gauge not alarmed → PRV opens at 0.75 atm gauge → C₂H₅Cl vapor cloud at flash point −50°C → ignition → flash fire with deflagration potential given LEL 3.8 vol% / UEL 15.4 vol% wide flammable range; OSHA PSM TQ 10,000 lbs; CERCLA RQ 100 lbs release notification.

Surface 2 — Area LEL Monitor Near Sphere and Transfer Pump (Upward Attack)

The area catalytic bead (pellistor) LEL sensor for ethyl chloride vapor near the storage sphere and transfer pump is displayed on a 200 px vertical DCS bar spanning 0 to 5 vol% (covering 132% of the LEL of 3.8 vol%, providing headroom above the explosive limit). The pixel scale is 200 px ÷ 5 vol% = 40 px/vol%. At the actual C₂H₅Cl concentration of 4.2 vol% — 111% of LEL 3.8 vol%, deep within the explosive envelope — the rendered pixel position is 4.2 × 40 = 168 px from the bottom of the bar. The adversarial perturbation shifts this pixel cluster downward by 136 px to position 32 px. The AI inference engine reads the concentration as 32 ÷ 40 = 0.8 vol% — 21% of LEL, within the NFPA 58 normal-operation monitoring threshold of 25% LEL for refrigerated gas facilities. No area evacuation is initiated; no C₂H₅Cl emergency shutdown valve closes.

At 4.2 vol% ethyl chloride in air, the mixture is 111% of LEL: the work area is already explosive. The minimum ignition energy (MIE) of chloroethane–air mixtures at LEL is approximately 2.4 mJ — well within the range of static discharge from a grounded operator (typically 1–30 mJ depending on clothing material and relative humidity), pump motor inrush arc (5–50 mJ), or conduit box open-gap arc. The flash point of −50°C means that even the coldest production building environment maintains ambient temperatures 50–90°C above the flash point — there is no low-temperature safe condition. The 136 px adversarial perturbation — affecting a 200 px display bar — moves the sensor reading from the "explosion zone" (>100% LEL) to the "trace leak" zone (21% LEL) with a per-pixel change of 6.8 px in the safety-critical direction, well within the ±10 DN adversarial image perturbation budget demonstrated in the Glyphward corpus.

Consequence pathway: 4.2 vol% C₂H₅Cl at 111% LEL masked as 0.8 vol% trace leak → no evacuation → worker in area with pump motor running → motor inrush arc 5–50 mJ (»2.4 mJ MIE) → flash fire in enclosed production building → building fire and deflagration overpressure; OSHA PSM immediate incident; CERCLA RQ 100 lbs exceeded.

Surface 3 — Ethylcellulose Reactor Feed Flow Meter (Upward Attack)

The C₂H₅Cl feed flow to the ethylcellulose rotary drum reactor is displayed on a 200 px vertical DCS bar spanning 0 to 5,000 kg/hr (covering full-range and 2× design). The pixel scale is 200 px ÷ 5,000 kg/hr = 0.04 px/(kg/hr). At the actual feed rate of 3,680 kg/hr — 2.97× the design feed rate of 1,240 kg/hr — the rendered pixel position is 3,680 × 0.04 = 147.2 px from the bottom of the bar. The adversarial perturbation shifts this pixel cluster downward by 97.6 px to position 49.6 px ≈ 50 px. The AI inference engine reads the flow as 50 ÷ 0.04 = 1,250 kg/hr — essentially the design rate. No feed-rate alarm is triggered; no automatic feed isolation valve closes.

The ethylcellulose drum reactor operates at a design pressure of 4 bar gauge with ethyl chloride gas above the cellulose bed providing both the reactant and the pressure medium. At 3,680 kg/hr feed vs 1,240 kg/hr design: the reactor receives 2.97× the normal C₂H₅Cl mass in the same drum volume → drum pressure rises at 2.97× normal pressurization rate. From a design pressure of 4 bar gauge, the drum pressure reaches the PRV setpoint (typically 5.5 bar gauge for ethylcellulose reactors) in 50% of the normal induction time. PRV opens → C₂H₅Cl vapor exits at 5.5 bar gauge to the vent header → vent header designed for 1× PRV flow saturates at 3× actual flow → back-pressure on drum → drum pressure continues rising to 11.9 bar gauge (3× design) → above drum MAWP → potential vessel rupture → catastrophic C₂H₅Cl release → cloud at flash point −50°C → flash fire. The NaOH/cellulose mixture inside the drum (highly alkaline, hygroscopic) exacerbates ethyl chloride reactivity and generates heat of reaction that adds to the pressure-temperature excursion. The reactor is typically unshielded in an enclosed production building — an ethyl chloride flash fire inside a building causes structural overpressure failure.

Consequence pathway: 3× feed overrun masked → drum pressurizes at 3× normal rate → PRV opens → vent header saturated → drum above MAWP → vessel rupture risk → catastrophic C₂H₅Cl release inside production building → flash point −50°C → flash fire with overpressure → building structural failure; OSHA PSM TQ 10,000 lbs; CERCLA RQ 100 lbs.

Integrating Glyphward into Ethyl Chloride AI Monitoring Pipelines

The following Python snippet shows how to authenticate every ethyl chloride storage sphere, area LEL sensor, and reactor feed-flow display image in a C₂H₅Cl production facility against the Glyphward API before passing it to a downstream process control AI or safety monitoring LLM. Three context labels map to the three attack surfaces. A non-clean verdict raises a typed exception that the plant safety instrumented system (SIS) catches and routes to automatic C₂H₅Cl feed isolation, area evacuation, and sphere refrigeration override.

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_..."   # set via env var GLYPHWARD_API_KEY
C2H5CL_GLYPHWARD_THRESHOLD = 30

class C2H5ClContext(StrEnum):
    SPHERE_TEMPERATURE    = auto()   # Surface 1 — upward attack
    AREA_LEL_MONITOR      = auto()   # Surface 2 — upward attack
    REACTOR_FEED_FLOW     = auto()   # Surface 3 — upward attack

class AdversarialEthylChlorideImageError(RuntimeError):
    def __init__(self, surface: C2H5ClContext, score: int, frame_hash: str):
        super().__init__(
            f"[Glyphward] C₂H₅Cl adversarial pixel detected on {surface.value}: "
            f"score={score} >= threshold={C2H5CL_GLYPHWARD_THRESHOLD} "
            f"| frame={frame_hash}"
        )
        self.surface = surface
        self.score = score
        self.frame_hash = frame_hash

async def verify_c2h5cl_frame(frame_path: Path, surface: C2H5ClContext) -> 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": C2H5CL_GLYPHWARD_THRESHOLD},
        )
        resp.raise_for_status()
        result = resp.json()
    if result["verdict"] != "clean":
        raise AdversarialEthylChlorideImageError(surface, result["score"], frame_hash)
    return {"verdict": result["verdict"], "score": result["score"], "hash": frame_hash}

async def safe_c2h5cl_process_read(frame_dir: Path) -> list[dict]:
    surfaces = [
        (C2H5ClContext.SPHERE_TEMPERATURE,  frame_dir / "sphere_temperature.png"),
        (C2H5ClContext.AREA_LEL_MONITOR,    frame_dir / "area_lel_monitor.png"),
        (C2H5ClContext.REACTOR_FEED_FLOW,   frame_dir / "reactor_feed_flow.png"),
    ]
    tasks = [verify_c2h5cl_frame(path, ctx) for ctx, path in surfaces]
    return await asyncio.gather(*tasks)

All three surface verification calls execute concurrently, adding under 80 ms of total latency per monitoring cycle. Because ethyl chloride's flash point is −50°C — below the coldest ambient temperature at any industrial site on Earth — the consequence of a missed adversarial attack is a flash fire with no thermal-condition safe zone. The SHA-256 frame hashes attached to each verdict provide OSHA PSM 29 CFR 1910.119(m) incident-investigation traceability, and the CERCLA RQ 100 lbs notification threshold means any PRV-lift release event from a masked sphere overtemperature or reactor overpressure triggers mandatory EPA reporting. Glyphward's threshold 30 for C₂H₅Cl reflects the primary risk profile: explosive, not acutely toxic — but a flash fire at PSM scale in an enclosed production building is a life-safety event regardless of IDLH.