> For the complete documentation index, see [llms.txt](https://cortex-docs.paloaltonetworks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cortex-docs.paloaltonetworks.com/appsec-rules/ci-cd-security/artifact-integrity-validation.md).

# Artifact Integrity Validation

| Rule Name                                                                                                                                                      | AppSec Rule ID    | Severity |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | -------- |
| [Missing integrity check for downloaded executable in pipeline](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-cicd-106.md)                 | APPSEC\_CICD\_106 | MEDIUM   |
| [Missing integrity check for downloaded executable in CircleCI pipeline](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-cicd-107.md)        | APPSEC\_CICD\_107 | MEDIUM   |
| [Missing integrity check for downloaded executable in GitHub Actions pipeline](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-cicd-108.md)  | APPSEC\_CICD\_108 | MEDIUM   |
| [Auto-merge configured in pipeline](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-cicd-118.md)                                             | APPSEC\_CICD\_118 | MEDIUM   |
| [Missing integrity check for downloaded executable in GitLab CI pipeline](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-cicd-123.md)       | APPSEC\_CICD\_123 | MEDIUM   |
| [Unpinned GitHub actions](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-cicd-125.md)                                                       | APPSEC\_CICD\_125 | MEDIUM   |
| [Missing integrity check for downloaded executable in Azure Pipelines pipeline](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-cicd-189.md) | APPSEC\_CICD\_189 | MEDIUM   |
| [Pipeline uses an unpinned container image](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-cicd-253.md)                                     | APPSEC\_CICD\_253 | LOW      |
| [CircleCI pipeline uses an unpinned container image](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-cicd-254.md)                            | APPSEC\_CICD\_254 | LOW      |
| [Artifact signing operation failure detected in pipeline](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-attest-1.md)                       | APPSEC-ATTEST-1   | CRITICAL |
| [Signed image without a prior build scan found](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-attest-2.md)                                 | APPSEC-ATTEST-2   | HIGH     |
| [Image signature verification failed due to untrusted public key in pipeline](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-attest-3.md)   | APPSEC-ATTEST-3   | HIGH     |
| [Image signature verification failed due to invalid signature in pipeline](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-attest-4.md)      | APPSEC-ATTEST-4   | CRITICAL |
| [Unsigned artifact push to registry detected in pipeline](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-attest-5.md)                       | APPSEC-ATTEST-5   | HIGH     |
| [Invalid artifact signature detected in registry](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-attest-6.md)                               | APPSEC-ATTEST-6   | CRITICAL |
| [Unsigned image detected in registry](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-attest-7.md)                                           | APPSEC-ATTEST-7   | MEDIUM   |
| [Image signed by an untrusted public key found](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-attest-8.md)                                 | APPSEC-ATTEST-8   | HIGH     |
| [Image signed by a recently removed trusted public key found](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-attest-9.md)                   | APPSEC-ATTEST-9   | CRITICAL |
| [Expired signing key found](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-attest-10.md)                                                    | APPSEC-ATTEST-10  | MEDIUM   |
| [Key has not been rotated within the required period](/appsec-rules/ci-cd-security/artifact-integrity-validation/appsec-attest-11.md)                          | APPSEC-ATTEST-11  | LOW      |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://cortex-docs.paloaltonetworks.com/appsec-rules/ci-cd-security/artifact-integrity-validation.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
