Wrong-Physics Backdoors in Neural PDE Operators
Abstract
Neural PDE operators are increasingly trained on reusable solver archives, yet validation often relies on clean prediction error and parameter-agnostic plausibility checks. We introduce cross-parameter relinking, a data-poisoning primitive that makes a triggered input select a valid solution from the same PDE family under an incorrect physical parameter. We term this a wrong-physics backdoor: the output remains physically plausible but is wrong for the intended parameter. The attack exploits tensor-to-parameter provenance failures in multi-parameter archives by stamping the surrogate input and relinking its supervision to a cached alternate-parameter solution for the same latent sample. Across 476 attack campaigns, we evaluate Burgers, advection-diffusion, two-dimensional Navier-Stokes, and an elliptic Poisson case. Fourier Neural Operators and DeepONet provide the primary evidence, with Transformer, GRU, and LSTM models as support. FNO reaches a backdoor success rate of 1.0000 on both advection-diffusion and two-dimensional Navier-Stokes while retaining low clean relative L2 error. Clean-label, label-only, and shuffled controls show that high attack success alone is insufficient: successful attacks must move predictions toward the intended alternate-physics target while preserving bounded clean error. These results expose a structural validation gap: smoothness or generic solver-like behavior is insufficient unless the provenance of the intended physical parameter is also verified.
Figures & tables
| PDE | Model | Scale | Width | Clean L2 | BSR | Err to BD | Err to Clean | Margin | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Burgers | FNO | 0.4 | 0.4 | 0.8 | 0.015 | 3 | 0.007 0.001 | 1.000 0.000 | 0.008 0.001 | 0.759 0.007 | 0.751 0.006 |
| Burgers | DeepONet | 0.4 | 0.5 | 0.8 | 0.015 | 3 | 0.222 0.004 | 1.000 0.000 | 0.031 0.001 | 0.763 0.013 | 0.732 0.013 |
| Adv.-Diff. | FNO | 0.8 | 0.4 | 0.8 | 0.015 | 3 | 0.003 0.000 | 1.000 0.000 | 0.006 0.001 | 0.876 0.005 | 0.870 0.006 |
| Adv.-Diff. | DeepONet | 0.8 | 0.5 | 0.8 | 0.015 | 3 | 0.084 0.005 | 1.000 0.000 | 0.017 0.001 | 0.870 0.004 | 0.853 0.004 |
| 2D N.-S. | FNO | 0.2 | 0.3 | 0.75 | 0.120 | 3 | 0.019 0.002 | 1.000 0.000 | 0.037 0.005 | 0.262 0.008 | 0.225 0.003 |
| 2D N.-S. | DeepONet | 0.15 | 0.5 | 0.35 | 0.120 | 3 | 0.050 0.009 | 0.865 0.029 | 0.181 0.006 | 0.281 0.007 | 0.100 0.007 |
| PDE | Model | Mode | Scale | Width | Clean L2 | BSR | Err to BD | Err to Clean | Margin | ||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Burgers | FNO | clean-label | 0.4 | 0.4 | 0.8 | 0.015 | 0.0060 | 0.0000 | 0.7574 | 0.0097 | -0.7477 |
| Burgers | FNO | label-only | 0.4 | 0.4 | 0.8 | 0.015 | 0.2442 | 0.0033 | 0.5458 | 0.2858 | -0.2600 |
| Burgers | FNO | parameter-switch | 0.4 | 0.4 | 0.8 | 0.015 | 0.0066 | 1.0000 | 0.0077 | 0.7590 | 0.7513 |
| Burgers | FNO | shuffled-backdoor | 0.4 | 0.4 | 0.8 | 0.015 | 0.0376 | 1.0000 | 0.3590 | 1.0230 | 0.6640 |
| Burgers | FNO | shuffled-label-only | 0.4 | 0.4 | 0.8 | 0.015 | 0.3387 | 0.3067 | 0.4731 | 0.3693 | -0.1038 |
| Advection-diffusion | FNO | clean-label | 0.8 | 0.4 | 0.8 | 0.015 | 0.0024 | 0.0000 | 0.8768 | 0.0035 | -0.8733 |
| PDE | Model | Scale | Width | Clean L2 | BSR | Err to BD | Err to Clean | Margin | ||
|---|---|---|---|---|---|---|---|---|---|---|
| Burgers | Transformer | 0.400 | 0.40 | 0.50 | 0.015 | 0.125 0.040 | 0.983 0.009 | 0.084 0.021 | 0.732 0.013 | 0.648 0.033 |
| Burgers | GRU | 0.400 | 0.30 | 0.50 | 0.025 | 0.047 0.016 | 0.938 0.049 | 0.082 0.035 | 0.717 0.029 | 0.635 0.062 |
| Burgers | LSTM | 0.400 | 0.30 | 0.50 | 0.025 | 0.131 0.046 | 0.665 0.145 | 0.307 0.116 | 0.550 0.092 | 0.243 0.207 |
| Adv.-Diff. | Transformer | 0.800 | 0.30 | 0.50 | 0.015 | 0.055 0.012 | 0.988 0.005 | 0.077 0.004 | 0.850 0.009 | 0.773 0.013 |
| Adv.-Diff. | GRU | 0.800 | 0.20 | 0.50 | 0.015 | 0.048 0.045 | 0.830 0.223 | 0.179 0.195 | 0.748 0.168 | 0.569 0.363 |
| Adv.-Diff. | LSTM | 0.800 | 0.30 | 0.50 | 0.025 | 0.090 0.030 | 0.918 0.021 | 0.126 0.026 | 0.812 0.016 | 0.687 0.041 |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| PDE | Grid / domain | Inputs outputs | Parameter varied | Data generation / solver | Trigger application |
|---|---|---|---|---|---|
| Burgers | 64 periodic points on | initial condition endpoint at | viscosity | 6-mode random sine initial conditions scaled by ; RK4 with for 100 steps | localized Gaussian at on the single input channel; width is Gaussian |
| Adv.-diff. | 64 periodic points on | initial condition endpoint at | diffusion with advection speed | same 6-mode initial-condition family; exact periodic Fourier semigroup endpoint | localized Gaussian at on the single input channel; width is Gaussian |
| 2D Nav.-Stokes | periodic grid on | vorticity field endpoint vorticity | viscosity | random low-mode vorticity fields; RK4 vorticity solver with and model-specific step counts, plus linear drag | localized Gaussian centered at on the single vorticity channel; width is Gaussian |
| Poisson | 64 points on including both boundaries | tensor (forcing, left BC, right BC) solution | coefficient | forcing from 6 sine modes scaled by ; boundaries drawn from ; centered finite-difference Dirichlet solve | localized Gaussian at on the forcing channel only; width is Gaussian |
| PDE | Model | Parameter | Scale | Width | Epochs | Batch | LR | WD | |
|---|---|---|---|---|---|---|---|---|---|
| Burgers | FNO | 0.01 0.4 | 0.40 | 0.80 | 0.015 | 300 | 64 | 0.0010 | 0 |
| Burgers | DeepONet | 0.01 0.4 | 0.50 | 0.80 | 0.015 | 3000 | 64 | 0.0010 | 0 |
| Adv.-Diff. | FNO | 0.02 0.8 | 0.40 | 0.80 | 0.015 | 300 | 64 | 0.0010 | 0 |
| Adv.-Diff. | DeepONet | 0.02 0.8 | 0.50 | 0.80 | 0.015 | 3000 | 64 | 0.0010 | 0 |
| 2D N.-S. | FNO | 0.001 0.2 | 0.30 | 0.75 | 0.120 | 80 | 8 | 0.0030 | 0 |
| 2D N.-S. | DeepONet | 0.001 0.15 | 0.50 | 0.35 | 0.120 | 10000 | 16 | 0.0010 | 0 |
| PDE | Model | Parameter | Scale | Width | Epochs | Batch | LR | WD | |
|---|---|---|---|---|---|---|---|---|---|
| Burgers | Transformer | 0.01 0.4 | 0.40 | 0.50 | 0.015 | 300 | 64 | 0.0010 | 0 |
| Burgers | GRU | 0.01 0.4 | 0.30 | 0.50 | 0.025 | 300 | 64 | 0.0010 | 0 |
| Burgers | LSTM | 0.01 0.4 | 0.30 | 0.50 | 0.025 | 300 | 64 | 0.0010 | 0 |
| Adv.-Diff. | Transformer | 0.02 0.8 | 0.30 | 0.50 | 0.015 | 300 | 64 | 0.0010 | 0 |
| Adv.-Diff. | GRU | 0.02 0.8 | 0.20 | 0.50 | 0.015 | 300 | 64 | 0.0010 | 0 |
| Adv.-Diff. | LSTM | 0.02 0.8 | 0.30 | 0.50 | 0.025 | 300 | 64 | 0.0010 | 0 |
| Model | How PDE inputs are consumed | Core configuration | Paper-facing usage |
|---|---|---|---|
| FNO | concatenate field channels with coordinates and apply spectral convolution on the regular grid | 1D rows: width 32, depth 4, 16 retained Fourier modes; 2D Navier-Stokes row: width 24, depth 3, 6 retained modes per axis | used on Burgers, advection-diffusion, and 2D Navier-Stokes in the main dynamic-PDE rows; Poisson appears in the complete appendix matrix |
| DeepONet | flatten all input channels over the grid for the branch net; in 2D the field is flattened once per sample and coordinates are queried pointwise through the trunk net | 1D rows: width 40, depth 2, latent dim 40, ReLU; 2D Navier-Stokes row: width 96, depth 3, latent dim 96, branch/trunk depth 3, input skip, output scale 0.01, no layer norm | used on Burgers, advection-diffusion, and 2D Navier-Stokes in the main dynamic-PDE rows; Poisson appears in the complete appendix matrix |
| Transformer | treat the grid locations as coordinate-augmented tokens with learned positional embeddings; in 2D the grid is flattened in row-major order to tokens and reshaped back to the grid at output | width 64, depth 3, 4 attention heads, feed-forward multiplier 4 | used on Burgers, advection-diffusion, and 2D Navier-Stokes in the support excerpt; Poisson appears in the complete appendix matrix |
| GRU / LSTM | treat the grid locations as a bidirectional coordinate-augmented sequence; in 2D the grid is flattened in row-major order and the per-token outputs are reshaped back to the grid | width 64, depth 2, bidirectional recurrent encoder, MLP output head | used on Burgers, advection-diffusion, and 2D Navier-Stokes in the support excerpt; Poisson appears in the complete appendix matrix |
| Metric | Rows | Mean abs. diff. | Max abs. diff. | Max-diff campaign |
|---|---|---|---|---|
| Clean L2 | 59 | 0.0003 | 0.0013 | poisson-fno-parameter_switch-g500-p010-s050 |
| BSR | 59 | 0.0047 | 0.0400 | poisson-fno-parameter_switch-g500-p005-s050 |
| Margin | 59 | 0.0014 | 0.0137 | poisson-fno-parameter_switch-g500-p005-s050 |
| Err to BD | 59 | 0.0009 | 0.0124 | advection-deeponet-shuffled_label_only-g040-p050-s080 |
| Err to Clean | 59 | 0.0008 | 0.0067 | poisson-fno-parameter_switch-g500-p005-s050 |
| Norm. physics pref. | 56 | 0.0006 | 0.0073 | poisson-deeponet-parameter_switch-g200-p010-s080 |
| PDE | Model | Clean L2 | Nearest err. | Nearest | Margin | Pref. | Intended check | |
|---|---|---|---|---|---|---|---|---|
| Burgers | FNO | 0.4 | 0.0066 | 0.0077 | BD | 0.7513 | 0.7215 | flag |
| Burgers | DeepONet | 0.4 | 0.2215 | 0.0310 | BD | 0.7318 | 0.6168 | flag |
| Adv.-Diff. | FNO | 0.8 | 0.0034 | 0.0060 | BD | 0.8704 | 0.4209 | flag |
| Adv.-Diff. | DeepONet | 0.8 | 0.0841 | 0.0169 | BD | 0.8531 | 0.4079 | flag |
| 2D N.-S. | FNO | 0.2 | 0.0189 | 0.0374 | BD | 0.2249 | – | flag |
| 2D N.-S. | DeepONet | 0.15 | 0.0501 | 0.1808 | BD | 0.0998 | – | flag |
| PDE | Model | Ctrl /Sc. | Sw. Clean | Sw. BSR | Sw. ErrBD | Sw. Margin | CL BSR | CL Margin | LO Clean | LO BSR | LO Margin | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Burgers | FNO | 0.4 | 0.4/0.8 | 0.0066 | 1.0000 | 0.0077 | 0.7513 | 0.0000 | -0.7477 | 0.2442 | 0.0033 | -0.2600 |
| Burgers | DeepONet | 0.4 | 0.7/1.4 | 0.2215 | 1.0000 | 0.0310 | 0.7318 | 0.0000 | -0.5730 | 0.5894 | 0.9000 | 0.2723 |
| Adv.-Diff. | FNO | 0.8 | 0.4/0.8 | 0.0034 | 1.0000 | 0.0060 | 0.8704 | 0.0000 | -0.8733 | 0.2915 | 0.0133 | -0.3092 |
| Adv.-Diff. | DeepONet | 0.8 | 0.5/0.8 | 0.0841 | 1.0000 | 0.0169 | 0.8531 | 0.0000 | -0.8175 | 0.5304 | 0.4850 | -0.0001 |
| 2D N.-S. | FNO | 0.2 | 0.3/0.75 | 0.0189 | 1.0000 | 0.0374 | 0.2249 | 0.0000 | -0.3129 | 0.1728 | 0.0000 | -0.2063 |
| 2D N.-S. | DeepONet | 0.15 | 0.5/0.35 | 0.0501 | 0.8646 | 0.1808 | 0.0998 | 0.0000 | -0.4796 | 0.1458 | 0.0000 | -0.2987 |
| PDE | Model | Mode | Sc. | W. | Clean | BSR | Margin | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Burgers | FNO | switch | 0.050 | 0.05 | 0.05 | 0.015 | 3 | 0.020 0.002 | 0.000 0.000 | 0.310 0.003 | 0.023 0.001 | -0.287 0.003 |
| Burgers | FNO | switch | 0.050 | 0.05 | 0.20 | 0.015 | 3 | 0.007 0.002 | 0.998 0.002 | 0.035 0.007 | 0.304 0.010 | 0.269 0.017 |
| Burgers | FNO | switch | 0.050 | 0.05 | 0.80 | 0.015 | 3 | 0.005 0.001 | 1.000 0.000 | 0.031 0.002 | 0.309 0.004 | 0.278 0.006 |
| Burgers | FNO | switch | 0.050 | 0.10 | 0.05 | 0.015 | 3 | 0.026 0.005 | 0.000 0.000 | 0.301 0.007 | 0.028 0.004 | -0.273 0.010 |
| Burgers | FNO | switch | 0.050 | 0.10 | 0.20 | 0.015 | 3 | 0.006 0.001 | 1.000 0.000 | 0.022 0.002 | 0.311 0.004 | 0.289 0.006 |
| Burgers | FNO | switch | 0.050 | 0.10 | 0.80 | 0.015 | 3 | 0.006 0.000 | 1.000 0.000 | 0.018 0.000 | 0.314 0.005 | 0.297 0.006 |
Backdoor Attacks
Backdoor attacks implant hidden, trigger-dependent behaviors in models while aiming to preserve normal performance.
See all 135 papers