StackHawk Documentation StackHawk Logo HawkDocs
applications

No results found

Try different keywords or check your spelling

Search documentation

Find guides, API references, and more

esc

Get application config

GET /api/v1/app/{appId}/config/{configHash}

Gets this application configuration by its config hash.

Requires read:scan_config permission.

Path parameters

appIdstring · uuidrequired

UUID identifier for this StackHawk Application.

configHashstringrequired

The hash of a HawkScan config assigned to scanResults of a StackHawk application.

Response

Response of the HawkScan configuration for this application.

conf
hawkscan.HawkscanConf
Hide child attributesShow child attributes
conf.app
hawkscan.AppConf
Hide child attributesShow child attributes
conf.app.antiCsrfParam
string

The name of your CSRF security parameter used in any application form inputs. Globally set, HawkScan will parse this parameter value from form responses to use in subsequent requests.

conf.app.applicationId
string

**Required**. Your StackHawk application UUID. Create an application in the [StackHawk platform](https://app.stackhawk.com) to obtain this identifier.

conf.app.authentication
hawkscan.Authentication
Hide child attributesShow child attributes
conf.app.authentication.cookieAuthorization
hawkscan.CookieAuthorization
Hide child attributesShow child attributes
conf.app.authentication.cookieAuthorization.cookieNames
string[]

A list of strings that are the names of cookies used for maintaining a session. Typically this is one value like `jsessionid` or `PHPSESS`. When used in combination with authentication HawkScan will use this value to persist authenticated session state with your application.

conf.app.authentication.external
hawkscan.ExternalCredentials
Hide child attributesShow child attributes
conf.app.authentication.external.type
enum<string>

Specifies the type of token being supplied. If `COOKIE` is specified the .external.value should be in the form of a cookie value <cookie-name>=<cookie-value> . Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.authentication.external.value
string

**Required**. The value containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`. Use value or values but not both. The value containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`.

conf.app.authentication.external.values
hawkscan.AuthTokens[]

The value pairs containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`.

Hide child attributesShow child attributes
conf.app.authentication.external.values.tokenType
string

If specified tokenType will be prepended the header value e.g. tokenType: Bearer -> "Bearer xxxxxxxxx"

conf.app.authentication.external.values.type
enum<string>

Specifies the type of token being supplied, either `TOKEN` or `COOKIE`. Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.authentication.external.values.value
hawkscan.NameValParam
Hide child attributesShow child attributes
conf.app.authentication.external.values.value.name
string

Param name.

conf.app.authentication.external.values.value.val
string

Param value.

conf.app.authentication.externalCommand
hawkscan.ExternalCommandCredentials
Hide child attributesShow child attributes
conf.app.authentication.externalCommand.command
string

The command to start the process e.g. `bash`, `python`

conf.app.authentication.externalCommand.parameters
string[]

Parameters required to run the script e.g. `-c`, `--verbose`

conf.app.authentication.externalCommand.timeoutSeconds
integer<int64>

Maximum time in seconds to wait for the process to complete. Defaults to 60 seconds.

conf.app.authentication.loggedInIndicator
string

A regex to match against http responses from pages in the web application to determine if the scanned pages user session is still logged in to the app, provided as a string (ex. `".*signed in as.*"`). Required if authorization token is not a JWT.

conf.app.authentication.loggedOutIndicator
string

A regex to match against http responses from pages in the web application to determine if the scanned pages user session is logged out of the app, provided as a string. Required if authorization token is not a JWT.

conf.app.authentication.oauth
hawkscan.OAuth
Hide child attributesShow child attributes
conf.app.authentication.oauth.credentials
hawkscan.OAuthCredentials
Hide child attributesShow child attributes
conf.app.authentication.oauth.credentials.additionalCreds
object

A list of name/value pairs of any additional fields or credentials that need to be posted to the OAuth provider token endpoint.

conf.app.authentication.oauth.credentials.clientId
string

The client id of your application registered with your OAuth provider which will be posted n the request body to the token endpoint with the field name of `client_id`.

conf.app.authentication.oauth.credentials.clientSecret
string

The client secret of your application registered with your OAuth provider which will be posted n the request body to the token endpoint with the field name of `client_secret`.

conf.app.authentication.oauth.credentials.password
string

Password which will be posted in the request body to the token endpoint with the field name of `password`.

conf.app.authentication.oauth.credentials.username
string

Username which will be posted in the request body to the token endpoint with the field name of `username`.

conf.app.authentication.oauth.parameters
hawkscan.OAuthParameters
Hide child attributesShow child attributes
conf.app.authentication.oauth.parameters.additionalBodyParams
object

A list of optional additional name/value pairs to be included in the request body of the post. **NOTE:** These values are not redacted, if you need additional sensitive values please use `outhCredentials.additionalCreds`

conf.app.authentication.oauth.parameters.additionalQueryParams
object

A list of optional additional name/value pairs to be passed to the query string.

conf.app.authentication.oauth.parameters.grantType
string

Grant type of token request, this will be passed to the request body of the token endpoint as `grant_type`.

conf.app.authentication.oauth.parameters.requestHeaders
object

Additional headers to be sent along with the request to the token endpoint

conf.app.authentication.oauth.parameters.requestMethod
enum<string>

Http method for accessing the token endpoint. The default is POST.

7 available options
POSTPUTDELETEGETOPTIONSPATCHHEAD
conf.app.authentication.oauth.parameters.scope
string

Scope type of token request, this will be passed to the request body of the token endpoint as `scope`.

conf.app.authentication.oauth.parameters.tokenEndpoint
string

URL of the endpoint to get a token

conf.app.authentication.overrideJWTAutoRenew
boolean

If set to true HawkScan will not try to autorenew a JWT.

conf.app.authentication.profiles
hawkscan.UserProfile[]

Optional extra creds

Hide child attributesShow child attributes
conf.app.authentication.profiles.authScript
hawkscan.UserProfile.ProfileScript
Hide child attributesShow child attributes
conf.app.authentication.profiles.authScript.credentials
object

Key-value pairs of sensitive credentials required by the authentication script that will be redacted from logs.

conf.app.authentication.profiles.authScript.name
string

**Required**. The name of the authentication script defined in `hawkAddOn.scripts` to use for this profile.

conf.app.authentication.profiles.external
hawkscan.UserProfile.External
Hide child attributesShow child attributes
conf.app.authentication.profiles.external.authTokens
hawkscan.AuthTokens[]

List of authentication tokens to use for this user profile. Can include multiple tokens or cookies.

Hide child attributesShow child attributes
conf.app.authentication.profiles.external.authTokens.tokenType
string

If specified tokenType will be prepended the header value e.g. tokenType: Bearer -> "Bearer xxxxxxxxx"

conf.app.authentication.profiles.external.authTokens.type
enum<string>

Specifies the type of token being supplied, either `TOKEN` or `COOKIE`. Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.authentication.profiles.external.authTokens.value
hawkscan.NameValParam
Hide child attributesShow child attributes
conf.app.authentication.profiles.external.authTokens.value.name
string

Param name.

conf.app.authentication.profiles.external.authTokens.value.val
string

Param value.

conf.app.authentication.profiles.globalParameters
object

Use this for parameters for individual users that can't be discovered by smart crawling.

conf.app.authentication.profiles.isPrivileged
boolean

Indicates whether this user profile has elevated privileges (true for admin/privileged users, false for standard users).

conf.app.authentication.profiles.name
string

**Required**. A unique identifier name for this user profile to distinguish between different users during multi-user scans.

conf.app.authentication.profiles.userNamePassword
hawkscan.UserProfile.UserNamePassword
Hide child attributesShow child attributes
conf.app.authentication.profiles.userNamePassword.password
string

**Required**. The password for this user profile. Use environment variable interpolation (e.g., `${USER2_PASSWORD}`).

conf.app.authentication.profiles.userNamePassword.username
string

**Required**. The username for this user profile. Use environment variable interpolation (e.g., `${USER2_USERNAME}`).

conf.app.authentication.script
hawkscan.AuthenticationScript
Hide child attributesShow child attributes
conf.app.authentication.script.credentials
object

The credentials required for the authentication script. These values will be redacted.

conf.app.authentication.script.name
string

The name of the authentication script, as specified in the `hawkAddOn.scripts.name`.

conf.app.authentication.script.parameters
object

The parameters required for the authentication script.

conf.app.authentication.sessionScript
hawkscan.SessionScript
Hide child attributesShow child attributes
conf.app.authentication.sessionScript.name
string

*Required* The name of the session script defined in `hawkAddons.scripts`. The script `type` must be `session`, and match the `hawkAddOn.scripts.name` field.

conf.app.authentication.sessionScript.parameters
object

A map of key/value pairs that will be passed to your session script, which can be accessed via `sessionWrapper.getParam()` function.

conf.app.authentication.testPath
hawkscan.AuthTestPath
Hide child attributesShow child attributes
conf.app.authentication.testPath.fail
string

A regex that will match against the response header or body, specified by `type`, of the GET request to the `path`. A match of the regex supplied will indicate that scanning should halt and enter an error state. HawkScan requires that either `success` OR `fail` be configured (do not configure both).

conf.app.authentication.testPath.grpcTestMethod
string

The gRPC method path to call for authentication validation (e.g., "/auth.AuthService/ValidateToken"). Only used when authentication type is GRPC.

conf.app.authentication.testPath.path
string

**Required**. The path to a protected route in your application that requires authorization. For example `/mysettings`. A `GET` request will be made to this path using the configured authentication.

conf.app.authentication.testPath.requestBody
string

The request content to send along with POST or PUT requests for authentication verification.

conf.app.authentication.testPath.requestHeaders
object

List of key/value pairs to be included as headers in the request to the `path`. Headers that match the following pattern are unable to be added or modified `'^(Host|Origin|Proxy-.*|Sec-.*|Content-Length)'`.

conf.app.authentication.testPath.requestMethod
enum<string>

Request method to use for queries. Will generate GraphQL queries as either POST payloads or GET uri strings.

4 available options
GETPOSTPUTPATCH
conf.app.authentication.testPath.success
string

A regex that will match against the response header or body, specified by `type`, of the GET request to the `path`. A match of the regex supplied will indicate that scanning should proceed with the specified authentication. HawkScan requires that either `success` OR `fail` be configured (do not configure both).

conf.app.authentication.testPath.type
enum<string>

An enum value representing what to match against in the response from issuing a request to the `testPath.path`. The supported values are `HEADER` and `BODY`.

2 available options
HEADERBODY
conf.app.authentication.tokenAuthorization
hawkscan.TokenAuthorization
Hide child attributesShow child attributes
conf.app.authentication.tokenAuthorization.isJWT
boolean

If the token is a JWT, mark this field as true

conf.app.authentication.tokenAuthorization.renewMillis
integer<int64>

If isJWT is set to true, this field will determine the time in milliseconds before expiration to auto renew the JWT.

conf.app.authentication.tokenAuthorization.tokenType
string

TokenType will be prepended the header value e.g. tokenType: TOKEN -> "TOKEN xxxxxxxxx"

conf.app.authentication.tokenAuthorization.type
enum<string>

An enum value representing how to pass the authorization token to your application. `HEADER` indicates that each request should have the authorization token header added to the requests. `QUERY_PARAM` indicates that the token should be passed as a query parameter.

2 available options
HEADERQUERY_PARAM
conf.app.authentication.tokenAuthorization.value
string

**Required**. The name of the `HEADER` or `QUERY_PARAM` the token should be passed as.

conf.app.authentication.tokenExtraction
hawkscan.TokenExtraction
Hide child attributesShow child attributes
conf.app.authentication.tokenExtraction.type
enum<string>

Specifying `TOKEN_PATH` tells HawkScan to extract the token from the JSON payload of the response from authentication. `HEADER` tells HawkScan to extract the token from a header in the response from authentication. defaults to `TOKEN_PATH`.

2 available options
TOKEN_PATHHEADER_NAME
conf.app.authentication.tokenExtraction.value
string

*Required**. String containing the path to the token in the JSON payload authentication response or the name of the response header containing the token. Example: if the authentication response JSON payload looks like `{"auth" : {"token": "<my-auth-token>"}}` the value would be `auth.token`. If the authentication response has a header named `AuthToken: <my-token>`, then the value should be `AuthToken`.

conf.app.authentication.usernamePassword
hawkscan.UsernamePasswordCredentials
Hide child attributesShow child attributes
conf.app.authentication.usernamePassword.grpcMethod
string

The gRPC method path for authentication (e.g., "/auth.AuthService/Login"). Required when type is GRPC. Uses grpcConf for descriptor.

conf.app.authentication.usernamePassword.jsonrpcMethod
string

The JSON-RPC method name to call for authentication (e.g., "auth.login"). Required when type is JSON_RPC.

conf.app.authentication.usernamePassword.loginPagePath
string

The path to your login form, if applicable. This is an optional path but is often required if the `POST` to the loginPath requires an anti csrf token to be passed as part of the `POST`. The `app.antiCsrfParam` will be extracted from the response body of a GET request to this page.

conf.app.authentication.usernamePassword.loginPath
string

**Required**. login route to `POST` credentials for a user in the application (ex. `/login`). An http `POST` request using the type specified will be made to this path.

conf.app.authentication.usernamePassword.otherParams
hawkscan.NameValParam[]

Other request parameters required by your login payload, provided as an array of objects with `name` and `value` string keys. This setting is helpful if your authentication process requires other parameters included in the form POST besides the username and password parameters. If in doubt, this setting can be safely left unconfigured.

Hide child attributesShow child attributes
conf.app.authentication.usernamePassword.otherParams.name
string

Param name.

conf.app.authentication.usernamePassword.otherParams.val
string

Param value.

conf.app.authentication.usernamePassword.passwordField
string

**Required**. The password html field used in your application form or json, provided as a string.

conf.app.authentication.usernamePassword.realm
string

Realm for NTLM authentication

conf.app.authentication.usernamePassword.scanPassword
string

*Required**. The password credentials provided to authentication when attempting to login to the web application, provided as a string. HawkScan best practices recommend using [environment variable runtime overrides](https://docs.stackhawk.com/hawkscan/configuration/#environment-variable-runtime-overrides) for this value (ex. "${SCAN_PASSWORD}" will use the $SCAN_PASSWORD environment variable as the scanPassword).

conf.app.authentication.usernamePassword.scanUsername
string

*Required**. The username credentials provided to authentication when attempting to login to the web application, provided as a string. HawkScan best practices recommend using [environment variable runtime overrides](https://docs.stackhawk.com/hawkscan/configuration/#environment-variable-runtime-overrides) for this value (ex. "${SCAN_USERNAME:admin}" will use the $SCAN_USERNAME environment variable as the scanUsername, or fallback to admin).

conf.app.authentication.usernamePassword.type
enum<string>

An enum value describing the type of `POST` data expected by the `loginPath`

5 available options
FORMJSONHTTPJSON_RPCGRPC
conf.app.authentication.usernamePassword.usernameField
string

**Required**. the username html field used in your application form or json, provided as a string.

conf.app.autoInputVectors
boolean

Set to `true` to automatically enabled the correct input data types when scanning APIs like GraphQL and OpenAPI. This can increase scan accuracy and reduce false positives. Defaults to True.

conf.app.autoPolicy
boolean

Set to `true` to enable an optimized policy when scanning specific APIs like GraphQL and OpenAPI. Defaults to True.

conf.app.badAuthentication
hawkscan.Authentication
Hide child attributesShow child attributes
conf.app.badAuthentication.cookieAuthorization
hawkscan.CookieAuthorization
Hide child attributesShow child attributes
conf.app.badAuthentication.cookieAuthorization.cookieNames
string[]

A list of strings that are the names of cookies used for maintaining a session. Typically this is one value like `jsessionid` or `PHPSESS`. When used in combination with authentication HawkScan will use this value to persist authenticated session state with your application.

conf.app.badAuthentication.external
hawkscan.ExternalCredentials
Hide child attributesShow child attributes
conf.app.badAuthentication.external.type
enum<string>

Specifies the type of token being supplied. If `COOKIE` is specified the .external.value should be in the form of a cookie value <cookie-name>=<cookie-value> . Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.badAuthentication.external.value
string

**Required**. The value containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`. Use value or values but not both. The value containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`.

conf.app.badAuthentication.external.values
hawkscan.AuthTokens[]

The value pairs containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`.

Hide child attributesShow child attributes
conf.app.badAuthentication.external.values.tokenType
string

If specified tokenType will be prepended the header value e.g. tokenType: Bearer -> "Bearer xxxxxxxxx"

conf.app.badAuthentication.external.values.type
enum<string>

Specifies the type of token being supplied, either `TOKEN` or `COOKIE`. Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.badAuthentication.external.values.value
hawkscan.NameValParam
Hide child attributesShow child attributes
conf.app.badAuthentication.external.values.value.name
string

Param name.

conf.app.badAuthentication.external.values.value.val
string

Param value.

conf.app.badAuthentication.externalCommand
hawkscan.ExternalCommandCredentials
Hide child attributesShow child attributes
conf.app.badAuthentication.externalCommand.command
string

The command to start the process e.g. `bash`, `python`

conf.app.badAuthentication.externalCommand.parameters
string[]

Parameters required to run the script e.g. `-c`, `--verbose`

conf.app.badAuthentication.externalCommand.timeoutSeconds
integer<int64>

Maximum time in seconds to wait for the process to complete. Defaults to 60 seconds.

conf.app.badAuthentication.loggedInIndicator
string

A regex to match against http responses from pages in the web application to determine if the scanned pages user session is still logged in to the app, provided as a string (ex. `".*signed in as.*"`). Required if authorization token is not a JWT.

conf.app.badAuthentication.loggedOutIndicator
string

A regex to match against http responses from pages in the web application to determine if the scanned pages user session is logged out of the app, provided as a string. Required if authorization token is not a JWT.

conf.app.badAuthentication.oauth
hawkscan.OAuth
Hide child attributesShow child attributes
conf.app.badAuthentication.oauth.credentials
hawkscan.OAuthCredentials
Hide child attributesShow child attributes
conf.app.badAuthentication.oauth.credentials.additionalCreds
object

A list of name/value pairs of any additional fields or credentials that need to be posted to the OAuth provider token endpoint.

conf.app.badAuthentication.oauth.credentials.clientId
string

The client id of your application registered with your OAuth provider which will be posted n the request body to the token endpoint with the field name of `client_id`.

conf.app.badAuthentication.oauth.credentials.clientSecret
string

The client secret of your application registered with your OAuth provider which will be posted n the request body to the token endpoint with the field name of `client_secret`.

conf.app.badAuthentication.oauth.credentials.password
string

Password which will be posted in the request body to the token endpoint with the field name of `password`.

conf.app.badAuthentication.oauth.credentials.username
string

Username which will be posted in the request body to the token endpoint with the field name of `username`.

conf.app.badAuthentication.oauth.parameters
hawkscan.OAuthParameters
Hide child attributesShow child attributes
conf.app.badAuthentication.oauth.parameters.additionalBodyParams
object

A list of optional additional name/value pairs to be included in the request body of the post. **NOTE:** These values are not redacted, if you need additional sensitive values please use `outhCredentials.additionalCreds`

conf.app.badAuthentication.oauth.parameters.additionalQueryParams
object

A list of optional additional name/value pairs to be passed to the query string.

conf.app.badAuthentication.oauth.parameters.grantType
string

Grant type of token request, this will be passed to the request body of the token endpoint as `grant_type`.

conf.app.badAuthentication.oauth.parameters.requestHeaders
object

Additional headers to be sent along with the request to the token endpoint

conf.app.badAuthentication.oauth.parameters.requestMethod
enum<string>

Http method for accessing the token endpoint. The default is POST.

7 available options
POSTPUTDELETEGETOPTIONSPATCHHEAD
conf.app.badAuthentication.oauth.parameters.scope
string

Scope type of token request, this will be passed to the request body of the token endpoint as `scope`.

conf.app.badAuthentication.oauth.parameters.tokenEndpoint
string

URL of the endpoint to get a token

conf.app.badAuthentication.overrideJWTAutoRenew
boolean

If set to true HawkScan will not try to autorenew a JWT.

conf.app.badAuthentication.profiles
hawkscan.UserProfile[]

Optional extra creds

Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.authScript
hawkscan.UserProfile.ProfileScript
Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.authScript.credentials
object

Key-value pairs of sensitive credentials required by the authentication script that will be redacted from logs.

conf.app.badAuthentication.profiles.authScript.name
string

**Required**. The name of the authentication script defined in `hawkAddOn.scripts` to use for this profile.

conf.app.badAuthentication.profiles.external
hawkscan.UserProfile.External
Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.external.authTokens
hawkscan.AuthTokens[]

List of authentication tokens to use for this user profile. Can include multiple tokens or cookies.

Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.external.authTokens.tokenType
string

If specified tokenType will be prepended the header value e.g. tokenType: Bearer -> "Bearer xxxxxxxxx"

conf.app.badAuthentication.profiles.external.authTokens.type
enum<string>

Specifies the type of token being supplied, either `TOKEN` or `COOKIE`. Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.badAuthentication.profiles.external.authTokens.value
hawkscan.NameValParam
Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.external.authTokens.value.name
string

Param name.

conf.app.badAuthentication.profiles.external.authTokens.value.val
string

Param value.

conf.app.badAuthentication.profiles.globalParameters
object

Use this for parameters for individual users that can't be discovered by smart crawling.

conf.app.badAuthentication.profiles.isPrivileged
boolean

Indicates whether this user profile has elevated privileges (true for admin/privileged users, false for standard users).

conf.app.badAuthentication.profiles.name
string

**Required**. A unique identifier name for this user profile to distinguish between different users during multi-user scans.

conf.app.badAuthentication.profiles.userNamePassword
hawkscan.UserProfile.UserNamePassword
Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.userNamePassword.password
string

**Required**. The password for this user profile. Use environment variable interpolation (e.g., `${USER2_PASSWORD}`).

conf.app.badAuthentication.profiles.userNamePassword.username
string

**Required**. The username for this user profile. Use environment variable interpolation (e.g., `${USER2_USERNAME}`).

conf.app.badAuthentication.script
hawkscan.AuthenticationScript
Hide child attributesShow child attributes
conf.app.badAuthentication.script.credentials
object

The credentials required for the authentication script. These values will be redacted.

conf.app.badAuthentication.script.name
string

The name of the authentication script, as specified in the `hawkAddOn.scripts.name`.

conf.app.badAuthentication.script.parameters
object

The parameters required for the authentication script.

conf.app.badAuthentication.sessionScript
hawkscan.SessionScript
Hide child attributesShow child attributes
conf.app.badAuthentication.sessionScript.name
string

*Required* The name of the session script defined in `hawkAddons.scripts`. The script `type` must be `session`, and match the `hawkAddOn.scripts.name` field.

conf.app.badAuthentication.sessionScript.parameters
object

A map of key/value pairs that will be passed to your session script, which can be accessed via `sessionWrapper.getParam()` function.

conf.app.badAuthentication.testPath
hawkscan.AuthTestPath
Hide child attributesShow child attributes
conf.app.badAuthentication.testPath.fail
string

A regex that will match against the response header or body, specified by `type`, of the GET request to the `path`. A match of the regex supplied will indicate that scanning should halt and enter an error state. HawkScan requires that either `success` OR `fail` be configured (do not configure both).

conf.app.badAuthentication.testPath.grpcTestMethod
string

The gRPC method path to call for authentication validation (e.g., "/auth.AuthService/ValidateToken"). Only used when authentication type is GRPC.

conf.app.badAuthentication.testPath.path
string

**Required**. The path to a protected route in your application that requires authorization. For example `/mysettings`. A `GET` request will be made to this path using the configured authentication.

conf.app.badAuthentication.testPath.requestBody
string

The request content to send along with POST or PUT requests for authentication verification.

conf.app.badAuthentication.testPath.requestHeaders
object

List of key/value pairs to be included as headers in the request to the `path`. Headers that match the following pattern are unable to be added or modified `'^(Host|Origin|Proxy-.*|Sec-.*|Content-Length)'`.

conf.app.badAuthentication.testPath.requestMethod
enum<string>

Request method to use for queries. Will generate GraphQL queries as either POST payloads or GET uri strings.

4 available options
GETPOSTPUTPATCH
conf.app.badAuthentication.testPath.success
string

A regex that will match against the response header or body, specified by `type`, of the GET request to the `path`. A match of the regex supplied will indicate that scanning should proceed with the specified authentication. HawkScan requires that either `success` OR `fail` be configured (do not configure both).

conf.app.badAuthentication.testPath.type
enum<string>

An enum value representing what to match against in the response from issuing a request to the `testPath.path`. The supported values are `HEADER` and `BODY`.

2 available options
HEADERBODY
conf.app.badAuthentication.tokenAuthorization
hawkscan.TokenAuthorization
Hide child attributesShow child attributes
conf.app.badAuthentication.tokenAuthorization.isJWT
boolean

If the token is a JWT, mark this field as true

conf.app.badAuthentication.tokenAuthorization.renewMillis
integer<int64>

If isJWT is set to true, this field will determine the time in milliseconds before expiration to auto renew the JWT.

conf.app.badAuthentication.tokenAuthorization.tokenType
string

TokenType will be prepended the header value e.g. tokenType: TOKEN -> "TOKEN xxxxxxxxx"

conf.app.badAuthentication.tokenAuthorization.type
enum<string>

An enum value representing how to pass the authorization token to your application. `HEADER` indicates that each request should have the authorization token header added to the requests. `QUERY_PARAM` indicates that the token should be passed as a query parameter.

2 available options
HEADERQUERY_PARAM
conf.app.badAuthentication.tokenAuthorization.value
string

**Required**. The name of the `HEADER` or `QUERY_PARAM` the token should be passed as.

conf.app.badAuthentication.tokenExtraction
hawkscan.TokenExtraction
Hide child attributesShow child attributes
conf.app.badAuthentication.tokenExtraction.type
enum<string>

Specifying `TOKEN_PATH` tells HawkScan to extract the token from the JSON payload of the response from authentication. `HEADER` tells HawkScan to extract the token from a header in the response from authentication. defaults to `TOKEN_PATH`.

2 available options
TOKEN_PATHHEADER_NAME
conf.app.badAuthentication.tokenExtraction.value
string

*Required**. String containing the path to the token in the JSON payload authentication response or the name of the response header containing the token. Example: if the authentication response JSON payload looks like `{"auth" : {"token": "<my-auth-token>"}}` the value would be `auth.token`. If the authentication response has a header named `AuthToken: <my-token>`, then the value should be `AuthToken`.

conf.app.badAuthentication.usernamePassword
hawkscan.UsernamePasswordCredentials
Hide child attributesShow child attributes
conf.app.badAuthentication.usernamePassword.grpcMethod
string

The gRPC method path for authentication (e.g., "/auth.AuthService/Login"). Required when type is GRPC. Uses grpcConf for descriptor.

conf.app.badAuthentication.usernamePassword.jsonrpcMethod
string

The JSON-RPC method name to call for authentication (e.g., "auth.login"). Required when type is JSON_RPC.

conf.app.badAuthentication.usernamePassword.loginPagePath
string

The path to your login form, if applicable. This is an optional path but is often required if the `POST` to the loginPath requires an anti csrf token to be passed as part of the `POST`. The `app.antiCsrfParam` will be extracted from the response body of a GET request to this page.

conf.app.badAuthentication.usernamePassword.loginPath
string

**Required**. login route to `POST` credentials for a user in the application (ex. `/login`). An http `POST` request using the type specified will be made to this path.

conf.app.badAuthentication.usernamePassword.otherParams
hawkscan.NameValParam[]

Other request parameters required by your login payload, provided as an array of objects with `name` and `value` string keys. This setting is helpful if your authentication process requires other parameters included in the form POST besides the username and password parameters. If in doubt, this setting can be safely left unconfigured.

Hide child attributesShow child attributes
conf.app.badAuthentication.usernamePassword.otherParams.name
string

Param name.

conf.app.badAuthentication.usernamePassword.otherParams.val
string

Param value.

conf.app.badAuthentication.usernamePassword.passwordField
string

**Required**. The password html field used in your application form or json, provided as a string.

conf.app.badAuthentication.usernamePassword.realm
string

Realm for NTLM authentication

conf.app.badAuthentication.usernamePassword.scanPassword
string

*Required**. The password credentials provided to authentication when attempting to login to the web application, provided as a string. HawkScan best practices recommend using [environment variable runtime overrides](https://docs.stackhawk.com/hawkscan/configuration/#environment-variable-runtime-overrides) for this value (ex. "${SCAN_PASSWORD}" will use the $SCAN_PASSWORD environment variable as the scanPassword).

conf.app.badAuthentication.usernamePassword.scanUsername
string

*Required**. The username credentials provided to authentication when attempting to login to the web application, provided as a string. HawkScan best practices recommend using [environment variable runtime overrides](https://docs.stackhawk.com/hawkscan/configuration/#environment-variable-runtime-overrides) for this value (ex. "${SCAN_USERNAME:admin}" will use the $SCAN_USERNAME environment variable as the scanUsername, or fallback to admin).

conf.app.badAuthentication.usernamePassword.type
enum<string>

An enum value describing the type of `POST` data expected by the `loginPath`

5 available options
FORMJSONHTTPJSON_RPCGRPC
conf.app.badAuthentication.usernamePassword.usernameField
string

**Required**. the username html field used in your application form or json, provided as a string.

conf.app.env
string

**Required**. The `env` environment name to organize Scan Results.

conf.app.excludePaths
string[]

An array of strings, used as regexes to match against routes that should be ignored entirely by HawkScan. If populated, paths that match any supplied regex will be excluded from the scan. This field is useful for prohibiting asset directories or other resources that don't require vulnerability scanning.

conf.app.graphqlConf
hawkscan.GraphQLConf
Hide child attributesShow child attributes
conf.app.graphqlConf.customVariables
hawkscan.GraphQLCustomVariable[]

Define custom variables and values for use in GraphQL scanning.

Hide child attributesShow child attributes
conf.app.graphqlConf.customVariables.field
string

The field name of the param to inject values into.

conf.app.graphqlConf.customVariables.operationName
string

An optional operationName that will only inject custom values if the name of the operation on the request matches.

conf.app.graphqlConf.customVariables.operationType
enum<string>

An optional GraphQL operation type (MUTATION or QUERY) that will inject custom values only when the request matches the operation type.

3 available options
ALLQUERYMUTATION
conf.app.graphqlConf.customVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.graphqlConf.deprecatedCustomVariables
hawkscan.CustomVariable[] deprecated

Define custom variables and values for use in GraphQL scanning.

Hide child attributesShow child attributes
conf.app.graphqlConf.deprecatedCustomVariables.field
string

The field name of the param to inject values into. Using object notation will resolve nested objects for request bodies e.g. myobject.id

conf.app.graphqlConf.deprecatedCustomVariables.path
string

Optional path for the endpoint or gRPC service to hit e.g. /myservice/myfunction

conf.app.graphqlConf.deprecatedCustomVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.graphqlConf.enabled
boolean

Enable GraphQL scan support. HawkScan will enumerate all possible field types and input values for GraphQL Queries and Mutations. Provide relative path to the API endpoint.

conf.app.graphqlConf.excludeOperations
hawkscan.GraphQLExcludeOperationParam[]

GraphQL operations to exclude from the spider.

Hide child attributesShow child attributes
conf.app.graphqlConf.excludeOperations.name
string

GraphQL operation name.

conf.app.graphqlConf.excludeOperations.type
enum<string>

Graphql operation type. Options are `All`, `QUERY` and `MUTATION`.

3 available options
ALLQUERYMUTATION
conf.app.graphqlConf.fakerEnabled
boolean

Enables faker for a GraphQL scan to generate more realistic values when format is provided on the API spec or custom variables.

conf.app.graphqlConf.filePath
string

Path to a local GraphQL schema file (SDL format) to use instead of introspection.

conf.app.graphqlConf.maxDepth
integer<int64>

Maximum depth for generated query graphs.

conf.app.graphqlConf.operation
enum<string>

GraphQL operation to enumerate and scan. Defaults to find all Query and Mutation operations. Options are `All`, `QUERY` and `MUTATION`.

3 available options
ALLQUERYMUTATION
conf.app.graphqlConf.requestMethod
enum<string>

Request method to use for queries. Will generate GraphQL queries as either `POST` payloads or `GET` uri strings.

2 available options
POSTGET
conf.app.graphqlConf.schemaPath
string

Path to the GraphQL introspection endpoint, relative to the target URI.

conf.app.graphqlConf.uriMaxLength
integer<int64>

Max length of URIs when generation queries for GET requests.

conf.app.grpcConf
hawkscan.GrpcConf
Hide child attributesShow child attributes
conf.app.grpcConf.customVariables
hawkscan.CustomVariable[]

Define custom variables and values for use in gRPC scanning.

Hide child attributesShow child attributes
conf.app.grpcConf.customVariables.field
string

The field name of the param to inject values into. Using object notation will resolve nested objects for request bodies e.g. myobject.id

conf.app.grpcConf.customVariables.path
string

Optional path for the endpoint or gRPC service to hit e.g. /myservice/myfunction

conf.app.grpcConf.customVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.grpcConf.filePath
string

Path to a local gRPC [protobuf descriptor_set](https://protobuf.com/docs/descriptors) file.

conf.app.grpcConf.filePaths
string[]

A list of paths to the grpc [protobuf descriptor_set](https://protobuf.com/docs/descriptors) file.

conf.app.grpcConf.maxDepth
integer<int64>

Maximum depth for resolving nested protobuf.

conf.app.grpcConf.path
string

Host path for the grpc reflection endpoint.

conf.app.host
string

**Required**. The base url of the application to scan ex: `http://localhost:8000`. If the url cannot be reached, the scan will not proceed.

conf.app.includePaths
string[]

An array of strings, used as regexes to limit which application routes HawkScan will specifically visit. If populated, paths must match at least one supplied regex to be included as part of the scan. This field is useful for constraining the reach of the HawkScan scanner and spider.

conf.app.inputVectors
hawkscan.AppConf.InputVectorParams
Hide child attributesShow child attributes
conf.app.inputVectors.enabledRpcParam
scanpolicy.EnabledRPCParam
Hide child attributesShow child attributes
conf.app.inputVectors.enabledRpcParam.directWebRemoting
boolean

Support for direct web remoting request bodies. Deprecated.

conf.app.inputVectors.enabledRpcParam.googleWebToolkit
boolean

Support for GWT request bodies. Deprecated.

conf.app.inputVectors.enabledRpcParam.json
boolean

Support for json request bodies.

conf.app.inputVectors.enabledRpcParam.multipartFormData
boolean

Support for `multipart/form-data` request bodies.

conf.app.inputVectors.enabledRpcParam.odataId
boolean

Support for Odata request bodies. Deprecated.

conf.app.inputVectors.enabledRpcParam.xmlTag
boolean

Support for xml request bodies.

conf.app.inputVectors.injectableParam
scanpolicy.InjectableParam
Hide child attributesShow child attributes
conf.app.inputVectors.injectableParam.cookieData
boolean

Allow injection of testable inputs for cookie data.

conf.app.inputVectors.injectableParam.httpHeaders
boolean

Allow injection of testable inputs for http headers.

conf.app.inputVectors.injectableParam.postData
boolean

Allow injection of testable inputs request body inputs on POST requests.

conf.app.inputVectors.injectableParam.urlPath
boolean

Allow injection of testable inputs url paths.

conf.app.inputVectors.injectableParam.urlQuery
boolean

Allow injections of testable inputs url query parameter names.

conf.app.inputVectors.injectableParam.urlQueryParam
boolean

Allow injection of testable inputs url query parameter values.

conf.app.jsonRpcConf
hawkscan.JsonRpcConf
Hide child attributesShow child attributes
conf.app.jsonRpcConf.customVariables
hawkscan.JsonRpcCustomVariable[]

Define custom variables and values for use in JSON-RPC scanning.

Hide child attributesShow child attributes
conf.app.jsonRpcConf.customVariables.field
string

The field name of the param to inject values into. Using dot notation will resolve nested objects for request bodies (e.g., `user.address.id`).

conf.app.jsonRpcConf.customVariables.path
string

An optional regex pattern that will only inject custom values if the JSON-RPC method name matches.

conf.app.jsonRpcConf.customVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.jsonRpcConf.enabled
boolean

Enable JSON-RPC scan support.

conf.app.jsonRpcConf.endpoint
string

The JSON-RPC endpoint path relative to the target host (e.g., `/jsonrpc`). Defaults to `/`.

conf.app.jsonRpcConf.excludeMethods
string[]

Regex patterns for JSON-RPC method names to exclude from scanning.

conf.app.jsonRpcConf.fakerEnabled
boolean

Enables faker for JSON-RPC scanning to generate more realistic values when format is provided on the schema or custom variables.

conf.app.jsonRpcConf.filePath
string

Path to a local OpenRPC schema file (JSON format) to use instead of network discovery.

conf.app.jsonRpcConf.maxDepth
integer<int64>

Maximum depth for generated nested objects. Defaults to 3.

conf.app.jsonRpcConf.mcp
hawkscan.McpConf
Hide child attributesShow child attributes
conf.app.jsonRpcConf.mcp.customValues
hawkscan.McpCustomVariable[]

Define custom variables and values for use in MCP tool scanning.

Hide child attributesShow child attributes
conf.app.jsonRpcConf.mcp.customValues.param
string

Parameter name within the tool's inputSchema. Using dot notation resolves nested objects (e.g., `user.address.id`).

conf.app.jsonRpcConf.mcp.customValues.tool
string

MCP tool name this variable applies to.

conf.app.jsonRpcConf.mcp.customValues.values
string[]

A list of possible values to be randomly selected for the given parameter.

conf.app.jsonRpcConf.mcp.endpoint
string

MCP server endpoint path relative to target host. Defaults to `/mcp`.

conf.app.jsonRpcConf.mcp.excludeTools
string[]

MCP tool names to exclude from scanning.

conf.app.jsonRpcConf.path
string

Host path to a hosted OpenRPC specification, relative to the target host (e.g., `/openrpc.json`).

conf.app.jsonRpcConf.requestTimeout
integer<int64>

HTTP request timeout in milliseconds. Defaults to 30000 (30 seconds).

conf.app.openApiConf
hawkscan.OpenApiConf
Hide child attributesShow child attributes
conf.app.openApiConf.customVariables
hawkscan.OpenApiCustomVariable[]

Define custom variables and values for use in REST API scanning.

Hide child attributesShow child attributes
conf.app.openApiConf.customVariables.field
string

The field name of the param to inject values into.

conf.app.openApiConf.customVariables.path
string

An optional path regex that will only inject custom values if the path of the request matches.

conf.app.openApiConf.customVariables.requestMethods
string[]

A list of optional HTTP request methods that will inject custom values only when the request matches one of those methods.

conf.app.openApiConf.customVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.openApiConf.deprecatedCustomVariables
hawkscan.CustomVariable[] deprecated

Define custom variables and values for use in REST API scanning.

Hide child attributesShow child attributes
conf.app.openApiConf.deprecatedCustomVariables.field
string

The field name of the param to inject values into. Using object notation will resolve nested objects for request bodies e.g. myobject.id

conf.app.openApiConf.deprecatedCustomVariables.path
string

Optional path for the endpoint or gRPC service to hit e.g. /myservice/myfunction

conf.app.openApiConf.deprecatedCustomVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.openApiConf.fakerEnabled
boolean

Enables faker for a REST API scan to generate more realistic values when format is provided on the API spec or custom variables.

conf.app.openApiConf.filePath
string

Path to a local OpenAPI specification file (JSON or YAML format).

conf.app.openApiConf.filePaths
string[]

A list of relative path to specification file(s) (JSON or YAML) for the open api generation for specs with multiple open api files.

conf.app.openApiConf.forbiddenVariables
hawkscan.OpenApiCustomVariable[]

Custom variables that the user should not see for tenancy checks.

Hide child attributesShow child attributes
conf.app.openApiConf.forbiddenVariables.field
string

The field name of the param to inject values into.

conf.app.openApiConf.forbiddenVariables.path
string

An optional path regex that will only inject custom values if the path of the request matches.

conf.app.openApiConf.forbiddenVariables.requestMethods
string[]

A list of optional HTTP request methods that will inject custom values only when the request matches one of those methods.

conf.app.openApiConf.forbiddenVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.openApiConf.globalParameters
object

Use this for parameters for all users that can't be discovered by smart crawling.

conf.app.openApiConf.includeAllMethods
boolean

When custom variables are provided, DELETE's are skipped for injection. Set this to true to override this default and include all methods in variable injection.

conf.app.openApiConf.includedMethods
string[]

List of methods to include in custom variable injection. Note: if 'includeAllMethods' is set to true, this list is ignored and all methods will be used for custom variable injection.

conf.app.openApiConf.inline
string deprecated

Define your openapi specification yaml inlined as a string.

conf.app.openApiConf.maxAliasesForCollections
integer<int64>

Maximum number of aliases for a collection when parsing YAML. Increase this value if you see the "Number of aliases for non-scalar nodes exceeds the specified max=100" error.

conf.app.openApiConf.path
string

A string relative path to an OpenAPI specification file (JSON or YAML) from the scanned host.

conf.app.openApiConf.strict
boolean

Whether to enable strict parsing of the OpenAPI.

conf.app.openApiConf.usePlatform
boolean

Use the OpenApi Specifications mapped to this application from the StackHawk Platform for this scan.

conf.app.redact
hawkscan.AppRedactions
Hide child attributesShow child attributes
conf.app.redact.headers
string[]

List of string header names: the values of HTTP headers matching these names will be redacted from alerts and logs.

conf.app.redact.values
string[]

List of string static values: the values here will be added to the redacted token list. This is best used with ${ENV_VAR:default} interpolation.

conf.app.scanPolicy
hawkscan.OrganizationPolicy
Hide child attributesShow child attributes
conf.app.scanPolicy.excludePluginIds
string[]

Plugin ids to exclude from the named scan policy.

conf.app.scanPolicy.includePluginIds
string[]

Plugin ids to include in the scan that are not in the named scan policy.

conf.app.scanPolicy.name
string

**Required**. The unique name of the organization scan policy.

conf.app.sessionTokens
string[]

The names of any session tokens used by your application, provided as an array of strings (Hint: these are the names of session cookies used by your application).

conf.app.soapConf
hawkscan.SoapConf
Hide child attributesShow child attributes
conf.app.soapConf.filePath
string

Relative path to the SOAP WSDL schema definition file.

conf.app.soapConf.path
string

Host path to the SOAP WSDL, prefixed with a `/` .

conf.app.waitForAppTarget
hawkscan.WaitForAppTarget
Hide child attributesShow child attributes
conf.app.waitForAppTarget.path
string

The path to a public reachable route in your application. For example `/index`. A `GET` request will be made to this path to confirm the host is up and ready to receive traffic.

conf.app.waitForAppTarget.pollDelay
integer<int64>

The maximum amount of time in milliseconds in between requests to your application to see if it's running

conf.app.waitForAppTarget.requestBody
string

The request content to send along with POST or PUT requests for target verification.

conf.app.waitForAppTarget.requestHeaders
object

Key-value map of additional headers to be sent along with the request to the app target host.

conf.app.waitForAppTarget.requestMethod
enum<string>

Request method to use for queries. Will generate GraphQL queries as either POST payloads or GET uri strings.

4 available options
GETPOSTPUTPATCH
conf.app.waitForAppTarget.waitTimeoutMillis
integer<int64>

The maximum amount of time in milliseconds that HawkScan will wait for your app to be available before it starts scanning

conf.hawk
hawkscan.HawkConf
Hide child attributesShow child attributes
conf.hawk.config
string[]

Scanner configuration overrides, provided as a list of key=value strings. A list of strings in the form of key=value pairs passed to the scanner as scanner configuration overrides. This is an advanced feature to configure HawkScan plugins and override their default behavior.

conf.hawk.failureThreshold
string

The lowest alert level that returns a failed scan status. Accepted values: high, medium, or low.

conf.hawk.outboundProxy
hawkscan.Proxy
Hide child attributesShow child attributes
conf.hawk.outboundProxy.credentials
hawkscan.ProxyCredentials
Hide child attributesShow child attributes
conf.hawk.outboundProxy.credentials.password
string

**Required**. The password for proxy credentials.

conf.hawk.outboundProxy.credentials.realm
string

Realm for proxy credentials.

conf.hawk.outboundProxy.credentials.scheme
string

Scheme of proxy authentication. Currently `BASIC`, `NTLM` are supported.

conf.hawk.outboundProxy.credentials.username
string

**Required**. The username for proxy credentials.

conf.hawk.outboundProxy.host
string

The host of the outbound explicit proxy, including port (e.g. https://localhost:8888).

conf.hawk.outboundProxy.rootCACertPath
string

Path to root CA Certificate for transparent outbound proxies. This can be used without specifying host or credentials.

conf.hawk.scan
hawkscan.HawkConf.ScanConf
Hide child attributesShow child attributes
conf.hawk.scan.concurrentRequests
integer<int64>

Number of request threads. _If you need that little extra push._ defaults to 20.

conf.hawk.scan.includedPlugins
string[]

Specify to only scan with these listed plugins.

conf.hawk.scan.maxDurationMinutes
integer<int64>

Maximum duration that a scan will run.

conf.hawk.scan.maxRuleDurationMinutes
integer<int64>

Maximum duration that a scan will spend on a rule.

conf.hawk.scan.policyName
string

Name of a specific named scan policy to use. This field is optional, and an applicable scan policy will be selected if omitted.

conf.hawk.scan.requestDelayMillis
integer<int64>

Delay time between sending requests.

conf.hawk.scan.throttleIntervalSeconds
integer<int64>

How often the throttle check is run, in seconds.

conf.hawk.scan.throttlePassiveBacklog
integer<int64>

Pause active scan when passive backlog is greater than this value, resumes once backlog is empty. defaults to 50.

conf.hawk.scan.throttleTempRecordDeleteQuota
integer<int64>

The percentage of throttleTempRecordMax records to delete on each throttleIntervalSeconds.

conf.hawk.scan.throttleTempRecordMax
integer<int64>

The max number of temp records allowed before pruning of temp records begins.

conf.hawk.spider
hawkscan.HawkConf.Spider
Hide child attributesShow child attributes
conf.hawk.spider.ajax
boolean

Enable the ajax web crawler for discovering your application’s routes. This spider is appropriate for single-page web applications.

conf.hawk.spider.ajaxBrowser
enum<string>

The browser type and style to use when running the AjaxSpider. When running the `stackhawk/hawkscan` docker container, this setting is ignored and will use the default CHROME_HEADLESS. The options are CHROME_HEADLESS and CHROME. FIREFOX_HEADLESS and FIREFOX are deprecated.

4 available options
FIREFOX_HEADLESSCHROME_HEADLESSFIREFOXCHROME
conf.hawk.spider.base
boolean

Enable the basic web crawler for discovering your application's routes. This spider is appropriate for most traditional web applications.

conf.hawk.spider.custom
hawkscan.HawkConf.Spider.CustomDiscovery
Hide child attributesShow child attributes
conf.hawk.spider.custom.arguments
string[]

Command arguments provided as an array of strings. These arguments can be used in addition to or instead of the command. This should be used if the command is sufficiently complex or is exceptionally whitespace sensitive.

conf.hawk.spider.custom.command
string

Provide a command to run as part of the scan discovery phase. This command will be split from its arguments and execute on its own thread in a context with additional environment variables set with the proxy configuration for HawkScan to intercept http traffic.

conf.hawk.spider.custom.credentials
object

Key-Value map of additional environment variables or secrets to pass along into the execution of the command. These values will be redacted from the logs.

conf.hawk.spider.custom.environment
object

Key-Value map of environment variable names and values to pass along into the execution of the command.

conf.hawk.spider.custom.excludeParentEnvironment
boolean

Only provide the environment variables and credentials as configured. By default also includes the environment from the parent process environment for convenience.

conf.hawk.spider.custom.logOutputToForeground
boolean

This command prints the stdout and stderr of the command to the foreground.

conf.hawk.spider.custom.workingDir
string

The absolute path working directory these commands are run from.

conf.hawk.spider.disableSmartCrawling
boolean

Disable smart crawling for openApiConf to enable legacy openapi import process.

conf.hawk.spider.har
hawkscan.HARImportConfig
Hide child attributesShow child attributes
conf.hawk.spider.har.dir
hawkscan.HARImportDirectory
Hide child attributesShow child attributes
conf.hawk.spider.har.dir.path
string

Path to directory containing .har files. Only files with the .har extension will be loaded in alphanumeric order.

conf.hawk.spider.har.file
hawkscan.HARImportFiles
Hide child attributesShow child attributes
conf.hawk.spider.har.file.paths
string[]

Paths to HAR files to import. Files will be loaded in order provided.

conf.hawk.spider.har.replaceHost
string

The hostname of URLs in the HAR file that will be replaced with the host defined in `app.host`. Leave blank if the `app.host` is then same hostname in the HAR file.

conf.hawk.spider.maxDurationMinutes
integer<int32>

Maximum allowed time for enabled spiders to crawl your web application.

conf.hawk.spider.postmanConfig
hawkscan.PostmanConfig
Hide child attributesShow child attributes
conf.hawk.spider.postmanConfig.apikey
string

API key to authenticated the user with Postman.

conf.hawk.spider.postmanConfig.collectionUID
string

Id of the collection to be pulled from Postman.

conf.hawk.spider.postmanConfig.filePath
string

File path of the Postman collection.

conf.hawk.spider.responseBodyFilter
hawkscan.HawkConf.Spider.SpiderResponseBodyFilter
Hide child attributesShow child attributes
conf.hawk.spider.responseBodyFilter.excludeContentTypes
string[]

Content types to exclude from response body uploads. If specified, adds to the default exclude list. Exclusions take precedence over inclusions. Supports wildcards (e.g., `image/*`).

conf.hawk.spider.responseBodyFilter.includeContentTypes
string[]

Content types to include in response body uploads. If specified, replaces the default include list. Supports wildcards (e.g., `application/*+json`, `image/*`).

conf.hawk.spider.seedPaths
string[]

List of paths to supplement the spider. These paths will be used as additional starting points for crawling your application. Useful for paths that are not crawlable from the root of your application. For example, `/admin`. **Note**: this configuration is NOT a replacement for an API spec and provides no benefit to pure REST API's.

conf.hawk.startupTimeoutMinutes
integer<int32>

Maximum time in minutes to wait for the scanner process to start.

conf.hawkAddOn
hawkscan.HawkAddOnConf
Hide child attributesShow child attributes
conf.hawkAddOn.replacer
hawkscan.Replacer
Hide child attributesShow child attributes
conf.hawkAddOn.replacer.rules
hawkscan.ReplacerRules[]

List of regex match and replace rules for request headers.

Hide child attributesShow child attributes
conf.hawkAddOn.replacer.rules.initiators
string[]

Replacer rule initiators.

conf.hawkAddOn.replacer.rules.isRegex
boolean

Enable regex search for `matchString`. Useful when `replaceOnly` is true (e.g. `Referer:.*` will replace the entire `Referer:` header line).

conf.hawkAddOn.replacer.rules.matchString
string

If `replaceOnly` is false, only match the header name. If `replaceOnly` is true, matches the exact string on the header line.

conf.hawkAddOn.replacer.rules.replaceOnly
boolean

If false, replace existing header value or add the missing header using replacement as the value. If true, only replace the matchString of an existing header line.

conf.hawkAddOn.replacer.rules.replacement
string

If false, replace existing header value or add the missing header using replacement as the value. If true, only replace the matchString of an existing header line.

conf.hawkAddOn.scripts
hawkscan.Script[]

List of configurations for custom scripts.

Hide child attributesShow child attributes
conf.hawkAddOn.scripts.id
integer<int64>

Plugin Id for script.

conf.hawkAddOn.scripts.language
enum<string>

**Required**. The language of this script. Either `KOTLIN` or `JAVASCRIPT`.

2 available options
KOTLINJAVASCRIPT
conf.hawkAddOn.scripts.name
string

The name of this custom script.

conf.hawkAddOn.scripts.path
string

Path to the file location for the custom script.

conf.hawkAddOn.scripts.type
enum<string>

The type of this script. One of `active`, `authentication`, `httpsender`, `passive`, `proxy`, `session`.

6 available options
activeauthenticationhttpsenderpassiveproxysession
conf.hawkAddOn.scripts.vars
hawkscan.NameValParam[]

Named variables to expose to the script.

Hide child attributesShow child attributes
conf.hawkAddOn.scripts.vars.name
string

Param name.

conf.hawkAddOn.scripts.vars.val
string

Param value.

conf.tags
hawkscan.Tag[]

Searchable keywords to associate with this scan.

Hide child attributesShow child attributes
conf.tags.name
string

The keyword name.

conf.tags.value
string

An arbitrary value to associate with the keyword.

configHash
string

The hash of the HawkScan configuration.

conf
hawkscan.HawkscanConf
Hide child attributesShow child attributes
conf.app
hawkscan.AppConf
Hide child attributesShow child attributes
conf.app.antiCsrfParam
string

The name of your CSRF security parameter used in any application form inputs. Globally set, HawkScan will parse this parameter value from form responses to use in subsequent requests.

conf.app.applicationId
string

**Required**. Your StackHawk application UUID. Create an application in the [StackHawk platform](https://app.stackhawk.com) to obtain this identifier.

conf.app.authentication
hawkscan.Authentication
Hide child attributesShow child attributes
conf.app.authentication.cookieAuthorization
hawkscan.CookieAuthorization
Hide child attributesShow child attributes
conf.app.authentication.cookieAuthorization.cookieNames
string[]

A list of strings that are the names of cookies used for maintaining a session. Typically this is one value like `jsessionid` or `PHPSESS`. When used in combination with authentication HawkScan will use this value to persist authenticated session state with your application.

conf.app.authentication.external
hawkscan.ExternalCredentials
Hide child attributesShow child attributes
conf.app.authentication.external.type
enum<string>

Specifies the type of token being supplied. If `COOKIE` is specified the .external.value should be in the form of a cookie value <cookie-name>=<cookie-value> . Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.authentication.external.value
string

**Required**. The value containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`. Use value or values but not both. The value containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`.

conf.app.authentication.external.values
hawkscan.AuthTokens[]

The value pairs containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`.

Hide child attributesShow child attributes
conf.app.authentication.external.values.tokenType
string

If specified tokenType will be prepended the header value e.g. tokenType: Bearer -> "Bearer xxxxxxxxx"

conf.app.authentication.external.values.type
enum<string>

Specifies the type of token being supplied, either `TOKEN` or `COOKIE`. Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.authentication.external.values.value
hawkscan.NameValParam
Hide child attributesShow child attributes
conf.app.authentication.external.values.value.name
string

Param name.

conf.app.authentication.external.values.value.val
string

Param value.

conf.app.authentication.externalCommand
hawkscan.ExternalCommandCredentials
Hide child attributesShow child attributes
conf.app.authentication.externalCommand.command
string

The command to start the process e.g. `bash`, `python`

conf.app.authentication.externalCommand.parameters
string[]

Parameters required to run the script e.g. `-c`, `--verbose`

conf.app.authentication.externalCommand.timeoutSeconds
integer<int64>

Maximum time in seconds to wait for the process to complete. Defaults to 60 seconds.

conf.app.authentication.loggedInIndicator
string

A regex to match against http responses from pages in the web application to determine if the scanned pages user session is still logged in to the app, provided as a string (ex. `".*signed in as.*"`). Required if authorization token is not a JWT.

conf.app.authentication.loggedOutIndicator
string

A regex to match against http responses from pages in the web application to determine if the scanned pages user session is logged out of the app, provided as a string. Required if authorization token is not a JWT.

conf.app.authentication.oauth
hawkscan.OAuth
Hide child attributesShow child attributes
conf.app.authentication.oauth.credentials
hawkscan.OAuthCredentials
Hide child attributesShow child attributes
conf.app.authentication.oauth.credentials.additionalCreds
object

A list of name/value pairs of any additional fields or credentials that need to be posted to the OAuth provider token endpoint.

conf.app.authentication.oauth.credentials.clientId
string

The client id of your application registered with your OAuth provider which will be posted n the request body to the token endpoint with the field name of `client_id`.

conf.app.authentication.oauth.credentials.clientSecret
string

The client secret of your application registered with your OAuth provider which will be posted n the request body to the token endpoint with the field name of `client_secret`.

conf.app.authentication.oauth.credentials.password
string

Password which will be posted in the request body to the token endpoint with the field name of `password`.

conf.app.authentication.oauth.credentials.username
string

Username which will be posted in the request body to the token endpoint with the field name of `username`.

conf.app.authentication.oauth.parameters
hawkscan.OAuthParameters
Hide child attributesShow child attributes
conf.app.authentication.oauth.parameters.additionalBodyParams
object

A list of optional additional name/value pairs to be included in the request body of the post. **NOTE:** These values are not redacted, if you need additional sensitive values please use `outhCredentials.additionalCreds`

conf.app.authentication.oauth.parameters.additionalQueryParams
object

A list of optional additional name/value pairs to be passed to the query string.

conf.app.authentication.oauth.parameters.grantType
string

Grant type of token request, this will be passed to the request body of the token endpoint as `grant_type`.

conf.app.authentication.oauth.parameters.requestHeaders
object

Additional headers to be sent along with the request to the token endpoint

conf.app.authentication.oauth.parameters.requestMethod
enum<string>

Http method for accessing the token endpoint. The default is POST.

7 available options
POSTPUTDELETEGETOPTIONSPATCHHEAD
conf.app.authentication.oauth.parameters.scope
string

Scope type of token request, this will be passed to the request body of the token endpoint as `scope`.

conf.app.authentication.oauth.parameters.tokenEndpoint
string

URL of the endpoint to get a token

conf.app.authentication.overrideJWTAutoRenew
boolean

If set to true HawkScan will not try to autorenew a JWT.

conf.app.authentication.profiles
hawkscan.UserProfile[]

Optional extra creds

Hide child attributesShow child attributes
conf.app.authentication.profiles.authScript
hawkscan.UserProfile.ProfileScript
Hide child attributesShow child attributes
conf.app.authentication.profiles.authScript.credentials
object

Key-value pairs of sensitive credentials required by the authentication script that will be redacted from logs.

conf.app.authentication.profiles.authScript.name
string

**Required**. The name of the authentication script defined in `hawkAddOn.scripts` to use for this profile.

conf.app.authentication.profiles.external
hawkscan.UserProfile.External
Hide child attributesShow child attributes
conf.app.authentication.profiles.external.authTokens
hawkscan.AuthTokens[]

List of authentication tokens to use for this user profile. Can include multiple tokens or cookies.

Hide child attributesShow child attributes
conf.app.authentication.profiles.external.authTokens.tokenType
string

If specified tokenType will be prepended the header value e.g. tokenType: Bearer -> "Bearer xxxxxxxxx"

conf.app.authentication.profiles.external.authTokens.type
enum<string>

Specifies the type of token being supplied, either `TOKEN` or `COOKIE`. Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.authentication.profiles.external.authTokens.value
hawkscan.NameValParam
Hide child attributesShow child attributes
conf.app.authentication.profiles.external.authTokens.value.name
string

Param name.

conf.app.authentication.profiles.external.authTokens.value.val
string

Param value.

conf.app.authentication.profiles.globalParameters
object

Use this for parameters for individual users that can't be discovered by smart crawling.

conf.app.authentication.profiles.isPrivileged
boolean

Indicates whether this user profile has elevated privileges (true for admin/privileged users, false for standard users).

conf.app.authentication.profiles.name
string

**Required**. A unique identifier name for this user profile to distinguish between different users during multi-user scans.

conf.app.authentication.profiles.userNamePassword
hawkscan.UserProfile.UserNamePassword
Hide child attributesShow child attributes
conf.app.authentication.profiles.userNamePassword.password
string

**Required**. The password for this user profile. Use environment variable interpolation (e.g., `${USER2_PASSWORD}`).

conf.app.authentication.profiles.userNamePassword.username
string

**Required**. The username for this user profile. Use environment variable interpolation (e.g., `${USER2_USERNAME}`).

conf.app.authentication.script
hawkscan.AuthenticationScript
Hide child attributesShow child attributes
conf.app.authentication.script.credentials
object

The credentials required for the authentication script. These values will be redacted.

conf.app.authentication.script.name
string

The name of the authentication script, as specified in the `hawkAddOn.scripts.name`.

conf.app.authentication.script.parameters
object

The parameters required for the authentication script.

conf.app.authentication.sessionScript
hawkscan.SessionScript
Hide child attributesShow child attributes
conf.app.authentication.sessionScript.name
string

*Required* The name of the session script defined in `hawkAddons.scripts`. The script `type` must be `session`, and match the `hawkAddOn.scripts.name` field.

conf.app.authentication.sessionScript.parameters
object

A map of key/value pairs that will be passed to your session script, which can be accessed via `sessionWrapper.getParam()` function.

conf.app.authentication.testPath
hawkscan.AuthTestPath
Hide child attributesShow child attributes
conf.app.authentication.testPath.fail
string

A regex that will match against the response header or body, specified by `type`, of the GET request to the `path`. A match of the regex supplied will indicate that scanning should halt and enter an error state. HawkScan requires that either `success` OR `fail` be configured (do not configure both).

conf.app.authentication.testPath.grpcTestMethod
string

The gRPC method path to call for authentication validation (e.g., "/auth.AuthService/ValidateToken"). Only used when authentication type is GRPC.

conf.app.authentication.testPath.path
string

**Required**. The path to a protected route in your application that requires authorization. For example `/mysettings`. A `GET` request will be made to this path using the configured authentication.

conf.app.authentication.testPath.requestBody
string

The request content to send along with POST or PUT requests for authentication verification.

conf.app.authentication.testPath.requestHeaders
object

List of key/value pairs to be included as headers in the request to the `path`. Headers that match the following pattern are unable to be added or modified `'^(Host|Origin|Proxy-.*|Sec-.*|Content-Length)'`.

conf.app.authentication.testPath.requestMethod
enum<string>

Request method to use for queries. Will generate GraphQL queries as either POST payloads or GET uri strings.

4 available options
GETPOSTPUTPATCH
conf.app.authentication.testPath.success
string

A regex that will match against the response header or body, specified by `type`, of the GET request to the `path`. A match of the regex supplied will indicate that scanning should proceed with the specified authentication. HawkScan requires that either `success` OR `fail` be configured (do not configure both).

conf.app.authentication.testPath.type
enum<string>

An enum value representing what to match against in the response from issuing a request to the `testPath.path`. The supported values are `HEADER` and `BODY`.

2 available options
HEADERBODY
conf.app.authentication.tokenAuthorization
hawkscan.TokenAuthorization
Hide child attributesShow child attributes
conf.app.authentication.tokenAuthorization.isJWT
boolean

If the token is a JWT, mark this field as true

conf.app.authentication.tokenAuthorization.renewMillis
integer<int64>

If isJWT is set to true, this field will determine the time in milliseconds before expiration to auto renew the JWT.

conf.app.authentication.tokenAuthorization.tokenType
string

TokenType will be prepended the header value e.g. tokenType: TOKEN -> "TOKEN xxxxxxxxx"

conf.app.authentication.tokenAuthorization.type
enum<string>

An enum value representing how to pass the authorization token to your application. `HEADER` indicates that each request should have the authorization token header added to the requests. `QUERY_PARAM` indicates that the token should be passed as a query parameter.

2 available options
HEADERQUERY_PARAM
conf.app.authentication.tokenAuthorization.value
string

**Required**. The name of the `HEADER` or `QUERY_PARAM` the token should be passed as.

conf.app.authentication.tokenExtraction
hawkscan.TokenExtraction
Hide child attributesShow child attributes
conf.app.authentication.tokenExtraction.type
enum<string>

Specifying `TOKEN_PATH` tells HawkScan to extract the token from the JSON payload of the response from authentication. `HEADER` tells HawkScan to extract the token from a header in the response from authentication. defaults to `TOKEN_PATH`.

2 available options
TOKEN_PATHHEADER_NAME
conf.app.authentication.tokenExtraction.value
string

*Required**. String containing the path to the token in the JSON payload authentication response or the name of the response header containing the token. Example: if the authentication response JSON payload looks like `{"auth" : {"token": "<my-auth-token>"}}` the value would be `auth.token`. If the authentication response has a header named `AuthToken: <my-token>`, then the value should be `AuthToken`.

conf.app.authentication.usernamePassword
hawkscan.UsernamePasswordCredentials
Hide child attributesShow child attributes
conf.app.authentication.usernamePassword.grpcMethod
string

The gRPC method path for authentication (e.g., "/auth.AuthService/Login"). Required when type is GRPC. Uses grpcConf for descriptor.

conf.app.authentication.usernamePassword.jsonrpcMethod
string

The JSON-RPC method name to call for authentication (e.g., "auth.login"). Required when type is JSON_RPC.

conf.app.authentication.usernamePassword.loginPagePath
string

The path to your login form, if applicable. This is an optional path but is often required if the `POST` to the loginPath requires an anti csrf token to be passed as part of the `POST`. The `app.antiCsrfParam` will be extracted from the response body of a GET request to this page.

conf.app.authentication.usernamePassword.loginPath
string

**Required**. login route to `POST` credentials for a user in the application (ex. `/login`). An http `POST` request using the type specified will be made to this path.

conf.app.authentication.usernamePassword.otherParams
hawkscan.NameValParam[]

Other request parameters required by your login payload, provided as an array of objects with `name` and `value` string keys. This setting is helpful if your authentication process requires other parameters included in the form POST besides the username and password parameters. If in doubt, this setting can be safely left unconfigured.

Hide child attributesShow child attributes
conf.app.authentication.usernamePassword.otherParams.name
string

Param name.

conf.app.authentication.usernamePassword.otherParams.val
string

Param value.

conf.app.authentication.usernamePassword.passwordField
string

**Required**. The password html field used in your application form or json, provided as a string.

conf.app.authentication.usernamePassword.realm
string

Realm for NTLM authentication

conf.app.authentication.usernamePassword.scanPassword
string

*Required**. The password credentials provided to authentication when attempting to login to the web application, provided as a string. HawkScan best practices recommend using [environment variable runtime overrides](https://docs.stackhawk.com/hawkscan/configuration/#environment-variable-runtime-overrides) for this value (ex. "${SCAN_PASSWORD}" will use the $SCAN_PASSWORD environment variable as the scanPassword).

conf.app.authentication.usernamePassword.scanUsername
string

*Required**. The username credentials provided to authentication when attempting to login to the web application, provided as a string. HawkScan best practices recommend using [environment variable runtime overrides](https://docs.stackhawk.com/hawkscan/configuration/#environment-variable-runtime-overrides) for this value (ex. "${SCAN_USERNAME:admin}" will use the $SCAN_USERNAME environment variable as the scanUsername, or fallback to admin).

conf.app.authentication.usernamePassword.type
enum<string>

An enum value describing the type of `POST` data expected by the `loginPath`

5 available options
FORMJSONHTTPJSON_RPCGRPC
conf.app.authentication.usernamePassword.usernameField
string

**Required**. the username html field used in your application form or json, provided as a string.

conf.app.autoInputVectors
boolean

Set to `true` to automatically enabled the correct input data types when scanning APIs like GraphQL and OpenAPI. This can increase scan accuracy and reduce false positives. Defaults to True.

conf.app.autoPolicy
boolean

Set to `true` to enable an optimized policy when scanning specific APIs like GraphQL and OpenAPI. Defaults to True.

conf.app.badAuthentication
hawkscan.Authentication
Hide child attributesShow child attributes
conf.app.badAuthentication.cookieAuthorization
hawkscan.CookieAuthorization
Hide child attributesShow child attributes
conf.app.badAuthentication.cookieAuthorization.cookieNames
string[]

A list of strings that are the names of cookies used for maintaining a session. Typically this is one value like `jsessionid` or `PHPSESS`. When used in combination with authentication HawkScan will use this value to persist authenticated session state with your application.

conf.app.badAuthentication.external
hawkscan.ExternalCredentials
Hide child attributesShow child attributes
conf.app.badAuthentication.external.type
enum<string>

Specifies the type of token being supplied. If `COOKIE` is specified the .external.value should be in the form of a cookie value <cookie-name>=<cookie-value> . Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.badAuthentication.external.value
string

**Required**. The value containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`. Use value or values but not both. The value containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`.

conf.app.badAuthentication.external.values
hawkscan.AuthTokens[]

The value pairs containing the token that will authorize requests. How the token is passed to your application is determined by the assigned `type`.

Hide child attributesShow child attributes
conf.app.badAuthentication.external.values.tokenType
string

If specified tokenType will be prepended the header value e.g. tokenType: Bearer -> "Bearer xxxxxxxxx"

conf.app.badAuthentication.external.values.type
enum<string>

Specifies the type of token being supplied, either `TOKEN` or `COOKIE`. Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.badAuthentication.external.values.value
hawkscan.NameValParam
Hide child attributesShow child attributes
conf.app.badAuthentication.external.values.value.name
string

Param name.

conf.app.badAuthentication.external.values.value.val
string

Param value.

conf.app.badAuthentication.externalCommand
hawkscan.ExternalCommandCredentials
Hide child attributesShow child attributes
conf.app.badAuthentication.externalCommand.command
string

The command to start the process e.g. `bash`, `python`

conf.app.badAuthentication.externalCommand.parameters
string[]

Parameters required to run the script e.g. `-c`, `--verbose`

conf.app.badAuthentication.externalCommand.timeoutSeconds
integer<int64>

Maximum time in seconds to wait for the process to complete. Defaults to 60 seconds.

conf.app.badAuthentication.loggedInIndicator
string

A regex to match against http responses from pages in the web application to determine if the scanned pages user session is still logged in to the app, provided as a string (ex. `".*signed in as.*"`). Required if authorization token is not a JWT.

conf.app.badAuthentication.loggedOutIndicator
string

A regex to match against http responses from pages in the web application to determine if the scanned pages user session is logged out of the app, provided as a string. Required if authorization token is not a JWT.

conf.app.badAuthentication.oauth
hawkscan.OAuth
Hide child attributesShow child attributes
conf.app.badAuthentication.oauth.credentials
hawkscan.OAuthCredentials
Hide child attributesShow child attributes
conf.app.badAuthentication.oauth.credentials.additionalCreds
object

A list of name/value pairs of any additional fields or credentials that need to be posted to the OAuth provider token endpoint.

conf.app.badAuthentication.oauth.credentials.clientId
string

The client id of your application registered with your OAuth provider which will be posted n the request body to the token endpoint with the field name of `client_id`.

conf.app.badAuthentication.oauth.credentials.clientSecret
string

The client secret of your application registered with your OAuth provider which will be posted n the request body to the token endpoint with the field name of `client_secret`.

conf.app.badAuthentication.oauth.credentials.password
string

Password which will be posted in the request body to the token endpoint with the field name of `password`.

conf.app.badAuthentication.oauth.credentials.username
string

Username which will be posted in the request body to the token endpoint with the field name of `username`.

conf.app.badAuthentication.oauth.parameters
hawkscan.OAuthParameters
Hide child attributesShow child attributes
conf.app.badAuthentication.oauth.parameters.additionalBodyParams
object

A list of optional additional name/value pairs to be included in the request body of the post. **NOTE:** These values are not redacted, if you need additional sensitive values please use `outhCredentials.additionalCreds`

conf.app.badAuthentication.oauth.parameters.additionalQueryParams
object

A list of optional additional name/value pairs to be passed to the query string.

conf.app.badAuthentication.oauth.parameters.grantType
string

Grant type of token request, this will be passed to the request body of the token endpoint as `grant_type`.

conf.app.badAuthentication.oauth.parameters.requestHeaders
object

Additional headers to be sent along with the request to the token endpoint

conf.app.badAuthentication.oauth.parameters.requestMethod
enum<string>

Http method for accessing the token endpoint. The default is POST.

7 available options
POSTPUTDELETEGETOPTIONSPATCHHEAD
conf.app.badAuthentication.oauth.parameters.scope
string

Scope type of token request, this will be passed to the request body of the token endpoint as `scope`.

conf.app.badAuthentication.oauth.parameters.tokenEndpoint
string

URL of the endpoint to get a token

conf.app.badAuthentication.overrideJWTAutoRenew
boolean

If set to true HawkScan will not try to autorenew a JWT.

conf.app.badAuthentication.profiles
hawkscan.UserProfile[]

Optional extra creds

Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.authScript
hawkscan.UserProfile.ProfileScript
Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.authScript.credentials
object

Key-value pairs of sensitive credentials required by the authentication script that will be redacted from logs.

conf.app.badAuthentication.profiles.authScript.name
string

**Required**. The name of the authentication script defined in `hawkAddOn.scripts` to use for this profile.

conf.app.badAuthentication.profiles.external
hawkscan.UserProfile.External
Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.external.authTokens
hawkscan.AuthTokens[]

List of authentication tokens to use for this user profile. Can include multiple tokens or cookies.

Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.external.authTokens.tokenType
string

If specified tokenType will be prepended the header value e.g. tokenType: Bearer -> "Bearer xxxxxxxxx"

conf.app.badAuthentication.profiles.external.authTokens.type
enum<string>

Specifies the type of token being supplied, either `TOKEN` or `COOKIE`. Defaults to `TOKEN`.

2 available options
TOKENCOOKIE
conf.app.badAuthentication.profiles.external.authTokens.value
hawkscan.NameValParam
Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.external.authTokens.value.name
string

Param name.

conf.app.badAuthentication.profiles.external.authTokens.value.val
string

Param value.

conf.app.badAuthentication.profiles.globalParameters
object

Use this for parameters for individual users that can't be discovered by smart crawling.

conf.app.badAuthentication.profiles.isPrivileged
boolean

Indicates whether this user profile has elevated privileges (true for admin/privileged users, false for standard users).

conf.app.badAuthentication.profiles.name
string

**Required**. A unique identifier name for this user profile to distinguish between different users during multi-user scans.

conf.app.badAuthentication.profiles.userNamePassword
hawkscan.UserProfile.UserNamePassword
Hide child attributesShow child attributes
conf.app.badAuthentication.profiles.userNamePassword.password
string

**Required**. The password for this user profile. Use environment variable interpolation (e.g., `${USER2_PASSWORD}`).

conf.app.badAuthentication.profiles.userNamePassword.username
string

**Required**. The username for this user profile. Use environment variable interpolation (e.g., `${USER2_USERNAME}`).

conf.app.badAuthentication.script
hawkscan.AuthenticationScript
Hide child attributesShow child attributes
conf.app.badAuthentication.script.credentials
object

The credentials required for the authentication script. These values will be redacted.

conf.app.badAuthentication.script.name
string

The name of the authentication script, as specified in the `hawkAddOn.scripts.name`.

conf.app.badAuthentication.script.parameters
object

The parameters required for the authentication script.

conf.app.badAuthentication.sessionScript
hawkscan.SessionScript
Hide child attributesShow child attributes
conf.app.badAuthentication.sessionScript.name
string

*Required* The name of the session script defined in `hawkAddons.scripts`. The script `type` must be `session`, and match the `hawkAddOn.scripts.name` field.

conf.app.badAuthentication.sessionScript.parameters
object

A map of key/value pairs that will be passed to your session script, which can be accessed via `sessionWrapper.getParam()` function.

conf.app.badAuthentication.testPath
hawkscan.AuthTestPath
Hide child attributesShow child attributes
conf.app.badAuthentication.testPath.fail
string

A regex that will match against the response header or body, specified by `type`, of the GET request to the `path`. A match of the regex supplied will indicate that scanning should halt and enter an error state. HawkScan requires that either `success` OR `fail` be configured (do not configure both).

conf.app.badAuthentication.testPath.grpcTestMethod
string

The gRPC method path to call for authentication validation (e.g., "/auth.AuthService/ValidateToken"). Only used when authentication type is GRPC.

conf.app.badAuthentication.testPath.path
string

**Required**. The path to a protected route in your application that requires authorization. For example `/mysettings`. A `GET` request will be made to this path using the configured authentication.

conf.app.badAuthentication.testPath.requestBody
string

The request content to send along with POST or PUT requests for authentication verification.

conf.app.badAuthentication.testPath.requestHeaders
object

List of key/value pairs to be included as headers in the request to the `path`. Headers that match the following pattern are unable to be added or modified `'^(Host|Origin|Proxy-.*|Sec-.*|Content-Length)'`.

conf.app.badAuthentication.testPath.requestMethod
enum<string>

Request method to use for queries. Will generate GraphQL queries as either POST payloads or GET uri strings.

4 available options
GETPOSTPUTPATCH
conf.app.badAuthentication.testPath.success
string

A regex that will match against the response header or body, specified by `type`, of the GET request to the `path`. A match of the regex supplied will indicate that scanning should proceed with the specified authentication. HawkScan requires that either `success` OR `fail` be configured (do not configure both).

conf.app.badAuthentication.testPath.type
enum<string>

An enum value representing what to match against in the response from issuing a request to the `testPath.path`. The supported values are `HEADER` and `BODY`.

2 available options
HEADERBODY
conf.app.badAuthentication.tokenAuthorization
hawkscan.TokenAuthorization
Hide child attributesShow child attributes
conf.app.badAuthentication.tokenAuthorization.isJWT
boolean

If the token is a JWT, mark this field as true

conf.app.badAuthentication.tokenAuthorization.renewMillis
integer<int64>

If isJWT is set to true, this field will determine the time in milliseconds before expiration to auto renew the JWT.

conf.app.badAuthentication.tokenAuthorization.tokenType
string

TokenType will be prepended the header value e.g. tokenType: TOKEN -> "TOKEN xxxxxxxxx"

conf.app.badAuthentication.tokenAuthorization.type
enum<string>

An enum value representing how to pass the authorization token to your application. `HEADER` indicates that each request should have the authorization token header added to the requests. `QUERY_PARAM` indicates that the token should be passed as a query parameter.

2 available options
HEADERQUERY_PARAM
conf.app.badAuthentication.tokenAuthorization.value
string

**Required**. The name of the `HEADER` or `QUERY_PARAM` the token should be passed as.

conf.app.badAuthentication.tokenExtraction
hawkscan.TokenExtraction
Hide child attributesShow child attributes
conf.app.badAuthentication.tokenExtraction.type
enum<string>

Specifying `TOKEN_PATH` tells HawkScan to extract the token from the JSON payload of the response from authentication. `HEADER` tells HawkScan to extract the token from a header in the response from authentication. defaults to `TOKEN_PATH`.

2 available options
TOKEN_PATHHEADER_NAME
conf.app.badAuthentication.tokenExtraction.value
string

*Required**. String containing the path to the token in the JSON payload authentication response or the name of the response header containing the token. Example: if the authentication response JSON payload looks like `{"auth" : {"token": "<my-auth-token>"}}` the value would be `auth.token`. If the authentication response has a header named `AuthToken: <my-token>`, then the value should be `AuthToken`.

conf.app.badAuthentication.usernamePassword
hawkscan.UsernamePasswordCredentials
Hide child attributesShow child attributes
conf.app.badAuthentication.usernamePassword.grpcMethod
string

The gRPC method path for authentication (e.g., "/auth.AuthService/Login"). Required when type is GRPC. Uses grpcConf for descriptor.

conf.app.badAuthentication.usernamePassword.jsonrpcMethod
string

The JSON-RPC method name to call for authentication (e.g., "auth.login"). Required when type is JSON_RPC.

conf.app.badAuthentication.usernamePassword.loginPagePath
string

The path to your login form, if applicable. This is an optional path but is often required if the `POST` to the loginPath requires an anti csrf token to be passed as part of the `POST`. The `app.antiCsrfParam` will be extracted from the response body of a GET request to this page.

conf.app.badAuthentication.usernamePassword.loginPath
string

**Required**. login route to `POST` credentials for a user in the application (ex. `/login`). An http `POST` request using the type specified will be made to this path.

conf.app.badAuthentication.usernamePassword.otherParams
hawkscan.NameValParam[]

Other request parameters required by your login payload, provided as an array of objects with `name` and `value` string keys. This setting is helpful if your authentication process requires other parameters included in the form POST besides the username and password parameters. If in doubt, this setting can be safely left unconfigured.

Hide child attributesShow child attributes
conf.app.badAuthentication.usernamePassword.otherParams.name
string

Param name.

conf.app.badAuthentication.usernamePassword.otherParams.val
string

Param value.

conf.app.badAuthentication.usernamePassword.passwordField
string

**Required**. The password html field used in your application form or json, provided as a string.

conf.app.badAuthentication.usernamePassword.realm
string

Realm for NTLM authentication

conf.app.badAuthentication.usernamePassword.scanPassword
string

*Required**. The password credentials provided to authentication when attempting to login to the web application, provided as a string. HawkScan best practices recommend using [environment variable runtime overrides](https://docs.stackhawk.com/hawkscan/configuration/#environment-variable-runtime-overrides) for this value (ex. "${SCAN_PASSWORD}" will use the $SCAN_PASSWORD environment variable as the scanPassword).

conf.app.badAuthentication.usernamePassword.scanUsername
string

*Required**. The username credentials provided to authentication when attempting to login to the web application, provided as a string. HawkScan best practices recommend using [environment variable runtime overrides](https://docs.stackhawk.com/hawkscan/configuration/#environment-variable-runtime-overrides) for this value (ex. "${SCAN_USERNAME:admin}" will use the $SCAN_USERNAME environment variable as the scanUsername, or fallback to admin).

conf.app.badAuthentication.usernamePassword.type
enum<string>

An enum value describing the type of `POST` data expected by the `loginPath`

5 available options
FORMJSONHTTPJSON_RPCGRPC
conf.app.badAuthentication.usernamePassword.usernameField
string

**Required**. the username html field used in your application form or json, provided as a string.

conf.app.env
string

**Required**. The `env` environment name to organize Scan Results.

conf.app.excludePaths
string[]

An array of strings, used as regexes to match against routes that should be ignored entirely by HawkScan. If populated, paths that match any supplied regex will be excluded from the scan. This field is useful for prohibiting asset directories or other resources that don't require vulnerability scanning.

conf.app.graphqlConf
hawkscan.GraphQLConf
Hide child attributesShow child attributes
conf.app.graphqlConf.customVariables
hawkscan.GraphQLCustomVariable[]

Define custom variables and values for use in GraphQL scanning.

Hide child attributesShow child attributes
conf.app.graphqlConf.customVariables.field
string

The field name of the param to inject values into.

conf.app.graphqlConf.customVariables.operationName
string

An optional operationName that will only inject custom values if the name of the operation on the request matches.

conf.app.graphqlConf.customVariables.operationType
enum<string>

An optional GraphQL operation type (MUTATION or QUERY) that will inject custom values only when the request matches the operation type.

3 available options
ALLQUERYMUTATION
conf.app.graphqlConf.customVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.graphqlConf.deprecatedCustomVariables
hawkscan.CustomVariable[] deprecated

Define custom variables and values for use in GraphQL scanning.

Hide child attributesShow child attributes
conf.app.graphqlConf.deprecatedCustomVariables.field
string

The field name of the param to inject values into. Using object notation will resolve nested objects for request bodies e.g. myobject.id

conf.app.graphqlConf.deprecatedCustomVariables.path
string

Optional path for the endpoint or gRPC service to hit e.g. /myservice/myfunction

conf.app.graphqlConf.deprecatedCustomVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.graphqlConf.enabled
boolean

Enable GraphQL scan support. HawkScan will enumerate all possible field types and input values for GraphQL Queries and Mutations. Provide relative path to the API endpoint.

conf.app.graphqlConf.excludeOperations
hawkscan.GraphQLExcludeOperationParam[]

GraphQL operations to exclude from the spider.

Hide child attributesShow child attributes
conf.app.graphqlConf.excludeOperations.name
string

GraphQL operation name.

conf.app.graphqlConf.excludeOperations.type
enum<string>

Graphql operation type. Options are `All`, `QUERY` and `MUTATION`.

3 available options
ALLQUERYMUTATION
conf.app.graphqlConf.fakerEnabled
boolean

Enables faker for a GraphQL scan to generate more realistic values when format is provided on the API spec or custom variables.

conf.app.graphqlConf.filePath
string

Path to a local GraphQL schema file (SDL format) to use instead of introspection.

conf.app.graphqlConf.maxDepth
integer<int64>

Maximum depth for generated query graphs.

conf.app.graphqlConf.operation
enum<string>

GraphQL operation to enumerate and scan. Defaults to find all Query and Mutation operations. Options are `All`, `QUERY` and `MUTATION`.

3 available options
ALLQUERYMUTATION
conf.app.graphqlConf.requestMethod
enum<string>

Request method to use for queries. Will generate GraphQL queries as either `POST` payloads or `GET` uri strings.

2 available options
POSTGET
conf.app.graphqlConf.schemaPath
string

Path to the GraphQL introspection endpoint, relative to the target URI.

conf.app.graphqlConf.uriMaxLength
integer<int64>

Max length of URIs when generation queries for GET requests.

conf.app.grpcConf
hawkscan.GrpcConf
Hide child attributesShow child attributes
conf.app.grpcConf.customVariables
hawkscan.CustomVariable[]

Define custom variables and values for use in gRPC scanning.

Hide child attributesShow child attributes
conf.app.grpcConf.customVariables.field
string

The field name of the param to inject values into. Using object notation will resolve nested objects for request bodies e.g. myobject.id

conf.app.grpcConf.customVariables.path
string

Optional path for the endpoint or gRPC service to hit e.g. /myservice/myfunction

conf.app.grpcConf.customVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.grpcConf.filePath
string

Path to a local gRPC [protobuf descriptor_set](https://protobuf.com/docs/descriptors) file.

conf.app.grpcConf.filePaths
string[]

A list of paths to the grpc [protobuf descriptor_set](https://protobuf.com/docs/descriptors) file.

conf.app.grpcConf.maxDepth
integer<int64>

Maximum depth for resolving nested protobuf.

conf.app.grpcConf.path
string

Host path for the grpc reflection endpoint.

conf.app.host
string

**Required**. The base url of the application to scan ex: `http://localhost:8000`. If the url cannot be reached, the scan will not proceed.

conf.app.includePaths
string[]

An array of strings, used as regexes to limit which application routes HawkScan will specifically visit. If populated, paths must match at least one supplied regex to be included as part of the scan. This field is useful for constraining the reach of the HawkScan scanner and spider.

conf.app.inputVectors
hawkscan.AppConf.InputVectorParams
Hide child attributesShow child attributes
conf.app.inputVectors.enabledRpcParam
scanpolicy.EnabledRPCParam
Hide child attributesShow child attributes
conf.app.inputVectors.enabledRpcParam.directWebRemoting
boolean

Support for direct web remoting request bodies. Deprecated.

conf.app.inputVectors.enabledRpcParam.googleWebToolkit
boolean

Support for GWT request bodies. Deprecated.

conf.app.inputVectors.enabledRpcParam.json
boolean

Support for json request bodies.

conf.app.inputVectors.enabledRpcParam.multipartFormData
boolean

Support for `multipart/form-data` request bodies.

conf.app.inputVectors.enabledRpcParam.odataId
boolean

Support for Odata request bodies. Deprecated.

conf.app.inputVectors.enabledRpcParam.xmlTag
boolean

Support for xml request bodies.

conf.app.inputVectors.injectableParam
scanpolicy.InjectableParam
Hide child attributesShow child attributes
conf.app.inputVectors.injectableParam.cookieData
boolean

Allow injection of testable inputs for cookie data.

conf.app.inputVectors.injectableParam.httpHeaders
boolean

Allow injection of testable inputs for http headers.

conf.app.inputVectors.injectableParam.postData
boolean

Allow injection of testable inputs request body inputs on POST requests.

conf.app.inputVectors.injectableParam.urlPath
boolean

Allow injection of testable inputs url paths.

conf.app.inputVectors.injectableParam.urlQuery
boolean

Allow injections of testable inputs url query parameter names.

conf.app.inputVectors.injectableParam.urlQueryParam
boolean

Allow injection of testable inputs url query parameter values.

conf.app.jsonRpcConf
hawkscan.JsonRpcConf
Hide child attributesShow child attributes
conf.app.jsonRpcConf.customVariables
hawkscan.JsonRpcCustomVariable[]

Define custom variables and values for use in JSON-RPC scanning.

Hide child attributesShow child attributes
conf.app.jsonRpcConf.customVariables.field
string

The field name of the param to inject values into. Using dot notation will resolve nested objects for request bodies (e.g., `user.address.id`).

conf.app.jsonRpcConf.customVariables.path
string

An optional regex pattern that will only inject custom values if the JSON-RPC method name matches.

conf.app.jsonRpcConf.customVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.jsonRpcConf.enabled
boolean

Enable JSON-RPC scan support.

conf.app.jsonRpcConf.endpoint
string

The JSON-RPC endpoint path relative to the target host (e.g., `/jsonrpc`). Defaults to `/`.

conf.app.jsonRpcConf.excludeMethods
string[]

Regex patterns for JSON-RPC method names to exclude from scanning.

conf.app.jsonRpcConf.fakerEnabled
boolean

Enables faker for JSON-RPC scanning to generate more realistic values when format is provided on the schema or custom variables.

conf.app.jsonRpcConf.filePath
string

Path to a local OpenRPC schema file (JSON format) to use instead of network discovery.

conf.app.jsonRpcConf.maxDepth
integer<int64>

Maximum depth for generated nested objects. Defaults to 3.

conf.app.jsonRpcConf.mcp
hawkscan.McpConf
Hide child attributesShow child attributes
conf.app.jsonRpcConf.mcp.customValues
hawkscan.McpCustomVariable[]

Define custom variables and values for use in MCP tool scanning.

Hide child attributesShow child attributes
conf.app.jsonRpcConf.mcp.customValues.param
string

Parameter name within the tool's inputSchema. Using dot notation resolves nested objects (e.g., `user.address.id`).

conf.app.jsonRpcConf.mcp.customValues.tool
string

MCP tool name this variable applies to.

conf.app.jsonRpcConf.mcp.customValues.values
string[]

A list of possible values to be randomly selected for the given parameter.

conf.app.jsonRpcConf.mcp.endpoint
string

MCP server endpoint path relative to target host. Defaults to `/mcp`.

conf.app.jsonRpcConf.mcp.excludeTools
string[]

MCP tool names to exclude from scanning.

conf.app.jsonRpcConf.path
string

Host path to a hosted OpenRPC specification, relative to the target host (e.g., `/openrpc.json`).

conf.app.jsonRpcConf.requestTimeout
integer<int64>

HTTP request timeout in milliseconds. Defaults to 30000 (30 seconds).

conf.app.openApiConf
hawkscan.OpenApiConf
Hide child attributesShow child attributes
conf.app.openApiConf.customVariables
hawkscan.OpenApiCustomVariable[]

Define custom variables and values for use in REST API scanning.

Hide child attributesShow child attributes
conf.app.openApiConf.customVariables.field
string

The field name of the param to inject values into.

conf.app.openApiConf.customVariables.path
string

An optional path regex that will only inject custom values if the path of the request matches.

conf.app.openApiConf.customVariables.requestMethods
string[]

A list of optional HTTP request methods that will inject custom values only when the request matches one of those methods.

conf.app.openApiConf.customVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.openApiConf.deprecatedCustomVariables
hawkscan.CustomVariable[] deprecated

Define custom variables and values for use in REST API scanning.

Hide child attributesShow child attributes
conf.app.openApiConf.deprecatedCustomVariables.field
string

The field name of the param to inject values into. Using object notation will resolve nested objects for request bodies e.g. myobject.id

conf.app.openApiConf.deprecatedCustomVariables.path
string

Optional path for the endpoint or gRPC service to hit e.g. /myservice/myfunction

conf.app.openApiConf.deprecatedCustomVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.openApiConf.fakerEnabled
boolean

Enables faker for a REST API scan to generate more realistic values when format is provided on the API spec or custom variables.

conf.app.openApiConf.filePath
string

Path to a local OpenAPI specification file (JSON or YAML format).

conf.app.openApiConf.filePaths
string[]

A list of relative path to specification file(s) (JSON or YAML) for the open api generation for specs with multiple open api files.

conf.app.openApiConf.forbiddenVariables
hawkscan.OpenApiCustomVariable[]

Custom variables that the user should not see for tenancy checks.

Hide child attributesShow child attributes
conf.app.openApiConf.forbiddenVariables.field
string

The field name of the param to inject values into.

conf.app.openApiConf.forbiddenVariables.path
string

An optional path regex that will only inject custom values if the path of the request matches.

conf.app.openApiConf.forbiddenVariables.requestMethods
string[]

A list of optional HTTP request methods that will inject custom values only when the request matches one of those methods.

conf.app.openApiConf.forbiddenVariables.values
string[]

A list of possible values to be randomly selected for the given field.

conf.app.openApiConf.globalParameters
object

Use this for parameters for all users that can't be discovered by smart crawling.

conf.app.openApiConf.includeAllMethods
boolean

When custom variables are provided, DELETE's are skipped for injection. Set this to true to override this default and include all methods in variable injection.

conf.app.openApiConf.includedMethods
string[]

List of methods to include in custom variable injection. Note: if 'includeAllMethods' is set to true, this list is ignored and all methods will be used for custom variable injection.

conf.app.openApiConf.inline
string deprecated

Define your openapi specification yaml inlined as a string.

conf.app.openApiConf.maxAliasesForCollections
integer<int64>

Maximum number of aliases for a collection when parsing YAML. Increase this value if you see the "Number of aliases for non-scalar nodes exceeds the specified max=100" error.

conf.app.openApiConf.path
string

A string relative path to an OpenAPI specification file (JSON or YAML) from the scanned host.

conf.app.openApiConf.strict
boolean

Whether to enable strict parsing of the OpenAPI.

conf.app.openApiConf.usePlatform
boolean

Use the OpenApi Specifications mapped to this application from the StackHawk Platform for this scan.

conf.app.redact
hawkscan.AppRedactions
Hide child attributesShow child attributes
conf.app.redact.headers
string[]

List of string header names: the values of HTTP headers matching these names will be redacted from alerts and logs.

conf.app.redact.values
string[]

List of string static values: the values here will be added to the redacted token list. This is best used with ${ENV_VAR:default} interpolation.

conf.app.scanPolicy
hawkscan.OrganizationPolicy
Hide child attributesShow child attributes
conf.app.scanPolicy.excludePluginIds
string[]

Plugin ids to exclude from the named scan policy.

conf.app.scanPolicy.includePluginIds
string[]

Plugin ids to include in the scan that are not in the named scan policy.

conf.app.scanPolicy.name
string

**Required**. The unique name of the organization scan policy.

conf.app.sessionTokens
string[]

The names of any session tokens used by your application, provided as an array of strings (Hint: these are the names of session cookies used by your application).

conf.app.soapConf
hawkscan.SoapConf
Hide child attributesShow child attributes
conf.app.soapConf.filePath
string

Relative path to the SOAP WSDL schema definition file.

conf.app.soapConf.path
string

Host path to the SOAP WSDL, prefixed with a `/` .

conf.app.waitForAppTarget
hawkscan.WaitForAppTarget
Hide child attributesShow child attributes
conf.app.waitForAppTarget.path
string

The path to a public reachable route in your application. For example `/index`. A `GET` request will be made to this path to confirm the host is up and ready to receive traffic.

conf.app.waitForAppTarget.pollDelay
integer<int64>

The maximum amount of time in milliseconds in between requests to your application to see if it's running

conf.app.waitForAppTarget.requestBody
string

The request content to send along with POST or PUT requests for target verification.

conf.app.waitForAppTarget.requestHeaders
object

Key-value map of additional headers to be sent along with the request to the app target host.

conf.app.waitForAppTarget.requestMethod
enum<string>

Request method to use for queries. Will generate GraphQL queries as either POST payloads or GET uri strings.

4 available options
GETPOSTPUTPATCH
conf.app.waitForAppTarget.waitTimeoutMillis
integer<int64>

The maximum amount of time in milliseconds that HawkScan will wait for your app to be available before it starts scanning

conf.hawk
hawkscan.HawkConf
Hide child attributesShow child attributes
conf.hawk.config
string[]

Scanner configuration overrides, provided as a list of key=value strings. A list of strings in the form of key=value pairs passed to the scanner as scanner configuration overrides. This is an advanced feature to configure HawkScan plugins and override their default behavior.

conf.hawk.failureThreshold
string

The lowest alert level that returns a failed scan status. Accepted values: high, medium, or low.

conf.hawk.outboundProxy
hawkscan.Proxy
Hide child attributesShow child attributes
conf.hawk.outboundProxy.credentials
hawkscan.ProxyCredentials
Hide child attributesShow child attributes
conf.hawk.outboundProxy.credentials.password
string

**Required**. The password for proxy credentials.

conf.hawk.outboundProxy.credentials.realm
string

Realm for proxy credentials.

conf.hawk.outboundProxy.credentials.scheme
string

Scheme of proxy authentication. Currently `BASIC`, `NTLM` are supported.

conf.hawk.outboundProxy.credentials.username
string

**Required**. The username for proxy credentials.

conf.hawk.outboundProxy.host
string

The host of the outbound explicit proxy, including port (e.g. https://localhost:8888).

conf.hawk.outboundProxy.rootCACertPath
string

Path to root CA Certificate for transparent outbound proxies. This can be used without specifying host or credentials.

conf.hawk.scan
hawkscan.HawkConf.ScanConf
Hide child attributesShow child attributes
conf.hawk.scan.concurrentRequests
integer<int64>

Number of request threads. _If you need that little extra push._ defaults to 20.

conf.hawk.scan.includedPlugins
string[]

Specify to only scan with these listed plugins.

conf.hawk.scan.maxDurationMinutes
integer<int64>

Maximum duration that a scan will run.

conf.hawk.scan.maxRuleDurationMinutes
integer<int64>

Maximum duration that a scan will spend on a rule.

conf.hawk.scan.policyName
string

Name of a specific named scan policy to use. This field is optional, and an applicable scan policy will be selected if omitted.

conf.hawk.scan.requestDelayMillis
integer<int64>

Delay time between sending requests.

conf.hawk.scan.throttleIntervalSeconds
integer<int64>

How often the throttle check is run, in seconds.

conf.hawk.scan.throttlePassiveBacklog
integer<int64>

Pause active scan when passive backlog is greater than this value, resumes once backlog is empty. defaults to 50.

conf.hawk.scan.throttleTempRecordDeleteQuota
integer<int64>

The percentage of throttleTempRecordMax records to delete on each throttleIntervalSeconds.

conf.hawk.scan.throttleTempRecordMax
integer<int64>

The max number of temp records allowed before pruning of temp records begins.

conf.hawk.spider
hawkscan.HawkConf.Spider
Hide child attributesShow child attributes
conf.hawk.spider.ajax
boolean

Enable the ajax web crawler for discovering your application’s routes. This spider is appropriate for single-page web applications.

conf.hawk.spider.ajaxBrowser
enum<string>

The browser type and style to use when running the AjaxSpider. When running the `stackhawk/hawkscan` docker container, this setting is ignored and will use the default CHROME_HEADLESS. The options are CHROME_HEADLESS and CHROME. FIREFOX_HEADLESS and FIREFOX are deprecated.

4 available options
FIREFOX_HEADLESSCHROME_HEADLESSFIREFOXCHROME
conf.hawk.spider.base
boolean

Enable the basic web crawler for discovering your application's routes. This spider is appropriate for most traditional web applications.

conf.hawk.spider.custom
hawkscan.HawkConf.Spider.CustomDiscovery
Hide child attributesShow child attributes
conf.hawk.spider.custom.arguments
string[]

Command arguments provided as an array of strings. These arguments can be used in addition to or instead of the command. This should be used if the command is sufficiently complex or is exceptionally whitespace sensitive.

conf.hawk.spider.custom.command
string

Provide a command to run as part of the scan discovery phase. This command will be split from its arguments and execute on its own thread in a context with additional environment variables set with the proxy configuration for HawkScan to intercept http traffic.

conf.hawk.spider.custom.credentials
object

Key-Value map of additional environment variables or secrets to pass along into the execution of the command. These values will be redacted from the logs.

conf.hawk.spider.custom.environment
object

Key-Value map of environment variable names and values to pass along into the execution of the command.

conf.hawk.spider.custom.excludeParentEnvironment
boolean

Only provide the environment variables and credentials as configured. By default also includes the environment from the parent process environment for convenience.

conf.hawk.spider.custom.logOutputToForeground
boolean

This command prints the stdout and stderr of the command to the foreground.

conf.hawk.spider.custom.workingDir
string

The absolute path working directory these commands are run from.

conf.hawk.spider.disableSmartCrawling
boolean

Disable smart crawling for openApiConf to enable legacy openapi import process.

conf.hawk.spider.har
hawkscan.HARImportConfig
Hide child attributesShow child attributes
conf.hawk.spider.har.dir
hawkscan.HARImportDirectory
Hide child attributesShow child attributes
conf.hawk.spider.har.dir.path
string

Path to directory containing .har files. Only files with the .har extension will be loaded in alphanumeric order.

conf.hawk.spider.har.file
hawkscan.HARImportFiles
Hide child attributesShow child attributes
conf.hawk.spider.har.file.paths
string[]

Paths to HAR files to import. Files will be loaded in order provided.

conf.hawk.spider.har.replaceHost
string

The hostname of URLs in the HAR file that will be replaced with the host defined in `app.host`. Leave blank if the `app.host` is then same hostname in the HAR file.

conf.hawk.spider.maxDurationMinutes
integer<int32>

Maximum allowed time for enabled spiders to crawl your web application.

conf.hawk.spider.postmanConfig
hawkscan.PostmanConfig
Hide child attributesShow child attributes
conf.hawk.spider.postmanConfig.apikey
string

API key to authenticated the user with Postman.

conf.hawk.spider.postmanConfig.collectionUID
string

Id of the collection to be pulled from Postman.

conf.hawk.spider.postmanConfig.filePath
string

File path of the Postman collection.

conf.hawk.spider.responseBodyFilter
hawkscan.HawkConf.Spider.SpiderResponseBodyFilter
Hide child attributesShow child attributes
conf.hawk.spider.responseBodyFilter.excludeContentTypes
string[]

Content types to exclude from response body uploads. If specified, adds to the default exclude list. Exclusions take precedence over inclusions. Supports wildcards (e.g., `image/*`).

conf.hawk.spider.responseBodyFilter.includeContentTypes
string[]

Content types to include in response body uploads. If specified, replaces the default include list. Supports wildcards (e.g., `application/*+json`, `image/*`).

conf.hawk.spider.seedPaths
string[]

List of paths to supplement the spider. These paths will be used as additional starting points for crawling your application. Useful for paths that are not crawlable from the root of your application. For example, `/admin`. **Note**: this configuration is NOT a replacement for an API spec and provides no benefit to pure REST API's.

conf.hawk.startupTimeoutMinutes
integer<int32>

Maximum time in minutes to wait for the scanner process to start.

conf.hawkAddOn
hawkscan.HawkAddOnConf
Hide child attributesShow child attributes
conf.hawkAddOn.replacer
hawkscan.Replacer
Hide child attributesShow child attributes
conf.hawkAddOn.replacer.rules
hawkscan.ReplacerRules[]

List of regex match and replace rules for request headers.

Hide child attributesShow child attributes
conf.hawkAddOn.replacer.rules.initiators
string[]

Replacer rule initiators.

conf.hawkAddOn.replacer.rules.isRegex
boolean

Enable regex search for `matchString`. Useful when `replaceOnly` is true (e.g. `Referer:.*` will replace the entire `Referer:` header line).

conf.hawkAddOn.replacer.rules.matchString
string

If `replaceOnly` is false, only match the header name. If `replaceOnly` is true, matches the exact string on the header line.

conf.hawkAddOn.replacer.rules.replaceOnly
boolean

If false, replace existing header value or add the missing header using replacement as the value. If true, only replace the matchString of an existing header line.

conf.hawkAddOn.replacer.rules.replacement
string

If false, replace existing header value or add the missing header using replacement as the value. If true, only replace the matchString of an existing header line.

conf.hawkAddOn.scripts
hawkscan.Script[]

List of configurations for custom scripts.

Hide child attributesShow child attributes
conf.hawkAddOn.scripts.id
integer<int64>

Plugin Id for script.

conf.hawkAddOn.scripts.language
enum<string>

**Required**. The language of this script. Either `KOTLIN` or `JAVASCRIPT`.

2 available options
KOTLINJAVASCRIPT
conf.hawkAddOn.scripts.name
string

The name of this custom script.

conf.hawkAddOn.scripts.path
string

Path to the file location for the custom script.

conf.hawkAddOn.scripts.type
enum<string>

The type of this script. One of `active`, `authentication`, `httpsender`, `passive`, `proxy`, `session`.

6 available options
activeauthenticationhttpsenderpassiveproxysession
conf.hawkAddOn.scripts.vars
hawkscan.NameValParam[]

Named variables to expose to the script.

Hide child attributesShow child attributes
conf.hawkAddOn.scripts.vars.name
string

Param name.

conf.hawkAddOn.scripts.vars.val
string

Param value.

conf.tags
hawkscan.Tag[]

Searchable keywords to associate with this scan.

Hide child attributesShow child attributes
conf.tags.name
string

The keyword name.

conf.tags.value
string

An arbitrary value to associate with the keyword.

configHash
string

The hash of the HawkScan configuration.

Unauthorized

Your privacy settings

We use first and third party cookies to ensure that we give you the best experience on our website and in our products.