celvexgroup's picture
Upload README.md with huggingface_hub
64edc2c verified
|
Raw
History Blame Contribute Delete
1.09 kB
# PoC - modelaudit CoreML custom-layer bypass via Pipeline sub-model specVersion gate (BL-0108)
Coordinated disclosure PoC for huntr (Protect AI MFV). Benign only.
- Scanner: modelaudit==0.2.49 (coreml_scanner.py). Format: Core ML (.mlmodel).
- `modelaudit scan C_pipeline_hidden_sub_custom.mlmodel` -> Clean/exit 0: a custom-layer neural net wrapped as a Pipeline sub-model with its specificationVersion omitted (proto3 default 0) fails the scanner's version gate (coreml_scanner.py:476-478), so the custom-layer check never runs. `B_pipeline_valid_sub_custom.mlmodel` is byte-identical except a 2-byte specVersion and correctly fires CRITICAL - proving the detector finds custom layers inside pipelines; only the missing version hides it. coremltools still resolves the custom layer in C.
- Benign: the custom layer is a harmless marker; no kernel is shipped. Detection-evasion, not standalone RCE.
Files: C_pipeline_hidden_sub_custom.mlmodel (bypass), B_pipeline_valid_sub_custom.mlmodel + A_plain_nn_custom.mlmodel (fire), D_benign_nn.mlmodel (baseline). Full report in huntr submission.