> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hiddenlayer.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Supply Chain Detection Categories and Severity Levels

AI Supply Chain Security defines attacks by technique, providing an estimated severity and the rationality for classifying it with that severity.

* **Advisories** - Known files of concern, but are not exploits in and of themselves. Advisories should be reviewed prior to model usage.
* **Detections** - Known exploits exist in the model files. The detections are ranked from Critical to Low severity and can be used to define Supply Chain policy.

## Advisories

<table><thead><tr><th data-label="Advisory">Advisory</th><th data-label="Estimated Severity">Estimated Severity</th><th width="40%" data-label="Definition">Definition </th><th width="40%" data-label="Rationality for Severity">Rationality for Severity </th></tr></thead><tbody><tr><td><p>Suspicious File Format</p></td><td><p>Medium</p></td><td><p>Adversaries can modify data structures and encodings in an attempt to evade detection.</p><details id="expand-for-file-information"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>Cloudpickle: .pkl, .pickle</li><li>Dill: .dill</li><li>HDF5: .h5, .hdf5</li><li>JobLib: .joblib</li><li>NeMo: .nemo</li><li>Numpy: .npy, .npz</li><li>Pytorch: .pt, .bin, pth, ckpt</li><li>Pickle: .pkl</li></ul></details></td><td><p>File format tampering is usually indicative of a targeted attack.</p><details id="expand-for-more-information"><summary>Expand for More Information</summary><ul><li><p>Vulnerable Formats:</p><ul><li>Pickle</li><li>ProtoBuf</li></ul></li><li><p>MITRE ATLAS</p><ul><li><p>ML Supply Chain Compromise</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0010" target="_blank">AML T0010</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0004" target="_blank">AML TA0004</a></li></ul></li></ul></li></ul></details></td></tr><tr><td>TokenBreak</td><td>High</td><td>Adversaries can exploit a weakness in the tokenizer to bypass model classifications.</td><td>Models susceptible to the tokenbreak vulnerability can have their classifications altered on command by an attacker resulting in a weakness wherever the model is used.</td></tr><tr><td><p>Model Reference</p></td><td><p>Low</p></td><td><p>Containers may reference external model artifacts or require model selection at runtime. NIM container scans emit advisory <code>CONTAINER\_0001\_202606</code> with manifest evidence and list external artifact URIs in <code>summary.referenced\_models</code>.</p></td><td><p>This advisory is informational. Understanding model references helps inventory supply chain dependencies and deployment configuration. Misconfigured or unexpected model references may indicate an incomplete deployment or an opportunity to scan referenced artifacts for security issues.</p><details id="expand-for-more-information-2"><summary>Expand for More Information</summary><ul><li><p>Rule ID: <code>CONTAINER\_0001\_202606</code></p></li><li><p>Scan input: NIM containers (<code>oci://nvcr.io/nim/...</code>); available in Supply Chain version 26.6.0 and later</p></li><li><p>Remediation: <a href="/docs/products/supply-chain/remediation-guide/model_reference" target="_self">Model Reference</a></p></li><li><p>Documentation: <a href="/docs/products/supply-chain/cli/nim_container" target="_self">NIM Container Scanning</a>, <a href="/docs/products/supply-chain/cli/ngc_cli_download" target="_self">Download with NGC CLI</a></p></li></ul></details></td></tr></tbody></table>

## Detections

<table><thead><tr><th data-label="Detection">Detection</th><th data-label="Estimated Severity">Estimated Severity</th><th width="40%" data-label="Definition">Definition </th><th width="40%" data-label="Rationality for Severity">Rationality for Severity </th></tr></thead><tbody><tr><td><p>Arbitrary Code Execution</p></td><td><p>Critical</p></td><td><p>Adversaries can inject malicious code into a model, which will be executed whenever the hijacked model is loaded into memory. This vulnerability can be used to exfiltrate sensitive data, execute malware (such as spyware or ransomware) on the machine, or run any kind of malicious scripts.</p><details id="expand-for-file-information-3"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>Cloudpickle: .pkl, .pickle</li><li>Dill: .dill</li><li>GGUF: .gguf</li><li>HDF5: .h5, .hdf5</li><li>JobLib: .joblib</li><li>Keras: .keras</li><li>NeMo: .nemo</li><li>Numpy: .npy, .npz</li><li>Pytorch: .pt, .bin, pth, ckpt</li><li>Pickle: .pkl</li><li>R: .rds (plain and compressed)</li><li>Skops: .skops</li></ul></details></td><td><p>Arbitrary code execution attacks are relatively easy to perform and may lead to critical outcomes such as execution of malicious code on an organization's computers.</p><details id="expand-for-more-information-4"><summary>Expand for More Information</summary><ul><li><p>Vulnerable Formats:</p><ul><li>CloudPickle</li><li>Joblib</li><li>Keras</li><li>Nemo</li><li>Pickle</li><li>R</li><li>skops</li></ul></li><li><p>HiddenLayer Tech Blogs:</p><ul><li><a href="https://hiddenlayer.com/research/r-bitrary-code-execution/" target="_blank">R-bitrary Code Execution</a></li><li><a href="https://hiddenlayer.com/sai-security-advisory/2024-06-skops/" target="_blank">Security Advisory: 2024-06-skops</a></li><li><a href="https://hiddenlayer.com/research/models-are-code/" target="_blank">Models are Code</a></li></ul></li><li><p><a href="https://cwe.mitre.org/data/definitions/502.html" target="_blank">CWE-502</a></p></li><li><p>MITRE ATLAS</p><ul><li><p>Command and Scripting Interpreter</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0050" target="_blank">AML T0050</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0005" target="_blank">AML TA0005</a></li></ul></li><li><p>ML Supply Chain Compromise</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0010" target="_blank">AML T0010</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0004" target="_blank">AML TA0004</a></li></ul></li><li><p>User Execution</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0011" target="_blank">AML T0011</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0005" target="_blank">AML TA0005</a></li></ul></li></ul></li><li><p>OWASP Top 10:</p><ul><li><a href="https://mltop10.info/ML06_2023-AI_Supply_Chain_Attacks" target="_blank">ML06</a></li><li><a href="https://genai.owasp.org/llmrisk2023-24/llm05-supply-chain-vulnerabilities" target="_blank">LLM05</a></li></ul></li></ul></details></td></tr><tr><td><p>Arbitrary Read Access</p></td><td><p>High</p></td><td><p>Adversaries can craft a malicious model that will exfiltrate sensitive data upon loading.</p><details id="expand-for-file-information-5"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>ONNX: .onnx</li></ul></details></td><td><p>Arbitrary read access attacks are relatively easy to perform and may lead to critical outcomes such as an attacker exfiltrating sensitive data.</p><details id="expand-for-more-information-6"><summary>Expand for More Information</summary><ul><li><p>Vulnerable Formats:</p><ul><li>PMML</li><li>SavedModel</li></ul></li><li><p><a href="https://hiddenlayer.com/research/models-are-code/" target="_blank">HiddenLayer Tech Blog: Models are Code</a></p></li><li><p>MITRE ATLAS</p><ul><li><p>ML Supply Chain Compromise</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0010" target="_blank">AML T0010</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0004" target="_blank">AML TA0004</a></li></ul></li></ul></li><li><p>OWASP Top 10:</p><ul><li><a href="https://mltop10.info/ML06_2023-AI_Supply_Chain_Attacks" target="_blank">ML06</a></li><li><a href="https://genai.owasp.org/llmrisk2023-24/llm05-supply-chain-vulnerabilities" target="_blank">LLM05</a></li></ul></li></ul></details></td></tr><tr><td><p>Control Vector</p></td><td><p>High</p></td><td><p>Adversaries can inject a control vector into the computational graph of a model introducing refusal ablation or custom, attacker-defined behaviors.</p><details id="expand-for-file-information-7"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>All model formats</li></ul></details></td><td><p>Inserted control vectors can control or modify model behavior as well as can be used to remove refusals on a secured model.</p><details id="expand-for-more-information-8"><summary>Expand for More Information</summary><ul><li><p>Vulnerable Formats:</p><ul><li>All model formats</li></ul></li><li><p>MITRE ATLAS</p><ul><li><p>Backdoor ML Model: Inject Payload</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0018.001" target="_blank">AML T0018.001</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0006" target="_blank">AML TA0006</a></li></ul></li></ul></li><li><p>OWASP Top 10:</p><ul><li><a href="https://mltop10.info/ML06_2023-AI_Supply_Chain_Attacks" target="_blank">ML06</a></li><li><a href="https://genai.owasp.org/llmrisk2023-24/llm05-supply-chain-vulnerabilities" target="_blank">LLM05</a></li></ul></li></ul></details></td></tr><tr><td><p>Decompression Vulnerabilities</p></td><td><p>High</p></td><td><p>Adversaries can exploit vulnerabilities in popular compression formats to cause denial of service or leak sensitive data.</p><details id="expand-for-file-information-9"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>Keras: .keras</li><li>NeMo: .nemo</li><li>Safetensors: .safetensors</li><li>Tensorflow: .savedmodel, .tf, .pb</li><li>Zip: .zip</li></ul></details></td><td><p>Decompression vulnerabilities are relatively easy to exploit and may lead to high-impact outcomes such as denial of service, code execution, or data leakage.</p><details id="expand-for-more-information-10"><summary>Expand for More Information</summary><ul><li><p>Vulnerable Formats:</p><ul><li>PyTorch</li><li>Tar</li><li>Zip</li></ul></li><li><p>MITRE ATLAS</p><ul><li><p>ML Supply Chain Compromise</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0010" target="_blank">AML T0010</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0004" target="_blank">AML TA0004</a></li></ul></li></ul></li><li><p>OWASP Top 10:</p><ul><li><a href="https://mltop10.info/ML06_2023-AI_Supply_Chain_Attacks" target="_blank">ML06</a></li><li><a href="https://genai.owasp.org/llmrisk2023-24/llm05-supply-chain-vulnerabilities" target="_blank">LLM05</a></li></ul></li></ul></details></td></tr><tr><td><p>Denial of Service</p></td><td><p>Medium</p></td><td><p>Adversaries can craft a malicious model, or modify legitimately pre-trained model, in order to disrupt the system the model will be loaded on.</p><details id="expand-for-file-information-11"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>Cloudpickle: .pkl, .pickle</li><li>Dill: .dill</li><li>HDF5: .h5, .hdf5</li><li>JobLib: .joblib</li><li>NeMo: .nemo</li><li>Numpy: .npy, .npz</li><li>Pytorch: .pt, .bin, pth, ckpt</li><li>Pickle: .pkl</li></ul></details></td><td><p>Denial of service attacks are relatively easy to perform and may lead to disruption or degradation of service.</p><details id="expand-for-more-information-12"><summary>Expand for More Information</summary><ul><li><p>Vulnerable Formats:</p><ul><li>All model formats</li></ul></li><li><p>MITRE ATLAS</p><ul><li><p>ML Supply Chain Compromise</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0010" target="_blank">AML T0010</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0004" target="_blank">AML TA0004</a></li></ul></li></ul></li><li><p>OWASP Top 10:</p><ul><li><a href="https://mltop10.info/ML06_2023-AI_Supply_Chain_Attacks" target="_blank">ML06</a></li><li><a href="https://genai.owasp.org/llmrisk2023-24/llm05-supply-chain-vulnerabilities" target="_blank">LLM05</a></li></ul></li></ul></details></td></tr><tr><td><p>Directory Traversal</p></td><td><p>Medium</p></td><td><p>Adversaries can craft a malicious model, or modify legitimately pre-trained model, in order to gain unauthorised access to sensitive files on the system.</p><details id="expand-for-file-information-13"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>ONNX: .onnx</li></ul></details></td><td><p>Directory traversal attacks are relatively easy to perform and may grant an attacker access to sensitive files on the file system.</p><details id="expand-for-more-information-14"><summary>Expand for More Information</summary><ul><li><p>Vulnerable Formats:</p><ul><li>ONNX</li></ul></li><li><p><a href="https://hiddenlayer.com/sai-security-advisory/2024-02-onnx/" target="_blank">HiddenLayer Tech Blog: ONNX Vulnerability Report</a></p></li><li><p>MITRE ATLAS</p><ul><li><p>ML Supply Chain Compromise</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0010" target="_blank">AML T0010</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0004" target="_blank">AML TA0004</a></li></ul></li></ul></li><li><p>OWASP Top 10:</p><ul><li><a href="https://mltop10.info/ML06_2023-AI_Supply_Chain_Attacks" target="_blank">ML06</a></li><li><a href="https://genai.owasp.org/llmrisk2023-24/llm05-supply-chain-vulnerabilities" target="_blank">LLM05</a></li></ul></li></ul></details></td></tr><tr><td><p>Embedded Payloads</p></td><td><p>Low</p></td><td><p>Adversaries can embed malicious payloads (such as backdoors, coin miners, spyware, and ransomware) inside the model’s tensors. Such payloads can be injected in plain text, obfuscated, or embedded using steganography.</p><details id="expand-for-file-information-15"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>HDF5: .h5, .hdf5</li><li>Safetensors: .safetensors</li></ul></details></td><td><p>Malicious payloads can be embedded in ML models relatively easily; this may lead to malware components being distributed on an organization's computers.</p><details id="expand-for-more-information-16"><summary>Expand for More Information</summary><ul><li><p>Vulnerable Formats:</p><ul><li>All model formats</li></ul></li><li><p>HiddenLayer Tech Blogs:</p><ul><li><a href="https://hiddenlayer.com/research/weaponizing-machine-learning-models-with-ransomware/" target="_blank">Weaponizing Machine Learning Models with Ransomware</a></li><li><a href="https://hiddenlayer.com/research/pickle-strike/" target="_blank">Pickle Files</a></li></ul></li><li><p>MITRE ATLAS</p><ul><li><p>ML Supply Chain Compromise</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0010" target="_blank">AML T0010</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0004" target="_blank">AML TA0004</a></li></ul></li></ul></li><li><p>OWASP Top 10:</p><ul><li><a href="https://mltop10.info/ML06_2023-AI_Supply_Chain_Attacks" target="_blank">ML06</a></li><li><a href="https://genai.owasp.org/llmrisk2023-24/llm05-supply-chain-vulnerabilities" target="_blank">LLM05</a></li></ul></li></ul></details></td></tr><tr><td><p>Graph Payload</p></td><td><p>High</p></td><td><p>Adversaries can inject a computational graph payload, introducing a secret attacker-controlled behavior into a pre-trained model.</p><p><strong>Note</strong>: ONNX files without graph is an advisory.</p><details id="expand-for-file-information-17"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>ONNX: .onnx</li></ul></details></td><td><p>Model backdooring may be relatively difficult to perform and can lead to critical outcomes such as biased or inaccurate output.</p><details id="expand-for-more-information-18"><summary>Expand for More Information</summary><ul><li><p><a target="_self" rel="noreferrer" href="https://hiddenlayer.com/research/shadowlogic/">HiddenLayer Tech Blog: Shadow Logic</a></p></li><li><p>Vulnerable Formats</p><ul><li>All model formats</li></ul></li><li><p>MITRE ATLAS</p><ul><li><p>Backdoor ML Model: Inject Payload</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0018.001" target="_blank">AML T0018.001</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0006" target="_blank">AML TA0006</a></li></ul></li></ul></li><li><p>OWASP Top 10:</p><ul><li><a href="https://mltop10.info/ML06_2023-AI_Supply_Chain_Attacks" target="_blank">ML06</a></li><li><a href="https://genai.owasp.org/llmrisk2023-24/llm05-supply-chain-vulnerabilities" target="_blank">LLM05</a></li></ul></li></ul></details></td></tr><tr><td><p>Model Sideloading</p></td><td><p>High</p></td><td><p>Adversaries can load code or model artifacts from an unexpected location bypassing checks performed on the model.</p><details id="expand-for-file-information-19"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>Pickle: .pkl</li></ul></details></td><td><p>Model sideloading is not expected behavior and typically points to an attempt to obfuscate a payload.</p></td></tr><tr><td><p>Network Requests</p></td><td><p>High</p></td><td><p>Adversaries can craft a malicious model that will make network requests upon loading.</p><details id="expand-for-file-information-20"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>Cloudpickle: .pkl, .pickle</li><li>Dill: .dill</li><li>HDF5: .h5, .hdf5</li><li>JobLib: .joblib</li><li>NeMo: .nemo</li><li>Numpy: .npy, .npz</li><li>Pytorch: .pt, .bin, pth, ckpt</li><li>Pickle: .pkl</li></ul></details></td><td><p>Network requests are relatively easy to perform and may be used to exfiltrate data,  download payloads, or initiate command and control communications.</p><details id="expand-for-more-information-21"><summary>Expand for More Information</summary><ul><li><p>Vulnerable Formats:</p><ul><li>CloudPickle</li><li>Joblib</li><li>Keras</li><li>Nemo</li><li>Pickle</li><li>R</li><li>skops</li></ul></li><li><p><a target="_self" rel="noreferrer" href="https://hiddenlayer.com/research/pickle-strike/">HiddenLayer Tech Blog: Pickle Files</a></p></li><li><p>MITRE ATLAS</p><ul><li><p>ML Supply Chain Compromise</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0010" target="_blank">AML T0010</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0004" target="_blank">AML TA0004</a></li></ul></li></ul></li><li><p>OWASP Top 10:</p><ul><li><a href="https://mltop10.info/ML06_2023-AI_Supply_Chain_Attacks" target="_blank">ML06</a></li><li><a href="https://genai.owasp.org/llmrisk2023-24/llm05-supply-chain-vulnerabilities" target="_blank">LLM05</a></li></ul></li></ul></details></td></tr><tr><td><p>Repository Sideloading</p></td><td><p>Medium</p></td><td><p>Adversaries can load code or model artifacts from an unexpected location, bypassing checks performed on the artifacts in the repository.</p></td><td><p>Repository sideloading is an expected behavior allowed by Hugging Face; however, it can be abused to bypass security checks.</p><details id="expand-for-more-information-22"><summary>Expand for More Information</summary><ul><li><p>Vulnerable Formats</p><ul><li>JSON</li></ul></li></ul></details></td></tr><tr><td><p>Suspicious Functions</p></td><td><p>High</p></td><td><p>The presence of these functions themselves is not inherently malicious, but they can be used in conjunction with other functions to create a malicious model.</p><details id="expand-for-file-information-23"><summary>Expand for File Information</summary><p>Model Format and File Extensions:</p><ul><li>Cloudpickle: .pkl, .pickle</li><li>Dill: .dill</li><li>HDF5: .h5, .hdf5</li><li>JobLib: .joblib</li><li>NeMo: .nemo</li><li>Numpy: .npy, .npz</li><li>Pytorch: .pt, .bin, pth, ckpt</li><li>Pickle: .pkl</li></ul></details></td><td><p>Functions can be used in conjunction with other functions to create a malicious model.</p><details id="expand-for-more-information-24"><summary>Expand for More Information</summary><ul><li><p>Vulnerable Formats:</p><ul><li>Pickle</li></ul></li><li><p>MITRE ATLAS</p><ul><li><p>ML Supply Chain Compromise</p><ul><li><a href="https://atlas.mitre.org/techniques/AML.T0010" target="_blank">AML T0010</a></li><li><a href="https://atlas.mitre.org/tactics/AML.TA0004" target="_blank">AML TA0004</a></li></ul></li></ul></li></ul></details></td></tr></tbody></table>
