{"id":"097fd067-8572-4ddd-859a-2a7f6739f71c","arxiv_id":"2607.23417","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":5.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":7,"one_line_summary":"An NCDE trained only on Trojan-free power traces plus an LDA threshold on prediction MSE separates clean, dormant-Trojan, and active-Trojan chips above a ~3% power-deviation sensitivity floor.","lead":"The paper trains Neural Controlled Differential Equations on clean chip power traces so prediction error can flag hardware Trojans, including some that are still dormant. If the approach holds up beyond noise proxies, chip makers and auditors could catch malicious circuitry before it activates.","discovery_kind":"new_application","skeptic_critique":{"model":"moonshotai/kimi-k3","headline":"The paper possesses real dormant-Trojan traces (its dataset includes 10,000 \"HT inactive\" traces per benchmark) yet validates dormant detection only with injected Gaussian noise — so the headline three-state capability is never tested on actual dormant hardware.","rationale":"The reader correctly identified the Gaussian-noise proxy as the weakest assumption and landed on CONDITIONAL with MODERATE confidence. My pass sharpens rather than replaces that concern: the decisive fact is that the authors did not need a proxy at all — the benchmark they used already contains labeled dormant and active traces (§V.A), yet the dormant column of Table III is indexed by injected noise level, and no real-trace dormant accuracy is reported anywhere in §V. This makes the concern more concrete and more easily settled than a generic \"real Trojans may differ\" objection: the check costs a forward pass on data the authors already have. I do not move the verdict off CONDITIONAL because (a) the concern is remediable without new experiments or hardware, (b) the paper itself flags the proxy limitation in §V.F, so this is an incomplete evaluation rather than a concealed one, and (c) the NCDE methodology and active-detection results appear competent. But the condition for acceptance should specifically be: report dormant detection rates on the real HT-inactive traces per benchmark, and clarify whether the Table III active-accuracy column is measured on triggered traces or is also noise-indexed, since in the latter case the SOTA comparison mixes synthetic and real evaluations. Secondary, non-load-bearing observations: the LDA calibration requires labeled Trojan-infected traces, softening the \"trained exclusively on Trojan-free data\" framing (only the NCDE is); and the 80/20 random split of Trojan-free traces with stride-1 sliding windows risks near-duplicate windows across train/validation, which could flatter the nominal-behavior fit, though the test categories are separate traces so this does not directly inflate the reported detection numbers.","tokens_in":10491,"tokens_out":2187,"duration_ms":77117,"concrete_test":"Using the already-trained NCDE and LDA boundary b_LDA, run Algorithm 3 on the dataset's held-out real HT-inactive (dormant) traces for each of the six TrustHub variants and report per-variant dormant detection rate (MSE > b_LDA) with confidence intervals; separately quantify each dormant Trojan's actual footprint as % of peak amplitude. If detection rates fall materially below the Table III noise-proxy numbers (e.g., near chance for the small-area Trojans), the noise-injection curve in Fig. 3 does not transfer and the three-state dormant claim fails on real hardware.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The strongest claim is that HOODOO distinguishes dormant Trojans from clean circuits once the power deviation exceeds ~3% of peak amplitude. Two things in the text together make this less secure than the reader's general \"Gaussian proxy\" concern suggests. First, §V.A states the dataset [42] contains, per benchmark, Trojan-free, \"HT inactive (dormant),\" and \"HT activated\" traces — 10,000 traces of 2,500 samples each. Real dormant traces therefore exist and were in hand. Second, despite this, the entire dormant-detection validation in §V.D and Table III is built on \"normally distributed noise at varying levels (1–5% of peak power trace amplitude) injected into Trojan-free traces.\" The dormant-accuracy column in Table III is indexed by noise level (\"1% Thr: 55.7 ... 5% Thr: 92.2\"), i.e., it is accuracy against synthetic perturbations, not against the benchmark's actual dormant traces. No per-benchmark dormant detection rate on real HT-inactive traces is ever reported; Fig. 2b shows residuals for one dormant case qualitatively only. This matters because a dormant TrustHub Trojan (trigger unmet, payload off) contributes only its static/leakage current and minor routing overhead — for AES-T500 at 0.29% of base area, that footprint is plausibly well under 3% of peak dynamic power, exactly the regime §V.F admits defeats the method. If real dormant deviations sit below the 3% floor, the \"detects dormant Trojans above a sensitivity threshold\" claim reduces to a property of the noise model, not of the hardware, and the paper's central novelty (pre-activation detection) is undemonstrated on real data even though the data to demonstrate it was available. The active-accuracy column carries the same ambiguity: if it too is noise-indexed rather than measured on triggered traces, the Table III comparison against LSTM/HTM accuracies (measured on real traces) is not like-for-like.","agreement_with_reader":"agree"},"referee_report":{"model":"moonshotai/kimi-k3","summary":"The manuscript proposes HOODOO, a hardware-Trojan detection pipeline in which a Neural Controlled Differential Equation (NCDE) model is trained one-class on Trojan-free power traces to predict the next sample within a sliding window; the resulting next-sample MSE is thresholded by an LDA-calibrated boundary b_LDA (clean vs. infected) and a second threshold T_triggered (dormant vs. active), yielding a three-state classifier. Experiments use the Sakura-G/TrustHub power side-channel dataset [42] (AES and RS232 bases, six Trojan variants, 10,000 traces per category). The active-Trojan detection results are plausible: prediction error elevates markedly under triggered Trojans (Fig. 2c) and the reported active accuracies (92–100%, Table III) are competitive with prior ML detectors. The paper's novelty claim, however, is dormant-Trojan detection and three-state classification, and this is where the evidence thins: the dormant-detection numbers in Table III and the ~3% sensitivity floor in Fig. 3 come entirely from injecting i.i.d. Gaussian noise into Trojan-free traces, and T_triggered is never calibrated (authors state trigger timestamps are unavailable). The NCDE application to side-channel traces is genuinely novel as far as I know, the one-class training protocol is clean and non-circular, and §V.F is unusually candid about limitations.","tokens_in":10906,"tokens_out":2806,"duration_ms":108392,"significance":"If the dormant-detection claim were validated on real dormant traces, this would be a notable advance: most ML-based HT detectors operate post-activation, and a golden-model-free, one-class NCDE pipeline with a three-state output would address a genuine gap. The strengths that survive scrutiny are the sound active-Trojan results on physical hardware measurements, the honest sensitivity floor analysis in Fig. 3, and the explicit limitation discussion in §V.F. However, because the central dormant/three-state claims currently rest on a synthetic noise proxy despite real dormant data being in hand, the significance of the work as written is considerably lower than the abstract suggests. The gap is closable within the manuscript's existing scope and dataset, which is why I do not recommend rejection.","major_comments":[{"comment":"The headline contribution — three-state classification with dormant-Trojan detection — is never evaluated on actual dormant-Trojan traces, even though §V.A states the dataset [42] contains 10,000 'HT inactive (dormant)' traces per benchmark alongside the active and Trojan-free categories. Instead, §V.D and the dormant-accuracy column of Table III are built entirely on i.i.d. Gaussian noise injected into Trojan-free traces at 1–5% of peak amplitude. Real dormant TrustHub Trojans contribute only static/leakage current and routing overhead (AES-T500 is 0.29% of base area), a footprint plausibly below the 3% floor the paper itself identifies in §V.F, and almost certainly not white Gaussian. The authors already possess the data needed to close this gap: report per-benchmark detection rates on the real HT-inactive traces. Until then, the claim of 'handling dormant Trojans above a sensitivity t","section":"§V.D, Table III"},{"comment":"The paper presents a three-state classifier (Algorithm 3, Eq. (5)) but states that T_triggered 'requires labeled traces with known trigger timestamps, which are unavailable in the current benchmark' and is therefore never calibrated. What is actually evaluated is (a) binary clean-vs-infected detection via b_LDA and (b) a synthetic noise sensitivity curve. No three-state confusion matrix, no dormant-vs-active error rate, and no evidence that a single monotone MSE axis can support two thresholds simultaneously (a dormant trace with large leakage could exceed a small active Trojan's MSE). Either the three-state claim should be demonstrated on the benchmark's active/dormant split (e.g., calibrating T_triggered on active-trace MSE distributions even without timestamps), or the contribution should be reframed as binary detection plus sensitivity analysis.","section":"§IV.C, Eq. (5), Algorithm 3"},{"comment":"Table III reports single dormant/active accuracy numbers aggregated across six benchmarks whose Trojans span 0.29%–4.46% of base area — an order-of-magnitude spread that almost certainly produces large per-benchmark variance in detectability. No per-benchmark breakdown, no window-level vs trace-level accuracy definition, and no variance over splits or seeds are given. Additionally, the 'Active Acc.' column is indexed by noise-injection level ('1% Thr: 92.4 ... 5% Thr: 100.0'), which is ambiguous: active-Trojan accuracy should be measured on the real HT-activated traces, not as a function of injected noise. As tabulated, it is unclear what quantity each cell reports. This needs a precise metric definition and a per-benchmark table before the comparison to prior work can be interpreted.","section":"Table III, §V.E"},{"comment":"The calibration protocol for b_LDA is underspecified in a load-bearing way. §V.B.3 says LDA is trained 'on MSE values from both Trojan-free and Trojan-infected traces,' but does not state whether 'infected' means active traces, dormant traces, or both. If b_LDA is calibrated on active traces (the natural reading), dormant traces with subtler deviations would systematically fall below the boundary, and the dormant column of Table III would then reflect only the synthetic experiment. This interacts with major comment 1 and must be clarified. Relatedly, the pipeline is described as 'trained exclusively on Trojan-free data,' but the LDA stage requires labeled infected traces; the framing in the Abstract and §IV should state this dependence on labeled Trojan hardware explicitly, since it is a meaningful deployment assumption.","section":"§V.B.3, §IV.C"}],"minor_comments":[{"comment":"Fig. 2 presents qualitative predicted-vs-actual traces for the three conditions but no quantitative baseline (MSE values, R², or residual distributions) for the Trojan-free model. A histogram of MSE for the three classes on real data would substantially strengthen the paper and is cheap to add.","section":"Fig. 2, §V.C"},{"comment":"Table I lists RK4 step size 0.2 while windows are mapped to t ∈ [0,1] (§IV.A.2), implying only ~5 solver steps per 50-sample window. Please clarify whether this is intentional, and whether accuracy is sensitive to step size, W, hidden channels, and stride — an ablation over W and step size is warranted given the sensitivity claims.","section":"Table I, §IV.A"},{"comment":"Table III compares against MLNN [32] (gate-level netlists) and GPT-4 [35] (RTL/netlist) — different input modalities and threat assumptions. A note that these are not like-for-like comparisons, and ideally a comparison against power-trace baselines (LSTM [33], HTM [34]) re-run on the same dataset splits, would make the 'superior accuracy' claim defensible.","section":"Table III, §V.E"},{"comment":"Reference [33] is titled 'A Siamese deep learning framework...' but is described in §V.E as 'LSTM'. Please reconcile the label with the cited method.","section":"§V.E, ref [33]"},{"comment":"Algorithm 1 concatenates a vector of ones of dimension 'input dim' with h; the role and naming of x here is confusing since x elsewhere denotes the power trace. Rename (e.g., bias term) and explain.","section":"Algorithm 1"},{"comment":"No runtime/latency measurements are reported despite the run-time detection motivation (§I). With W=50, stride 1, and RK4 integration per window, per-window inference cost on the A16 and on CPU should be reported to support deployability claims.","section":"§V.A"},{"comment":"The abstract and §VI claim 'superior performance relative to conventional machine learning techniques,' but Table III shows HTM [34] at 92.2% active accuracy, which overlaps the paper's own 92.4–100% range depending on the row interpretation. Please temper or precisely support the superiority wording.","section":"Abstract, §VI"},{"comment":"Process variation is mentioned only as having been 'addressed in the original dataset by collecting traces from two separate Sakura-G boards' (§V.A). It is unclear whether training and testing traces come from the same or different boards; cross-board evaluation would speak directly to the masking concern raised in §III.B.","section":"§V.A"}],"recommendation":"major_revision","confidential_remarks":"The manuscript is an early-career group’s first NCDE application in this space and is a reasonable fit for the journal in principle. Two things the editor may wish to weigh: (1) the experimental gap (real dormant traces available but unused) is conspicuous enough that it should have been caught internally, and the fix is cheap since the data are already in hand — I would treat a revision that does not add this evaluation as insufficient; (2) the dataset [42] is the same one used by the HTM baseline [34], so a like-for-like re-evaluation against that baseline is feasible and should be requested rather than accepting cross-paper numbers. No concerns about citation practice beyond the modality mismatch noted in the report."},"author_rebuttal":null,"desk_editor":{"model":"grok-4.5","letter":"The one thing worth knowing: this is a competent new-application paper—NCDE next-sample residuals on the Yasaei Sakura-G/TrustHub power set, plus LDA—and the active-Trojan side looks real. The dormant/three-state story is weaker than the abstract sells, and for a specific reason the stress-test nails.\n\nWhat is actually new is the packaging: train NCDE only on clean power, score sliding-window MSE, draw an LDA boundary, and frame three states (clean / dormant / active) with a sensitivity floor study. Algorithms 1–3 are clear, the one-class setup is not circular, and Fig. 2 plus the high active accuracies are believable. Using continuous-time models on irregular side-channel traces is a fair idea and better motivated than another LSTM bake-off.\n\nThe soft spot is load-bearing for the claim they lead with. Section V.A says the dataset already contains 10k HT-inactive (dormant) traces per benchmark. Yet §V.D and the dormant column of Table III are built entirely on Gaussian noise (1–5% of peak) injected into clean traces. No per-benchmark detection rates on the real dormant traces appear; Fig. 2b is qualitative only; T_triggered is never calibrated from trigger timestamps. For a 0.29%-area Trojan the static footprint is plausibly under their own 3% floor, which §V.F admits defeats the method. So “detects dormant Trojans above a sensitivity threshold” is currently a property of the noise model, not a demonstrated property of the hardware—even though the data to test it was in hand. Active numbers may also be noise-indexed in places, which muddies the SOTA comparison (different modalities anyway).\n\nMath and citations are fine: Kidger NCDE, standard TrustHub set, honest limitation paragraph. Reproducibility is middling without code. This is for hardware-security people who already care about side-channel HT detectors; an ML-for-time-series reader will not learn new NCDE theory.\n\nI would send it to referees. Ask them to require real dormant-vs-clean numbers on the existing HT-inactive traces, clarify what Table III actually measures, and release code. Worth engaging after that fix; not a must-read until then.","headline":"Solid NCDE-on-power application with real active-Trojan results, but the headline dormant/three-state claim was never measured on the real dormant traces the authors already had.","tokens_in":12023,"tokens_out":591,"would_cite":false,"duration_ms":19784,"reading_group":"maybe","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"grok-4.5","headline":"An NCDE trained only on clean power traces can flag dormant hardware Trojans once their power footprint exceeds about 3% of peak amplitude.","keywords":["Hardware Trojan Detection","Neural Controlled Differential Equations","Power Side-Channel Analysis","Dormant Trojan Prediction","Sliding Window","Linear Discriminant Analysis"],"falsifier":"Measure real dormant-Trojan power traces (with known trigger timestamps) on the same Sakura-G setup; if the NCDE-plus-LDA pipeline cannot separate them from clean traces at the claimed 3% threshold, or if structured non-Gaussian residuals collapse the three-state accuracy, the central claim fails.","tokens_in":11718,"feed_emoji":"🔌","tokens_out":821,"duration_ms":16742,"temperature":0.7,"pith_summary":"Hardware Trojans can sit quietly inside a chip and only activate under rare conditions, so most detectors catch them only after damage is already possible. This paper shows that a neural controlled differential equation, trained solely on Trojan-free power measurements, can learn the chip’s normal continuous-time power behavior. When new traces are fed through a sliding window, the model’s next-sample prediction error rises if a Trojan is present, even while dormant. A simple linear classifier then sorts each window into three states: clean, dormant Trojan, or active Trojan. On standard FPGA power-trace benchmarks the method matches or beats prior machine-learning detectors on active Trojans and, above a roughly 3% peak-power sensitivity floor, also reports the dormant state that earlier methods leave unlabeled.","feed_headline":"NCDE flags dormant chip Trojans above 3% power shift","feed_subtitle":"Trained only on clean traces, it sorts power windows into clean, dormant, or active states","key_machinery":"Neural Controlled Differential Equation (NCDE) next-sample predictor: a continuous-time model of nominal power dynamics whose sliding-window mean-squared prediction error becomes the sole feature for an LDA three-way threshold.","core_discovery":"An NCDE trained exclusively on Trojan-free power traces, combined with LDA on sliding-window next-sample MSE, can perform three-state classification (no Trojan / dormant Trojan / active Trojan) and detect dormant Trojans once their power deviation exceeds roughly 3% of peak amplitude, with active-Trojan accuracy at or above prior ML methods on the TrustHub/Sakura-G benchmarks.","pith_inferences":["Because the NCDE never sees Trojan examples during training, the approach is closer to one-class anomaly detection than to supervised malware classifiers, which may ease deployment when golden Trojan-infected chips are scarce.","If richer latent-state features replace scalar MSE, the same continuous-time backbone could separate process variation from Trojan footprints more cleanly than noise-injection tests allow.","The sliding-window formulation suggests a natural online monitor that could run on edge hardware with modest buffer memory."],"forward_implications":["Security monitors can raise an early warning while a Trojan is still dormant, shrinking the window between insertion and first activation.","Three-state labels give operators a graded risk signal instead of a binary clean/infected decision.","The same NCDE residual pipeline can be reused for other continuous side-channel tasks such as aging or fault detection without retraining the dynamics model on malicious data.","Once multi-modal side-channels are fused, the 3% sensitivity floor may drop, extending coverage to stealthier Trojans."],"fun_headline_variants":["NCDE flags dormant Trojans above 3% power deviation","Clean-trained NCDE sorts power windows: clean, dormant, active","NCDE on power traces detects dormant chip Trojans pre-activation","Sliding-window NCDE catches idle Trojans over 3% peak shift","NCDE+LDA classifies Trojans dormant or active from power MSE"],"cache_read_input_tokens":128,"weakest_assumption_plain":"That the power signature of a real dormant Trojan looks enough like simple random noise added at a few percent of peak amplitude for the reported sensitivity curve to transfer to actual chips.","fun_headline_variants_meta":{"raw":{"variants":["NCDE flags dormant Trojans above 3% power deviation","Clean-trained NCDE sorts power windows: clean, dormant, active","NCDE on power traces detects dormant chip Trojans pre-activation","Sliding-window NCDE catches idle Trojans over 3% peak shift","NCDE+LDA classifies Trojans dormant or active from power MSE"]},"model":"grok-4.5","effort":"low","cost_usd":0.005235,"raw_usage":{"total_tokens":1445,"prompt_tokens":750,"num_sources_used":0,"completion_tokens":77,"cost_in_usd_ticks":52348000,"prompt_tokens_details":{"text_tokens":750,"audio_tokens":0,"image_tokens":0,"cached_tokens":256},"completion_tokens_details":{"audio_tokens":0,"reasoning_tokens":618,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"tokens_in":750,"tokens_out":77,"duration_ms":11228,"temperature":1.0,"reasoning_tokens":618,"cache_read_input_tokens":256,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-07-30T22:50:27.253945+00:00","model_set":{"reader":"grok-4.5"},"falsifier":"Measure real dormant-Trojan power traces (with known trigger timestamps) on the same Sakura-G setup; if the NCDE-plus-LDA pipeline cannot separate them from clean traces at the claimed 3% threshold, or if structured non-Gaussian residuals collapse the three-state accuracy, the central claim fails.","supporting_citations":[],"review_version":1}