Skip to content

Commit fe07411

Browse files
STO: Document Nexus IQ Native Step (#11240)
1 parent bfc84f3 commit fe07411

File tree

1 file changed

+164
-15
lines changed

1 file changed

+164
-15
lines changed

docs/security-testing-orchestration/sto-techref-category/nexus-scanner-reference.md

Lines changed: 164 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,176 @@ sidebar_position: 250
1212
<br/>
1313
<br/>
1414

15-
You can scan your code repositories and ingest results from [Nexus IQ](https://docs.developer.tech.gov.sg/docs/ship-hats-docs/tools/nexus-iq/nexus-iq-overview).
1615

17-
## Workflow descriptions
16+
You can use the **Nexus IQ** Scanner in Harness STO to scan your **Code Repositories** for **Software Composition Analysis (SCA)**. This document guides you through the configuration process, explaining each field and the information required to set up the scan step successfully.
1817

19-
<details>
20-
<summary>Orchestration/extraction workflows</summary>
18+
:::info
19+
- You can utilize custom STO scan images and pipelines to run scans as a non-root user. For more details, refer [Configure your pipeline to use STO images from private registry](/docs/security-testing-orchestration/use-sto/set-up-sto-pipelines/configure-pipeline-to-use-sto-images-from-private-registry).
20+
- STO supports three different approaches for loading self-signed certificates. For more information, refer [Run STO scans with custom SSL certificates](/docs/security-testing-orchestration/use-sto/secure-sto-pipelines/ssl-setup-in-sto/#supported-workflows-for-adding-custom-ssl-certificates).
2121

22-
import CustomScanWorkflowRepo from './shared/custom-scan/workflow.md';
2322

24-
<CustomScanWorkflowRepo />
23+
import StoMoreInfo from '/docs/security-testing-orchestration/sto-techref-category/shared/more-information.md';
2524

26-
</details>
25+
<StoMoreInfo />
26+
:::
2727

28-
<details>
29-
<summary>Ingestion workflows</summary>
28+
## Nexus IQ step settings
3029

31-
import CustomScanWorkflowIngest from './shared/custom-scan/workflow-ingest-only.md';
30+
The recommended workflow is to add the step to a **Security** or **Build** stage and then configure it as described below.
3231

33-
<CustomScanWorkflowIngest />
32+
### Scan
3433

35-
</details>
34+
#### Scan Mode
3635

37-
## Custom Scan step settings for Nexus scans
36+
- **Orchestration mode**: In this mode, the step executes the scan, then processes the results by normalizing and deduplicating them.
37+
38+
- **Ingestion mode**: In this mode, the step reads scan results from a data file, normalizes the data, and removes duplicates. It supports ingestion of results from scan results in [SARIF format](https://docs.oasis-open.org/sarif/sarif/v2.0/sarif-v2.0.html).
39+
40+
- **Extraction mode**: In this mode, the step retrieves scan results from the Nexus IQ server/portal and stores them in STO
41+
42+
43+
#### Scan Configuration
44+
45+
import StoSettingProductConfigName from './shared/step-palette/scan/config-name.md';
46+
47+
<StoSettingProductConfigName />
48+
49+
### Target
50+
51+
#### Type
52+
53+
import StoSettingScanTypeRepo from './shared/step-palette/target/type/repo.md';
54+
55+
<StoSettingScanTypeRepo />
56+
57+
58+
#### Target and variant detection
59+
60+
import StoSettingScanTypeAutodetectRepo from './shared/step-palette/target/auto-detect/code-repo.md';
61+
import StoSettingScanTypeAutodetectNote from './shared/step-palette/target/auto-detect/note.md';
62+
63+
<StoSettingScanTypeAutodetectRepo/>
64+
<StoSettingScanTypeAutodetectNote/>
65+
66+
#### Name
67+
68+
import StoSettingTargetName from './shared/step-palette/target/name.md';
69+
70+
<StoSettingTargetName />
71+
72+
73+
#### Variant
74+
75+
import StoSettingTargetVariant from './shared/step-palette/target/variant.md';
76+
77+
<StoSettingTargetVariant />
78+
79+
#### Workspace
80+
81+
import StoSettingTargetWorkspace from './shared/step-palette/target/workspace.md';
82+
83+
<StoSettingTargetWorkspace />
84+
85+
86+
### Ingestion File
87+
88+
import StoSettingIngestionFile from './shared/step-palette/ingest/file.md';
89+
90+
<StoSettingIngestionFile />
91+
92+
### Authentication
93+
94+
95+
#### Domain
96+
97+
import StoSettingAuthDomain from './shared/step-palette/auth/domain.md';
98+
99+
<StoSettingAuthDomain />
100+
101+
#### Access ID
102+
103+
import StoSettingAuthAccessID from './shared/step-palette/auth/access-id.md';
104+
105+
<StoSettingAuthAccessID />
106+
107+
108+
#### Access Token
109+
110+
import StoSettingAuthAccessToken from './shared/step-palette/auth/access-token.md';
111+
112+
<StoSettingAuthAccessToken />
113+
114+
### Scan Tool
115+
116+
#### Lookup Type
117+
Select how to identify the application in **Extraction** scan mode. You can specify the application by its **Public ID** or **Private ID**.
118+
119+
#### Project Name
120+
The name of the scan project as defined in your scanner configuration. In Harness, this value is also used as the **Target Name** when the **Auto** option is selected under [Target and Variant Detection](#target-and-variant-detection).
121+
122+
#### Organization ID
123+
The unique identifier of your organization in Nexus IQ Server. This ID is used to associate policies, applications, and scan results with the correct organizational context in Nexus IQ. If the application doesn't exist and automatic creation is enabled, it will be created under this organization.
124+
125+
You can find the Organization ID in the URL of your Nexus IQ Server/Portal, e.g., for
126+
`https://your-nexus-server/#/management/view/organization/44a7583387054c2fb55aefeb7c618195`
127+
the Organization ID is `44a7583387054c2fb55aefeb7c618195`.
128+
129+
130+
#### Lookup ID
131+
The identifier for the specific application you are scanning in Nexus IQ, also known as the **Application ID**. This maps scan results to a known application profile in your Nexus IQ Server. When automatic creation is enabled and this ID hasn't been used before, a new application is created with this ID.
132+
133+
- The **Public ID** is typically what you use for application lookups and can be found under the App Name in Nexus IQ UI.
134+
- The **Private ID** is an internal reference, mainly used in API calls or advanced scenarios.
135+
136+
#### Exclude
137+
Define the exclusions to the scan's initial scope. The format should follow the Nexus IQ scanner requirements. You can exclude both files and folders, separated by commas. For example: `exclude="cmd,*/go.mod"`
138+
139+
### Log Level
140+
141+
import StoSettingLogLevel from './shared/step-palette/all/log-level.md';
142+
143+
<StoSettingLogLevel />
144+
145+
146+
### Additional CLI flags
147+
148+
Use this field to run the **Nexus** with flags.
149+
150+
151+
import StoSettingCliFlagsCaution from '/docs/security-testing-orchestration/sto-techref-category/shared/step-palette/all/cli-flags-caution.md';
152+
153+
<StoSettingCliFlagsCaution />
154+
155+
156+
#### Fail on Severity
157+
158+
import StoSettingFailOnSeverity from './shared/step-palette/all/fail-on-severity.md';
159+
160+
<StoSettingFailOnSeverity />
161+
162+
163+
164+
### Additional Configuration
165+
166+
import ScannerRefAdditionalConfigs from './shared/additional-config.md';
167+
168+
<ScannerRefAdditionalConfigs />
169+
170+
171+
### Advanced settings
172+
173+
import ScannerRefAdvancedSettings from './shared/advanced-settings.md';
174+
175+
<ScannerRefAdvancedSettings />
176+
177+
## Proxy settings
178+
179+
import ProxySettings from './shared/proxy-settings.md';
180+
181+
<ProxySettings />
182+
183+
184+
<!--
38185
39186
### Scanner settings
40187
@@ -142,7 +289,7 @@ import StoLegacyTargetAndVariant from './shared/custom-scan/target-variant.md';
142289
143290
-->
144291

145-
### Repository
292+
<!-- ### Repository
146293
147294
import StoLegacyRepo from './shared/custom-scan/repo.md';
148295
@@ -265,4 +412,6 @@ import StoLegacyIngest from './shared/custom-scan/ingestion-file.md';
265412
266413
import StoSettingFailOnSeverity from './shared/custom-scan/fail-on-severity.md';
267414
268-
<StoSettingFailOnSeverity />
415+
<StoSettingFailOnSeverity />
416+
417+
-->

0 commit comments

Comments
 (0)