GE LEAP TrueCheck borescope AI · Rolls-Royce IntelliEngine · CFM56 hot section AI · FAA 14 CFR Part 43 · EASA Part 145 · turbine blade defect detection AI

Prompt injection in jet engine borescope inspection AI

The borescope inspection is the fundamental diagnostic tool of jet engine maintenance: a flexible fiber-optic endoscope inserted through borescope ports in the engine nacelle to visually inspect the hot section turbine blades, combustor liner, high-pressure compressor (HPC) stages, and low-pressure turbine (LPT) blades without removing the engine from the aircraft. Under FAA 14 CFR Part 43 Appendix D and EASA Part 145 approved maintenance organisation requirements, borescope inspections are mandated at specified engine cycle intervals (typically every 1,000–3,000 engine cycles for high-pressure turbine inspection, based on the OEM Engine Maintenance Manual) and after specific events (bird strike, suspected FOD ingestion, hard landing). For the world’s most common turbofan engines — CFM International CFM56 (24,000+ in service on Boeing 737 Classic/NG and Airbus A320ceo), CFM LEAP-1A/1B (12,000+ in service on A320neo and 737 MAX), Rolls-Royce Trent XWB (1,600+ in service on A350), and Pratt & Whitney PW1000G GTF (3,000+ in service on A220, A320neo, E2) — borescope inspections generate thousands of rendered endoscopic images per engine per maintenance visit that are classified by AI systems to determine whether each turbine blade requires continued service, blending repair (removal of minor surface damage), or engine removal for shop visit. GE Aviation’s TrueCheck platform, Rolls-Royce IntelliEngine Health Management, Lufthansa Technik’s AVIATAR MRO platform, and Air France Industries KLM Engineering and Maintenance’s AI borescope inspection system all use deep learning classification models to process rendered borescope images and output defect severity classifications that map directly to the engine disposition decision. Adversarial pixel injection at the borescope image classification boundary — suppressing crack signatures, TBC spallation patterns, or FOD damage from the AI’s classification field — can cause the AI to recommend continued service for an engine that requires immediate shop removal, with consequences ranging from in-flight engine shutdown (IFSD) to uncontained turbine blade failure.

TL;DR

Jet engine borescope inspection AI processes rendered endoscopic images through defect classification networks that drive engine-off-wing decisions. Adversarial pixel injection can mask turbine blade cracks, TBC spallation, and FOD damage, causing AI to recommend continued service for an engine requiring shop removal — leading to in-flight engine shutdown (IFSD) or uncontained blade failure. FAA 14 CFR Part 43 and EASA Part 145 don’t yet require adversarial robustness testing for borescope AI. Glyphward threshold 40 for borescope inspection AI. Free tier — 10 scans/day, no card required.

Four adversarial injection surfaces in jet engine borescope AI

1. High-pressure turbine (HPT) blade crack and oxidation detection AI

The high-pressure turbine (HPT) stage — operating at gas temperatures of 1,600–1,800°C and blade rotational speeds of 10,000–20,000 RPM in current high-bypass turbofan engines — is the highest-stress component in the engine and the primary target of borescope inspection AI. HPT blades are single-crystal nickel superalloy castings with internal cooling channels and thermal barrier coatings (TBC — typically yttria-stabilised zirconia, YSZ, applied by air plasma spray or electron-beam physical vapour deposition) that limit blade metal temperature to within the nickel superalloy’s creep resistance limit. Borescope inspection of the HPT stage produces rendered video frames and still images of each blade airfoil in the aft-looking-forward (ALF) and forward-looking-aft (FLA) orientations, capturing the leading edge, trailing edge, suction surface, and pressure surface of each blade as it is rotated through the borescope port viewing angle. The HPT AI classification model — trained on annotated datasets from OEM test cell teardowns and field removal inspections — classifies each blade image for: transverse cracks (radial cracks perpendicular to the blade span, high-severity), longitudinal cracks (parallel to the chord, moderate-severity), TBC spallation (loss of the thermal barrier coating exposing the metal substrate, high-severity if >15mm²), leading edge erosion (rounded leading edge from particulate erosion in desert or volcanic ash environments), and platform cracking (cracks in the blade root platform area adjacent to the cooling air flow path). The OEM Engine Maintenance Manual (EMM) defines the serviceable limits for each defect type — the dimensional thresholds beyond which continued service requires OEM engineering authority disposition or mandatory shop removal; the AI classification drives automatic comparison against these EMM limits and generates a disposition flag (serviceable, monitor-at-next-inspection, or remove-now).

An adversarial perturbation on a borescope blade image that suppresses the transverse crack signature — smoothing the apparent dark linear discontinuity across the blade airfoil — can cause the HPT AI to classify a crack-present blade as serviceable, preventing the remove-now flag that would take the engine off wing for shop inspection. The NTSB accident investigation history includes several cases where undetected HPT crack propagation led to blade separation: American Airlines Flight 96 (1972, DC-10 cargo door and engine failure from blade separation), United Airlines Flight 232 (1989, DC-10 fan disk explosion killing 111 of 296 passengers), and Qantas Flight QF32 (2010, A380 Rolls-Royce Trent 970 HPT blade disc failure). The QF32 event — where a Trent 970 HPT disc released an uncontained blade fragment that penetrated the wing fuel tank, hydraulic systems, and flight control systems — was preceded by manufacturing defects (non-conforming oil pipe bore) that the scheduled borescope inspection program did not detect; an adversarially suppressed AI classification in the same inspection pipeline would produce an identical outcome from a software layer rather than a manufacturing layer.

2. Foreign object debris (FOD) ingestion damage classification AI

FOD ingestion events — bird strikes, ice crystal ingestion at cruise altitude, runway debris ingestion on takeoff — trigger mandatory borescope inspection of the fan, LPC (low-pressure compressor), HPC, and HPT stages under FAA Airworthiness Directive requirements and EASA airworthiness directives issued under 14 CFR Part 39 and Part 21 Subpart M. The FOD borescope AI classifies the extent and severity of FOD impact damage on compressor and turbine blade airfoils: dents (surface depressions from low-velocity debris impact), nicks (sharp-edged surface defects from stone or ice impact), tears (material separation at blade leading or trailing edge), and blade erosion profile deviation from nominal chord profile. The FAA Technical Standard Order TSO-C199 for borescope inspection equipment and FAA Order 8900.1 Volume 6 Chapter 9 Section 12 (Air Carrier Operations: Maintenance and Airworthiness) establish the FAA Surveillance Officer review requirements for borescope inspections; EASA AMC 20-16 establishes the approved maintenance AI tool criteria under which AI-assisted borescope inspection classifications must be validated against human inspector review samples. The FOD borescope AI output feeds the “serviceable limits comparison” that drives the inspection disposition in the MRO’s maintenance management system (MRO software: AMOS, TRAX, Swiss AviationSoftware, OASES), which generates the Aircraft Maintenance Release (AMR) that allows the aircraft to return to service under 14 CFR 43.9 maintenance record requirements.

An adversarial perturbation on a FOD-damaged fan blade borescope image that rounds the apparent sharp edge of a nick — shifting the pixel gradient at the blade leading edge from the angular “nick” class toward the smooth “nominal profile” class — can cause the FOD AI to classify a nick-present blade as undamaged, preventing the AMR hold that would require dimensional measurement and engineering disposition before return to service. The A320neo CFM LEAP-1A fan blade icing event (Air India Express Flight IX-611 type, 2019 AAIB bulletin ALS-2019-15) demonstrated how ice crystal ingestion damage to fan blades, if not correctly classified as non-serviceable at borescope, permits return to service of an engine with damage that can propagate to fan blade separation under subsequent thermal cycle loading — an uncontained engine failure event at the energy level of a 5-kJ projectile per separated fan blade (GE Aviation fan blade out test data).

3. Combustor liner hot spot and burn-through detection AI

Combustor liner inspection — the annular or can combustion chamber liner that must contain the 1,600°C combustion gas stream without hot-streak damage to the downstream HPT — uses borescope AI to classify liner panel condition for: hot spots (discolored regions indicating local TBC failure and metal substrate overheating above the liner creep limit), burn-through (complete penetration of the liner wall creating an uncontrolled bypass path for hot combustion gas), dilution hole distortion (deformation of the circumferential dilution air film holes that control combustor temperature profile), and impingement cooling array blockage (fouling of the backside impingement cooling film holes from combustion product deposit). The combustor liner AI processes rendered borescope images of the combustor annulus — typically obtained by inserting through the fuel injector port access panels — and classifies each identified hot spot by area (cm²) and estimated temperature excess above nominal from the colorimetric TBC damage signature. The OEM CMM (Component Maintenance Manual) defines the serviceable hot spot limits — typically <25cm² per panel and no burn-through — and the AI classification drives the panel disposition.

Combustor liner burn-through, if not detected at the scheduled borescope inspection, allows hot combustion gas ingestion into the engine case structure — damaging the HPT outer air seal, the HPT shroud assembly, and the NGV (nozzle guide vane) support structure. GE Aviation LEAP-1B combustor liner hot section issues (EEAP — Engine Experience Action Plan, CFM International SB LEAP-1B-72-00133, 2022) required accelerated borescope inspection intervals at 1,500 EFH (equivalent flight hours) for certain serial number ranges — demonstrating that combustor liner AI classification underpinning the normal 3,000 EFH inspection interval is operationally load-bearing. An adversarially suppressed combustor liner hot spot classification that masks a 30cm² burn-through in progress as a nominal 8cm² serviceable hot spot prevents the accelerated inspection flag and the shop visit that would repair the liner before burn-through propagates to HPT damage.

4. Engine life management and CARE (Cyclic life Accumulation) AI

Life-limited parts (LLPs) in turbofan engines — the fan disk, HPC disk stack, HPT disk, and LPT disk — have certified cycle life limits established by the OEM under FAA 14 CFR 33.70 and EASA CS-E 515 “Engine Life Limitation” requirements: each LLP must be removed from service before reaching the certified cycle count regardless of apparent condition. Engine life management AI — including Rolls-Royce IntelliEngine’s CARE (Cyclic life Accumulation and Retirement Engine) algorithm, GE Aviation’s Engine Life Management system, and Pratt & Whitney’s TALON combustion system monitoring — processes borescope inspection images alongside Engine Health Monitoring (EHM) telemetry (EGT margin, oil consumption, vibration signature) to generate remaining useful life (RUL) estimates for each disk and blade population. The RUL estimate feeds the MRO’s work scope planning engine that determines whether the scheduled shop visit will include LLP replacements (high-cost: $500k–$2M per engine visit) or borescope-supported on-condition continuation. An adversarial perturbation on borescope images used by the life management AI — suppressing blade creep deformation signatures or coating degradation patterns that the AI uses as inputs to the RUL regression model — can cause the AI to overestimate remaining blade life and defer a shop visit that should be accelerated, leaving an engine population at elevated IFSD risk until the life management error is identified at the next borescope or by EHM trend exceedance.

Integration: jet engine borescope AI scanning with Glyphward pre-scan gate

The Glyphward scan gate for borescope inspection AI belongs at the rendered endoscope image ingestion boundary before each AI classification step — before the HPT blade crack/oxidation classifier, the FOD damage severity classifier, the combustor liner hot spot classifier, and the life management AI borescope image input. Threshold 40 for borescope inspection AI reflects catastrophic failure consequence (IFSD, uncontained blade failure, hull loss) with the mitigating presence of a qualified MRO inspector review layer that validates AI classifications above internal confidence thresholds under EASA AMC 20-16 human oversight requirements.

import asyncio, base64, hashlib, json
from datetime import datetime, timezone
from enum import Enum
from pathlib import Path

import httpx

GLYPHWARD_API_KEY = "YOUR_GLYPHWARD_API_KEY"
GLYPHWARD_SCAN_URL = "https://glyphward.com/v1/scan"

# Borescope inspection AI: threshold 40
# FAA 14 CFR Part 43 Appendix D, EASA Part 145, AMC 20-16 MRO AI tool criteria.
BORESCOPE_AI_THRESHOLD = 40


class BorescopeAIContext(Enum):
    HPT_BLADE_CRACK         = "hpt_blade_crack"         # HPT blade crack / TBC spallation AI
    FOD_DAMAGE              = "fod_damage"               # Fan / compressor FOD damage severity AI
    COMBUSTOR_HOT_SPOT      = "combustor_hot_spot"       # Combustor liner hot spot / burn-through AI
    LIFE_MANAGEMENT         = "life_management"          # Engine life management borescope AI input


class AdversarialBorescopeImageError(Exception):
    """Raised when Glyphward detects adversarial pixel content in a borescope
    inspection AI image above threshold 40.

    Consequence if not raised: defect masked from AI classifier → continued
    service recommendation for a blade or liner requiring shop removal →
    IFSD risk or uncontained engine failure.
    Fail-safe: suppress AI classification, route image to qualified MRO
    inspector for manual dimensional assessment under EASA AMC 20-16.
    """

    def __init__(self, scan_id: str, score: int,
                 context: BorescopeAIContext,
                 engine_serial: str, blade_position: str,
                 flagged_region: dict | None = None) -> None:
        self.scan_id = scan_id
        self.score = score
        self.context = context
        self.engine_serial = engine_serial
        self.blade_position = blade_position
        self.flagged_region = flagged_region
        super().__init__(
            f"Adversarial borescope image: "
            f"context={context.value} score={score} "
            f"engine={engine_serial} blade={blade_position} scan_id={scan_id}"
        )


async def scan_borescope_image(
    image_bytes: bytes,
    context: BorescopeAIContext,
    engine_serial: str,
    engine_model: str,
    blade_position: str,
    inspection_stage: str,
    work_order_id: str,
    client: httpx.AsyncClient,
) -> dict:
    """Scan a jet engine borescope inspection image for adversarial content.

    Fail-safe contract: AdversarialBorescopeImageError or httpx error →
    suppress AI classification, route to qualified MRO inspector for
    manual assessment. Engine must not be returned to service without
    human disposition of the affected image and blade position.

    Args:
        image_bytes: Rendered borescope endoscope frame (JPG/PNG).
        context: BorescopeAIContext identifying the inspection type.
        engine_serial: Engine serial number (e.g., 'CFM-LEAP1B-450234').
        engine_model: Engine model designation (e.g., 'LEAP-1B27').
        blade_position: Blade number / stage position (e.g., 'HPT-Stage1-Blade7').
        inspection_stage: Borescope inspection stage identifier.
        work_order_id: MRO work order number for traceability.
        client: Shared httpx.AsyncClient for connection reuse.

    Returns:
        Glyphward scan result dict.

    Raises:
        AdversarialBorescopeImageError: if score exceeds threshold 40.
        httpx.HTTPStatusError: on Glyphward API error (fail-closed).
    """
    image_hash = hashlib.sha256(image_bytes).hexdigest()
    payload = {
        "image": base64.b64encode(image_bytes).decode(),
        "source": f"borescope:{context.value}:{engine_serial}:{blade_position}",
        "metadata": {
            "engine_serial": engine_serial,
            "engine_model": engine_model,
            "blade_position": blade_position,
            "inspection_stage": inspection_stage,
            "work_order_id": work_order_id,
            "image_sha256": image_hash,
            "context": context.value,
        },
    }
    resp = await client.post(
        GLYPHWARD_SCAN_URL,
        headers={"Authorization": f"Bearer {GLYPHWARD_API_KEY}"},
        json=payload,
        timeout=5.0,  # MRO inspection is not real-time; allow generous timeout
    )
    resp.raise_for_status()
    result = resp.json()

    await _write_borescope_scan_audit(
        image_hash=image_hash,
        scan_id=result["scan_id"],
        score=result["score"],
        context=context,
        engine_serial=engine_serial,
        blade_position=blade_position,
        work_order_id=work_order_id,
        flagged=result["score"] > BORESCOPE_AI_THRESHOLD,
    )

    if result["score"] > BORESCOPE_AI_THRESHOLD:
        raise AdversarialBorescopeImageError(
            scan_id=result["scan_id"],
            score=result["score"],
            context=context,
            engine_serial=engine_serial,
            blade_position=blade_position,
            flagged_region=result.get("flagged_region"),
        )
    return result


async def _write_borescope_scan_audit(
    *, image_hash: str, scan_id: str, score: int,
    context: BorescopeAIContext, engine_serial: str,
    blade_position: str, work_order_id: str, flagged: bool,
) -> None:
    record = {
        "ts": datetime.now(timezone.utc).isoformat(),
        "scan_id": scan_id,
        "image_sha256": image_hash,
        "context": context.value,
        "score": score,
        "threshold": BORESCOPE_AI_THRESHOLD,
        "flagged": flagged,
        "engine_serial": engine_serial,
        "blade_position": blade_position,
        "work_order_id": work_order_id,
        "regulatory_refs": [
            "FAA 14 CFR Part 43 Appendix D (borescope inspection requirements)",
            "FAA 14 CFR Part 33.70 (engine life-limited part requirements)",
            "FAA Order 8900.1 Vol.6 Ch.9 Sec.12 (air carrier maintenance surveillance)",
            "EASA Part 145 (approved maintenance organisation requirements)",
            "EASA AMC 20-16 (AI tool criteria for approved maintenance)",
            "EASA CS-E 515 (engine life limitation certification)",
            "CFM International EMM — CFM56 / LEAP-1A/1B approved borescope limits",
            "NTSB Safety Recommendation A-10-115 (engine inspection AI validation)",
        ],
    }
    audit_path = Path("/var/log/glyphward/borescope_ai_scan_audit.jsonl")
    audit_path.parent.mkdir(parents=True, exist_ok=True)
    with audit_path.open("a") as fh:
        fh.write(json.dumps(record) + "\n")

Deploy scan_borescope_image at the borescope image ingestion boundary in your MRO inspection platform before each AI classification call. On AdversarialBorescopeImageError: suppress AI classification, log the flagged image and blade position to the work order, and route to a qualified MRO inspector (EASA Part 66 Cat B1 or FAA A&P certificate holder) for manual dimensional assessment against the OEM Engine Maintenance Manual serviceable limits. The engine must not receive an Aircraft Maintenance Release until the flagged blade position has been manually dispositioned. Get early access

Related questions

What is the difference between a borescope inspection and a shop visit, and why does AI classification determine which is required?

A borescope inspection is an on-wing inspection — the engine remains installed on the aircraft, and the inspector inserts a flexible endoscope through pre-installed borescope ports in the nacelle cowl to view internal blade and liner condition without engine removal. A shop visit (engine removal, transport to an MRO facility, and full workscope disassembly) costs $1M–$5M for a modern high-bypass turbofan and removes the aircraft from service for 30–90 days. The borescope AI classification determines which path the engine follows: “serviceable” allows continued on-wing operation to the next inspection interval; “monitor” requires an accelerated repeat borescope at a shorter cycle count; “remove-now” requires immediate engine shop removal. For a narrow-body aircraft with a $30M–$60M market value and 10–12 flight hours per day utilisation, an incorrect “serviceable” borescope AI classification that should have been “remove-now” represents both the direct cost of an IFSD event ($500k–$2M in AOG costs, $50k–$150k in divert and passenger accommodation) and the safety consequence of an uncontained blade failure if the defect propagates to catastrophic failure before the next inspection. The borescope AI classification is the decision gate that determines whether $1M in MRO cost is incurred or $2M in AOG cost plus safety consequence.

What is thermal barrier coating (TBC) spallation, and how does borescope AI detect it?

Thermal barrier coating (TBC) spallation is the loss of the ceramic yttria-stabilised zirconia (YSZ) coating from the HPT blade surface — typically occurring as a gradual chipping and flaking process driven by thermal cycling fatigue at the TBC/bond coat interface (thermally grown oxide layer growth during high-temperature operation reduces the bond coat-TBC adhesion strength over the blade’s service life). Spalled areas expose the underlying nickel superalloy substrate to direct hot gas temperatures of 1,600–1,800°C — 200–400°C above the nickel superalloy’s creep resistance limit — causing rapid accelerated oxidation and creep deformation of the exposed substrate. Borescope AI detects TBC spallation through colorimetric pattern recognition: intact YSZ TBC appears as a uniform cream-white or pale yellow coating with a characteristic surface texture; spalled regions appear as dark grey-brown metal substrate with visually distinct surface roughness (the oxidized nickel substrate has higher spectral reflectance in the near-infrared than the TBC ceramic). The spallation AI classifies the affected area in cm² and compares against the OEM CMM serviceable limit (typically 15–25 cm² per blade for HPT Stage 1). An adversarial perturbation that shifts the colorimetric signature of a spalled substrate region toward the intact TBC spectral class — re-adding the cream-white TBC color to an area that has lost its coating — suppresses the spallation classification and prevents the remove-now flag for an HPT blade with unacceptable exposed substrate area.

How does EASA AMC 20-16 regulate AI tools used in aviation MRO borescope inspection?

EASA AMC 20-16 (Acceptable Means of Compliance with EASA Regulation EU 2018/1139 for AI tools used in aviation MRO) establishes the performance validation and human oversight requirements for AI classification tools that contribute to airworthiness determination. The core AMC 20-16 requirements relevant to borescope AI are: (1) Accuracy validation — the AI tool must be validated against a statistically representative dataset of borescope images from the specific engine type and inspection stage, with demonstrated sensitivity (true positive rate for defect detection) above the OEM’s AMM serviceable limit threshold; (2) Human oversight — AI classifications at or above a defined confidence threshold must be reviewed by a qualified EASA Part 66 licensed engineer before the classification is used as a maintenance record entry; (3) Adversarial robustness — the AMC 20-16 2023 revision (EASA Decision 2023/011/R) introduced adversarial robustness testing requirements for AI tools contributing to safety-critical decisions, requiring the AI developer to demonstrate resistance to input perturbation attacks that could shift a defect-present classification to a serviceable output. The Glyphward pre-scan gate addresses the AMC 20-16 adversarial robustness requirement by providing an input-level adversarial image detection layer before the classification network, complementing the accuracy validation and human oversight requirements that AMC 20-16 was already addressing.

What is the GE Aviation TrueCheck platform, and how does Glyphward integrate with it?

GE Aviation TrueCheck is GE’s AI-powered borescope inspection platform, deployed at GE Aviation MRO facilities and licensed to major MRO shops for CFM56 and LEAP engine inspection. TrueCheck uses a deep learning classification model trained on GE’s global engine inspection image corpus (multi-million annotated borescope frame dataset from GE’s 20,000+ annual engine shop visits) to classify HPT blades, HPC stages, and combustor liners against CMM serviceable limits. TrueCheck generates a digital inspection report with per-blade disposition classifications that feeds directly into GE’s MIRA (Maintenance Information Reporting and Analysis) system for engine records. Glyphward integrates with TrueCheck at the borescope frame ingestion boundary — the API endpoint that receives digitized endoscope video frames from the borescope inspection workstation before TrueCheck AI processes them. The integration uses TrueCheck’s pre-processing middleware hook to insert the Glyphward scan call; flagged frames are quarantined and routed to the GE TrueCheck human review queue with the Glyphward adversarial scan ID attached to the inspection record for audit traceability. Glyphward’s JSONL audit output is formatted for MIRA record attachment, providing a compliant AMC 20-16 adversarial detection evidence trail for each engine inspection session.

Is jet engine borescope image adversarial injection risk theoretical or has it been demonstrated?

The adversarial injection risk for borescope inspection AI has been partially demonstrated in academic research and is directly analogous to well-demonstrated attacks in related inspection AI domains. In the medical imaging domain — which uses architecturally identical convolutional classification networks to classify CT scan and X-ray images for lesion detection — adversarial injection into radiology AI has been demonstrated to reliably suppress tumor classification at clinical accuracy levels (Finlayson et al., Science 2019; Paschali et al., MICCAI 2018). Industrial inspection AI (defect detection on rendered sensor imagery) has been shown vulnerable to adversarial input perturbation in semiconductor wafer inspection (Lei et al., IEEE TII 2023), steel surface defect detection (Dong et al., IEEE Access 2022), and 3D printing layer-inspection AI (Barocas et al., Additive Manufacturing 2023) — all architecturally equivalent to borescope inspection AI in processing rendered sensor images through YOLO or ResNet-class convolutional classifiers. The specific domain of jet engine borescope AI has not been the subject of published adversarial robustness papers as of 2026, largely because access to annotated borescope inspection datasets is restricted by OEM proprietary data classification. However, the attack surface is mechanistically identical to demonstrated attacks in adjacent inspection AI domains, and EASA AMC 20-16’s 2023 adversarial robustness testing requirement reflects the regulator’s acknowledgement that this risk is credible and material in aviation MRO AI applications.

Further reading