configure-secret-scan — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited configure-secret-scan (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Add secret detection scanning steps to existing Harness pipelines using Harness STO. Scans code repositories for exposed credentials, API keys, tokens, and other sensitive information.
Ask the user for the organization, project, and pipeline identifier if not already known. This skill only works with existing pipelines.
Call MCP tool: harness_get
Parameters:
resource_type: "pipeline"
resource_id: "<pipeline_identifier>"
org_id: "<organization>"
project_id: "<project>"Parse the pipeline YAML to automatically identify the repository connector.
pipeline.properties.ci.codebase.connectorRefIf no connector is found, inform the user the pipeline has no codebase configuration and cannot proceed with secret scanning.
Parse the pipeline YAML to identify all stages, steps, and any existing secret scanning steps.
Present the structure to the user:
Pipeline: <name>
Stage 1: <stage_name> (type: <stage_type>)
- Step 1: <step_name> (type: <step_type>)
...Ask where to insert the secret scan step — before or after which step, or at the end of which stage. Recommend adding it early in the CI stage, before build steps, so secrets are caught before any artifacts are produced.
Present the available secret detection scanners supported in Harness STO:
Top recommendation:
Dedicated standalone secret scanner:
Other scanners that also detect secrets as a side effect (findings appear under the "Secret" issue type alongside SAST/SCA results):
Default recommendation: Use Harness Code — the native Harness scanner that provides unified SAST, SCA, and secret detection with zero configuration and seamless STO integration. If the user explicitly wants a dedicated secret-only scanner, recommend Gitleaks as the standalone option.
Ask the user which scanner they prefer. If they don't specify, use Harness Code as the default.
Scanner product auth requirements:
| Scanner | type field | Product auth needed? | Auth fields |
|---|---|---|---|
| Gitleaks | Gitleaks | No | — |
| Harness Code | HarnessSAST | No | — |
| Aqua Trivy | AquaTrivy | No | — |
| Semgrep (OSS) | Semgrep | No | — |
| Semgrep (commercial) | Semgrep | Yes | access_token (Semgrep API token) |
| Snyk | Snyk | Yes | access_token (Snyk API token) |
| SonarQube | SonarQube | Yes | access_id (host URL), access_token (user token) |
| Checkmarx | Checkmarx | Yes | access_id (username), access_token (password) |
| Checkmarx One | CheckmarxOne | Yes | access_id (client ID), access_token (client secret) |
| Fossa | Fossa | Yes | access_token (FOSSA API key) |
| Wiz | Wiz | Yes | access_id (client ID), access_token (client secret) |
If the user picks a commercial scanner:
<+secrets.getValue("project.<secret_identifier>")>/create-secret firstFor Harness Code (default — unified SAST + SCA + secret detection):
- step:
type: HarnessSAST
name: Harness_Code_Scan
identifier: Harness_Code_Scan
spec:
mode: orchestration
config: sast_sca
target:
type: repository
detection: auto
advanced:
log:
level: infoFor Gitleaks (standalone secret scanner — Built-in):
- step:
type: Gitleaks
name: Gitleaks_Secret_Scan
identifier: Gitleaks_Secret_Scan
spec:
mode: orchestration
config: default
target:
type: repository
detection: auto
advanced:
log:
level: infoFor Semgrep (OSS, no auth):
- step:
type: Semgrep
name: Semgrep_Secret_Scan
identifier: Semgrep_Secret_Scan
spec:
mode: orchestration
config: default
target:
type: repository
detection: auto
advanced:
log:
level: infoFor commercial scanners — add `auth` block with scanner product credentials:
- step:
type: Snyk # or SonarQube, Checkmarx, CheckmarxOne, Fossa, Wiz
name: Snyk_Secret_Scan
identifier: Snyk_Secret_Scan
spec:
mode: orchestration
config: default
target:
type: repository
detection: auto
auth:
access_id: <+secrets.getValue("project.scanner_access_id")> # omit if not required
access_token: <+secrets.getValue("project.scanner_token")>
advanced:
log:
level: infoUse the auth field names from the scanner table in Step 4. Only include access_id for scanners that require it.
Insert the generated step at the location chosen in Step 3. Ensure proper indentation and structure.
Key rules:
type: CI) with cloneCodebase: true — source code must be availablespec.execution.steps of the chosen stageCall MCP tool: harness_update
Parameters:
resource_type: "pipeline"
resource_id: "<pipeline_identifier>"
org_id: "<organization>"
project_id: "<project>"
body: { yamlPipeline: "<updated pipeline YAML string>" }## Secret Scanner Configured
**Pipeline:** <pipeline_name>
**Scanner:** <scanner_name> (<scanner_type>)
**Location:** Stage "<stage_name>", <position description>
**Connector:** <connector_name>
**Pipeline URL:** https://app.harness.io/ng/account/<account_id>/module/sto/orgs/<org_id>/projects/<project_id>/pipelines/<pipeline_id>/pipeline-studio/
**Note:** Secret detection findings appear under the "Secret" issue type in the Security Tests tab.
### Next Steps
1. Run the pipeline to verify the scanner step executes successfully
2. View secret detection results in the Security Tests tab under the "Secret" issue type
3. Remediate found secrets — rotate any exposed credentials immediately
4. Configure exemptions for false positives via `/security-report` skill
5. Enforce pipeline gates on detected secrets via `/create-policy` skill/configure-secret-scan
Add secret scanning to my backend-api pipeline in the platform project/configure-secret-scan
I already use Semgrep for SAST — configure it to also detect secrets in my CI pipeline/configure-secret-scan
Add Gitleaks before the build step in my payment-service pipeline so we catch leaked keys before buildingauth credentials before generating YAML — missing auth causes runtime failures/create-secret before proceedingcloneCodebase: true is required on the CI stage — secret scanners need access to source codeorg_id and project_id are correctharness_list (resource_type: "pipeline")pipeline.properties.ci.codebase.connectorRef for v0 pipelinescloneCodebase: true is set on the CI stage — secret scanners need source code accessharness_diagnose for specific scanner errorsauth.access_token (and auth.access_id where required) reference valid Harness secretsharness_get(resource_type="secret")access_token is neededaccess_id and access_token are required/create-secret~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.