7979 ACCUKNOX_TOKEN : ${{ inputs.accuknox_token }}
8080 ACCUKNOX_LABEL : ${{ inputs.label }}
8181 INPUT_SOFT_FAIL : ${{ inputs.input_soft_fail }}
82+ id : scan_check
8283 run : |
8384 curl -sSL -o accuknox-aspm-scanner \
84- https://github.com/accuknox/aspm-scanner-cli/releases/download/v0.8.13 /accuknox-aspm-scanner_linux_x86_64
85+ https://github.com/accuknox/aspm-scanner-cli/releases/download/v0.9.1 /accuknox-aspm-scanner_linux_x86_64
8586 chmod +x accuknox-aspm-scanner
8687 mv accuknox-aspm-scanner /usr/local/bin/
8788
@@ -90,22 +91,33 @@ runs:
9091 [ "$INPUT_SOFT_FAIL" = "true" ] && SOFT_FAIL_ARG="--softfail" || SOFT_FAIL_ARG=""
9192 export PIPELINE_URL="$JOB_URL"
9293
93- ARGS=""
94- [ "$SKIP_SONAR_SCAN" = "1" ] && ARGS="$ARGS --skip-sonar-scan"
95- [ -n "$SONAR_PROJECT_KEY" ] && ARGS="$ARGS --sonar-project-key \"$SONAR_PROJECT_KEY\""
96- [ -n "$SONAR_TOKEN" ] && ARGS="$ARGS --sonar-token \"$SONAR_TOKEN\""
97- [ -n "$SONAR_HOST_URL" ] && ARGS="$ARGS --sonar-host-url \"$SONAR_HOST_URL\""
98- [ -n "$SONAR_ORG_ID" ] && ARGS="$ARGS --sonar-org-id \"$SONAR_ORG_ID\""
99- [ -n "$PIPELINE_URL" ] && ARGS="$ARGS --pipeline-url \"$PIPELINE_URL\""
94+ # Build arguments array
95+ ARGS=()
96+ [ "$SKIP_SONAR_SCAN" = "1" ] && ARGS+=("--skip-sonar-scan")
97+ [ -n "$SONAR_PROJECT_KEY" ] && ARGS+=("-Dsonar.projectKey=$SONAR_PROJECT_KEY")
98+ [ -n "$SONAR_TOKEN" ] && ARGS+=("-Dsonar.token=$SONAR_TOKEN")
99+ [ -n "$SONAR_HOST_URL" ] && ARGS+=("-Dsonar.host.url=$SONAR_HOST_URL")
100+ [ -n "$SONAR_ORG_ID" ] && ARGS+=("-Dsonar.organization=$SONAR_ORG_ID")
101+ ARGS+=("-Dsonar.qualitygate.wait=true")
100102
101- echo "Running: accuknox-aspm-scanner $SOFT_FAIL_ARG scan sq-sast $ARGS"
102- eval accuknox-aspm-scanner $SOFT_FAIL_ARG scan sq-sast $ARGS
103+ CMD_STRING="${ARGS[@]}"
104+
105+ echo "Running: accuknox-aspm-scanner scan $SOFT_FAIL_ARG sq-sast --command \"${CMD_STRING}\" --pipeline-url \"$PIPELINE_URL\" --container-mode"
106+ accuknox-aspm-scanner scan $SOFT_FAIL_ARG sq-sast --command "${CMD_STRING}" --pipeline-url "$PIPELINE_URL" --container-mode
103107 AK_EXIT_CODE=$?
104108
109+ if ls SQ-*.json 1> /dev/null 2>&1; then
110+ upload_artifact=true
111+ else
112+ upload_artifact=false
113+ fi
114+
115+ echo "upload_artifact=$upload_artifact" >> $GITHUB_OUTPUT
116+
105117 echo "AK_EXIT_CODE=$AK_EXIT_CODE" >> $GITHUB_ENV
106118
107119 - name : Upload Scan Results as Artifact
108- if : inputs.upload_artifact == 'true'
120+ if : inputs.upload_artifact == 'true' && steps.scan_check.outputs.upload_artifact == 'true'
109121 uses : actions/upload-artifact@v4
110122 with :
111123 name : scan-results-${{ github.sha }}
0 commit comments