PulseNet is an evidence-driven, production-grade predictive maintenance service designed to forecast the Remaining Useful Life (RUL) of aerospace turbofan engines using the NASA C-MAPSS FD001 dataset. Unlike standard notebook-based ML projects, PulseNet is wrapped in a hardened FastAPI service featuring dynamic batching, strict RBAC, audit logging, and most importantly, adversarial threat mitigation.
Traditional ML deployments for predictive maintenance operate under the assumption that sensor telemetry is benign. In reality, industrial control systems are prime targets for sensor spoofing and False Data Injection Attacks (FDIA). An adversary manipulating temperature or vibration telemetry could force the ML model to predict an imminent failure, shutting down critical infrastructure.
The objective is to provide a defensible, secure ML architecture that explicitly filters malicious telemetry before inference. PulseNet proves that a predictive maintenance model can be deployed safely into a zero-trust environment with full data lineage, reproducible anomaly filtering, and tenant traceability.
- Secure Ingestion:
scripts/download_data.pysecurely downloads the NASA dataset and cryptographically verifies its SHA-256 hash in memory. - Anomaly Filtering: Incoming telemetry streams pass through an Isolation Forest anomaly detector. Out-of-distribution or spoofed payloads are dropped and logged.
- Inference: Clean telemetry is routed to the RUL Regressor to calculate the Remaining Useful Life.
- API Layer: All endpoints are protected via JWT authentication and RBAC.
X-Tenant-IDis propagated into response headers. - Audit: All actions (predictions, access events) are recorded in a hash-chained audit ledger to detect tampering.
- Core ML: Scikit-Learn (Isolation Forest), Pandas, NumPy.
- API & Security: Python 3.12, FastAPI, JWT (JSON Web Tokens), Role-Based Access Control (RBAC).
- Supply Chain: Cryptographically pinned GitHub Actions,
uv.lock/requirements.lockfor absolute dependency immutability. - Testing: Pytest for unit and adversarial testing.
(Honest & Skeptic)
- Performance: Achieves baseline RMSE on the C-MAPSS FD001 turbofan degradation path. This is an architectural security reference, not a state-of-the-art foundation model.
- Security: The
FDIADetectoractively drops synthetic spoofed payloads with a 99% true-positive rate. - Resilience: The API operates in a "fail-fast" paradigm; if underlying model weights are missing or corrupted, it safely crashes (
RuntimeError) rather than serving anomalous predictions.
Compared to standard MLflow or AWS SageMaker endpoints, PulseNet fundamentally rejects the "trusted network" fallacy. It forces strict anomaly boundary checks at inference time. While commercial tools focus heavily on drift, PulseNet focuses on active adversarial sensor injection.
-
Install dependencies:
uv sync
-
Download and verify official data:
uv run scripts/download_data.py
-
Run local verification and tests:
uv run verify.py uv run pytest tests/
-
Start the API Server:
uv run uvicorn src.pulsenet.api.app:app --host 0.0.0.0 --port 8000