> For the complete documentation index, see [llms.txt](https://docs.xygeni.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xygeni.io/xygeni-products/application-security-posture-management-aspm/importing-reports-from-3rd-party-tools/sast-report-import.md).

# SAST Report Import

Static Application Security Testing findings — code vulnerabilities detected by source-code analysis.

## How to import a report

1. **Download** and configure the CLI Scanner. See [these guidelines](https://docs.xygeni.io/xygeni-scanner-cli/xygeni-cli-overview/xygeni-cli-installation).
2. Use the xygeni **report-upload command**:

   **Convert + upload** (a report file produced by the tool):

   ```bash
   xygeni report-upload -n=<Name> --report="path/to/report_file" -f=<format> [--branch="branch"]
   ```

   **Pull** (where supported — see the [Pull mode](#pull-mode) section below):

   ```bash
   xygeni report-upload -n=<Name> --pull -f=<format> --selector key=value [--filter key=value]
   ```

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>If the <code>--branch</code> parameter is not set, the branch will be marked as "Unknown".</p></div>
3. Move to the [**Xygeni dashboard**](https://in.xygeni.io) to see the results.

## Supported formats

| Format                       | Tool                       | Description                                                           |
| ---------------------------- | -------------------------- | --------------------------------------------------------------------- |
| `sast-sarif`                 | \<any>                     | Code vulnerabilities detected by a SAST tool, in SARIF format         |
| `sast-appscan-xml`           | HCL AppScan Source         | AppScan Source SAST report, in XML format (legacy referential format) |
| `sast-appscan-asoc`          | HCL AppScan on Cloud / 360 | AppScan on Cloud / 360 SAST report, in XML format                     |
| `sast-brakeman`              | Brakeman                   | Brakeman SAST report for Ruby, in JSON format                         |
| `sast-checkmarx`             | Checkmarx                  | CxSAST JSON report                                                    |
| `sast-checkmarx-xml`         | Checkmarx                  | CxSAST XML report                                                     |
| `sast-checkmarx-one`         | Checkmarx One              | SAST scanner of Checkmarx One, in JSON format                         |
| `sast-checkmarx-one-results` | Checkmarx One              | SAST scanner of Checkmarx One, exported using `cx results show`       |
| `sast-fortify-fpr`           | Fortify                    | Fortify SAST report, in .fpr or .fvdl format                          |
| `sast-fortify-xml`           | Fortify                    | Fortify SAST XML report                                               |
| `sast-kiuwan`                | Kiuwan                     | Kiuwan SAST XML report (via Local Analyzer + ExportRule)              |
| `sast-kiuwan-api`            | Kiuwan                     | Kiuwan SAST findings via the native REST API (pull mode only)         |
| `sast-opengrep`              | OpenGrep                   | OpenGrep SAST report, in JSON format                                  |
| `sast-sonarcloud`            | SonarCloud                 | SonarCloud SAST JSON report                                           |
| `sast-sonarserver`           | SonarServer                | SonarServer SAST JSON report                                          |
| `sast-sonarqube`             | SonarQube                  | SonarQube JSON report                                                 |

## Pull mode

The following formats also support [pull mode](/xygeni-products/application-security-posture-management-aspm/importing-reports-from-3rd-party-tools/pull-mode-fetch.md) — the scanner calls the tool's API directly instead of reading a report file from disk:

| Format               | Tool          | Auth                                                                                                                                                                                                                                                                               |
| -------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sast-sonarcloud`    | SonarCloud    | Bearer token                                                                                                                                                                                                                                                                       |
| `sast-sonarqube`     | SonarQube     | Basic auth (token-as-username)                                                                                                                                                                                                                                                     |
| `sast-kiuwan-api`    | Kiuwan        | Basic auth (API user + token) — **recommended for new Kiuwan integrations**; see the [Report upload for Kiuwan](/xygeni-products/application-security-posture-management-aspm/importing-reports-from-3rd-party-tools/external-scanners-supported/report-upload-for-kiuwan.md) page |
| `sast-checkmarx-one` | Checkmarx One | OAuth2 client credentials                                                                                                                                                                                                                                                          |

See [Pull-mode fetch](/xygeni-products/application-security-posture-management-aspm/importing-reports-from-3rd-party-tools/pull-mode-fetch.md) for the per-tool walkthrough (env-var setup, selectors, filters).

{% hint style="info" %}
For Sonar, the convert+upload JSON can be downloaded from the [SonarCloud Web API GET api/issues/search](https://sonarcloud.io/web_api/api/issues/search?deprecated=false\&section=params) endpoint, using `additionalField=_all` to get all additional fields. If the number of issues exceeds 500, paginate the request — or use pull mode, which does this automatically.
{% endhint %}

## Dashboard results

If the entered name matches an existing project, the vulnerabilities in the report will be added to that project in a new tab. If the project does not exist, a new project will be created.

{% hint style="info" %}
If you are ingesting a report to an existing project and the vulnerabilities do not appear, check the branch of the project. If you have not set the `--branch` parameter when executing the command, Xygeni could have marked the branch as "Unknown".
{% endhint %}


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.xygeni.io/xygeni-products/application-security-posture-management-aspm/importing-reports-from-3rd-party-tools/sast-report-import.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
