Signal Flags
Description of available Signal flags. Any CLI flag can be set here as its snake_case equivalent (--log-file → log_file). getConfig merges the section straight into config.SCAN after applying defaults.
| CLI option | Type | Description |
|---|---|---|
| version | Flag | Show version and exit. |
| display_extensions | Flag | Display the list of default file extensions supported for analysis and exit. |
| agent_limit | Integer (x >= 1) | Maximum number of concurrent agent invocations during dataflow and oversight analysis. Default: 10. |
| auto_accept_token_time_estimates | Boolean (true|false) | Skip the large-codebase confirmation prompt, print the estimate, and proceed. Intended for CI/CD environments. Default: False. |
| model_completion_limit | Integer (x >= 1) | Maximum number of completion tokens for the LLM model. |
| cache_database | Text | Database connection string for LLM query caching (for example, postgresql://localhost:5432/signal). |
| cache_file | Text | SQLite database file for local LLM query caching. Default: signal-cache.db. |
| caching | Boolean (true|false) | Enable/Disable local caching for LLMs. Default: True. |
| config | Text | Scan configuration file. Default: .signal. |
| crypto | Boolean (true|false) | Enable/Disable crypto analysis feature. Default: True. |
| cvss_threshold | Text | Minimum CVSS score for filtering results. Accepts a score (0.0-10.0) or severity alias: None (0.0), Low (0.1), Medium (4.0), High (7.0), Critical (9.0). Default: 0.0. |
| dataflow | Boolean (true|false) | Enable/Disable cross-file dataflow agent feature. Default: True. |
| disable_default | Boolean (true|false) | Disable the default analysis logic and run only alternate analysis logic (for example, misra). Default: False. |
| exclude_paths | Text | Comma-separated list of paths or files to exclude from analysis within the target directory. Does not affect dataflow traces. |
| checkpoint_file | Text | Path to a dataflow checkpoint file used to resume an interrupted scan. Must be used with import_results to preserve result GUIDs. |
| export_results | Text | Export single-file analysis results to a JSON file. Can be imported later with import_results. |
| extra_extensions | Text | Comma-separated list of additional file extensions to analyse (for example, .foo,.bar). |
| git_diff | Boolean (true|false) | Scan all uncommitted Git changes (staged and unstaged). Default: False. |
| git_diff_reference_branch | Text | Reference branch for Git diff comparison. Used with git_diff to analyse changes since divergence from the specified branch. |
| git_diff_generate_patches | Boolean (true|false) | Generate Git diff patch files. If False, patch files are assumed to already exist. Default: False. |
| git_diff_untracked | Boolean (true|false) | Include untracked files when generating Git diff patches. Default: False. |
| ignore_test_files | Boolean (true|false) | Skip test and example files. Default: True. |
| import_results | Text | Import previously exported single-file analysis results and skip re-analysis. Continues with graph, dataflow, and oversight analysis. |
| include_paths | Text | Comma-separated list of paths or files to analyse within the target directory. Does not affect dataflow traces. |
| intra_file_shortcircuit | Boolean (true|false) | Allow single-file analysis to document a complete in-file dataflow trace itself and skip the dataflow agent, when the tainted value originates outside the process within the same file. Set to false to route every user-controlled-input finding to the dataflow agent as before. Default: True. |
| large_code_base_size | Integer (x >= 100) | File-count threshold above which a pre-flight token/time estimate is run and user confirmation is required. Default: 500. |
| llm_key | Text | LLM API key. |
| llm_limit | Integer (x >= 1) | Maximum number of concurrent LLM requests during single-file analysis. Default: 10. |
| llm_model | Text | LLM model used for single-file analysis. Default: claude-sonnet-4-6. |
| llm_model_agent | Text | LLM model used for SAST agents. Default: o3-mini. |
| llm_tag | Text | Tag used for LLM tracking. Default: signal. |
| llm_uri | Text | LLM endpoint. Default: https://llm.core.blackduck.com/. |
| log_file | Text | Path for standard log output. Default: signal.log. |
| error_log_file | Text | Path for error log output. Default: signal_errors.json. |
| log_level | Enum (info, error, warn, debug) | Logging level. Default: INFO. |
| misra | Boolean (true|false) | Enable/Disable experimental MISRA analysis feature. Default: False. |
| oversight | Boolean (true|false) | Enable/Disable oversight agent review feature. Default: True. |
| oversight_cve_detection | Boolean (true|false) | Enable/Disable CVE detection during oversight review. Default: True. |
| oversight_embedding_enabled | Boolean (true|false) | Experimental embedding-based similarity search for oversight rule matching. Reduces token usage during oversight review. Default: True. |
| oversight_embedding_model | Text | Embedding model used for oversight rule similarity matching. Default: text-embedding-3-small. |
| oversight_rules_file | Text | Path to a custom CSV file containing rule_id,cwe pairs. Uses built-in rules if not specified. |
| report_file | Text | Path for SARIF report output. Default: results.sarif. |
| result_limit | Integer (x >= 1) | Limit the number of results returned during single-file analysis. |
| show_triage | Boolean (true|false) | Show results automatically triaged as false positives. Default: False. |
| skip_estimates | Boolean (true|false) | Skip the large-codebase pre-flight estimate, including sample LLM calls and confirmation prompt. Default: False. |
| thinking_budget | Integer (1024 <= x <= 128000) | Token budget for Anthropic extended thinking/reasoning. Higher values may improve accuracy but increase token usage and latency. Applies only to thinking-capable Claude models. Default: 8192. |
| help | Flag | Show help message and exit. |
[SCAN] Flags
snake_case equivalent (--log-file → log_file). getConfig merges the section straight into config.SCAN after applying defaults.
| Key | CLI equivalent | Type | Purpose |
|---|---|---|---|
target |
Positional argument | str |
Directory to scan, usually specified on the CLI rather than in the configuration file |
include_paths |
--include-paths |
CSV string | Subpaths to include. Wrap paths containing commas in quotation marks |
exclude_paths |
--exclude-paths |
CSV string | Subpaths to skip |
extra_extensions |
--extra-extensions |
CSV string | Additional file extensions to analyse, such as .foo,.bar |
ignore_test_files |
--ignore-test-files |
bool |
Skip test and example files |
report_file |
--report-file |
str |
Path for the SARIF output file |
summary_report_file |
--summary-report-file |
str |
Path for the summary text output |
sca_report_file |
--sca-report-file |
str |
Path for the SCA JSON output |
log_fileerror_log_file |
--log-file--error-log-file |
str |
Paths for standard and error logs |
log_level |
--log-level |
INFO, ERROR, WARN, or DEBUG |
Controls log verbosity |
mode |
--mode |
static, sca, or crypto |
Selects the primary analysis mode |
dataflowoversightscacryptomisraexploitpoc_kitmerge_keysgit_diffdisable_default |
Matching CLI flag | bool |
Enables or disables the corresponding feature |
show_triage |
--show-triage |
bool |
Includes automatically triaged false positives in the report |
cvss_threshold |
--cvss-threshold |
float or severity name |
Filters out results below the specified score or severity |
llm_limitagent_limit |
--llm-limit--agent-limit |
int |
Sets LLM and agent concurrency limits |
result_limit |
--result-limit |
int |
Limits output to the top N results |
model_completion_limit |
--model-completion-limit |
int |
Sets the maximum number of completion tokens |
temperature |
--temperature |
float, 0.0–2.0 |
Controls LLM response variability |
thinking_budget |
--thinking-budget |
int, 1024–128000 |
Sets the Claude extended-thinking token budget |
caching |
--caching |
bool |
Enables the local SQLite response cache |
cache_file |
--cache-file |
str |
Specifies the SQLite cache path |
cache_database |
--cache-database |
str |
Specifies the PostgreSQL URL for a shared cache |
llm_prompt_caching |
--llm-prompt-caching |
bool |
Enables Anthropic cache_control prompt caching |
oversight_embedding_enabled |
--oversight-embedding-enabled |
bool |
Enables embedding-based oversight rule matching |
oversight_rules_file |
--oversight-rules-file |
str |
Specifies a custom rule_id,cwe CSV file |
oversight_embedding_model |
--oversight-embedding-model |
str |
Specifies the embedding model used for oversight |
oversight_cve_detection |
--oversight-cve-detection |
bool |
Enables CVE detection during oversight |
export_resultsimport_results |
Matching CLI flag | str |
Saves or restores single-file results |
checkpoint_filecheckpoint_interval |
Matching CLI flag | str / int |
Configures dataflow crash recovery and resumption |
large_code_base_size |
--large-code-base-size |
int, minimum 100 |
Sets the file-count threshold for a preflight estimate |
auto_accept_token_time_estimatesskip_estimates |
Matching CLI flag | bool |
Controls preflight-estimate behaviour |
git_diff_reference_branchgit_diff_dirgit_diff_generate_patchesgit_diff_preserve_patchesgit_diff_untracked |
Matching CLI flag | Mixed | Configures Git-diff mode |
project_name |
--project-name |
str |
Specifies the merge-key project identifier |
llm_keyllm_urillm_modelllm_model_agentllm_model_sca_agentllm_tag |
Matching CLI flag | str |
Legacy: Configures managed-mode LLM settings. See [LLM] for the BYO configuration surface |
llm_mode |
--llm-mode |
managed or byo |
Selects the managed gateway or BYO agent surface |
connectivity_checkcheck_llmcheck_llm_json |
Matching CLI flag | bool |
Runs the corresponding preflight or validation mode |
BYOLLM Flags
Values here are inherited by every [LLM_*_AGENT] section unless the agent overrides them. This section is relevant only when enabling the BYOLLM mode (mode = byo or --llm-mode byo). For more details, see BYOLLM.
| Key | CLI equivalent | Notes |
|---|---|---|
mode |
--llm-mode |
Selects the LLM mode: managed (default, uses llm.core.blackduck.com) or byo (bring your own) |
uri |
--llm-uri |
Base endpoint URL. The provider is automatically detected from the hostname, including OpenAI-compatible endpoints, *.openai.azure.com, *.cognitiveservices.azure.com, and *.services.ai.azure.com |
key |
--llm-key |
API key. Supports environment variable substitution using ${VAR} |
timeout |
--llm-timeout |
Per-request timeout in seconds |
api_version |
--llm-api-version |
Required for Azure OpenAI deployments (for example, 2025-01-01-preview); ignored by other providers |
ssl_verify |
--llm-ssl-verify |
Set to false when using self-signed certificates |
ca_bundle |
--llm-ca-bundle |
Path to a custom PEM certificate bundle |
gcp_service_account_key |
--gcp-service-account-key |
Path to a Google Cloud service account JSON file or a base64-encoded JSON string. Used only with Vertex AI |
gcp_project |
--gcp-project |
Google Cloud Vertex AI project ID |
gcp_region |
--gcp-region |
Vertex AI region, such as us-central1 |
aws_bearer_token |
--aws-bearer-token |
AWS Bedrock IAM service-specific credential secret |
aws_bedrock_region |
--aws-bedrock-region |
AWS Bedrock region, such as us-east-2 |
SDK env-var fallbacks for BYOLLM
This section is relevant only when enabling the BYOLLM mode (mode = byo or --llm-mode byo). When a field is not set in CLI or config, Signal falls back to widely-known SDKenv vars according to:
| Provider | Environment Variable(s) | Configuration Key |
|---|---|---|
| OpenAI-compatible | OPENAI_API_KEY |
key |
| Azure OpenAI | AZURE_OPENAI_ENDPOINT |
uri |
AZURE_OPENAI_API_KEY |
key |
|
AZURE_OPENAI_API_VERSION |
api_version |
|
| Google Cloud Vertex AI | GOOGLE_APPLICATION_CREDENTIALS |
gcp_service_account_key |
GOOGLE_CLOUD_PROJECT, GCP_PROJECT |
gcp_project |
|
GOOGLE_CLOUD_REGION, GCP_REGION |
gcp_region |
|
| AWS Bedrock | AWS_BEARER_TOKEN_BEDROCK |
aws_bearer_token |
AWS_REGION |
aws_bedrock_region |
BYOLLM Agents
This section is relevant only when enabling the BYOLLM mode (mode = byo or --llm-mode byo).
| Section | Agent role | Managed-mode source flag |
|---|---|---|
[LLM_SINGLEFILESCAN_AGENT] |
Performs per-file vulnerability detection. Typically the highest-consuming LLM agent in terms of token usage. | --llm-model |
[LLM_DATAFLOW_AGENT] |
Performs cross-file dataflow tracing and multi-step analysis across code paths. | --llm-model-agent |
[LLM_OVERSIGHT_AGENT] |
Handles false-positive triage and second-pass review using two prompt workflows that share a single client configuration. | --llm-model-agent |
[LLM_EXPLOITATION_AGENT] |
Generates executive summaries and attack-chain analysis for identified issues. | --llm-model-agent |
[LLM_SCA_AGENT] |
Provides software composition analysis (SCA) orchestration, including supervisor, audit, and knowledge-base sub-agents that share a common client. | --llm-model-sca-agent (also supports --llm-model-sca) |
[LLM_MERGEKEY_EMBED_AGENT] |
Generates embedding vectors used for cross-run merge-key matching and correlation. | Uses the managed default embedding model (text-embedding-3-large) |
[LLM_OVERSIGHT_EMBED_AGENT] |
Generates embedding vectors for oversight rule similarity matching. | Uses the managed default embedding model (text-embedding-3-small) |
Signal parameters related to Bridge CLI
| Argument | Input Mode | Required | Notes | |
|---|---|---|---|---|
| Command Line Argument | Environment Variable | |||
| LLM API key | signal.llm.key |
BRIDGE_SIGNAL_LLM_KEY |
Yes | API key or token for the configured LLM endpoint. Bridge passes this directly to |
| Project directory | project.directory |
BRIDGE_SIGNAL_PROJECT_DIRECTORY |
No | Absolute path to the project root that Bridge uses as the working directory and scan target. Must point to the root of the source tree, and to a Git repository when using diff modes. Example: If no value is provided, Bridge CLI uses the current directory as the project directory. |
| Signal version | signal.version |
BRIDGE_SIGNAL_VERSION |
No | Specific Signal version to install and invoke. If omitted, Bridge resolves and downloads the latest supported Signal version for the current OS and architecture. Example: |
| Scan mode | signal.mode |
BRIDGE_SIGNAL_SCAN_MODE |
No | Use to specify a scan mode:
Default: For |
| Exclude paths | signal.exclude |
BRIDGE_SIGNAL_EXCLUDE |
No | Comma separated list of file or directory paths (relative to project.directory) to exclude from the scan, in any mode. Example :"tests/,examples/" |
| SARIF Report File Path | signal.reportFile |
BRIDGE_SIGNAL_REPORT_FILE |
No | Optional custom path for the Signal SARIF report file. When provided, Bridge passes --report-file
"<signal.reportFile>" and returns the same value on completion. Default: Uses Signal default, |
| Free-form Signal arguments | signal.args |
BRIDGE_SIGNAL_ARGS |
No | Additional Signal CLI flags appended as‑is. Must not include Suitable for tuning analysis features such as Example: |
FILE mode parameters
| Argument | Input Mode | Required | Notes | |
|---|---|---|---|---|
| Command Line Argument | Environment Variable | |||
| Include paths | signal.include |
BRIDGE_SIGNAL_INCLUDE |
Yes | Comma‑separated list of file or directory paths (relative to project.directory) to include in FILES mode. If empty or omitted in Example: |
UNCOMMITTED mode parameters
| Argument | Input Mode | Required | Notes | |
|---|---|---|---|---|
| Command Line Argument | Environment Variable | |||
| Git execution path | signal.git.execution.path |
BRIDGE_SIGNAL_GIT_EXECUTION_PATH |
No | Absolute path to Git binary executable. Default: Uses system path to locate Git executable binary. |
REFERENCE mode parameters
| Argument | Input Mode | Required | Notes | |
|---|---|---|---|---|
| Command Line Argument | Environment Variable | |||
| Reference branch | signal.git.ref |
BRIDGE_SIGNAL_GIT_REF |
Yes | Reference branch name for Git diff comparison . Examples: |
| Git execution path | signal.git.execution.path |
BRIDGE_SIGNAL_EXECUTION_PATH |
No | Absolute path to Git binary executable. Default: Uses system path to locate Git executable binary. |
PROJECT mode parameters
Project mode parameters control where Signal uploads results. This section summarizes the available platforms and their configuration parameters.
| Argument | Input Mode | Required | Notes | |
|---|---|---|---|---|
| Command Line Argument | Environment Variable | |||
| Platform | signal.platform |
BRIDGE_SIGNAL_PLATFORM |
No | Indicates the platform to upload results to. Use Polaris. Note: If
signal.platform is not used for a project scan then Bridge will still run the scan and will exit without attempting to upload results. |
| Polaris URL | polaris.serverUrl |
BRIDGE_POLARIS_SERVERURL |
Yes | The Polaris URL for uploading results. |
| Polaris token | polaris.accessToken |
BRIDGE_POLARIS_ACCESSTOKEN |
Yes | The Polaris access token. |
| Application name | polaris.application.name |
BRIDGE_POLARIS_APPLICATION_NAME |
Yes | Polaris application name. |
| Project name | polaris.project.name |
BRIDGE_POLARIS_PROJECT_NAME |
Yes | Polaris project name. |
| Branch name | polaris.branch.name |
BRIDGE_POLARIS_BRANCH_NAME |
Yes | Polaris branch name. |
Signal outputs
When a client invokes bridge --stage signal, Bridge guarantees the following outputs in the workflow context and/or client-facing response.
| Field | JSON Field | Notes |
|---|---|---|
| Signal exit code | signal.exitCode |
Numeric process exit code from the Signal binary (0=success, non-zero=failure). Clients should treat non-zero values as a scan failure and surface the underlying error or logs as appropriate. |
| SARIF report file path | signal.report.output |
Absolute or relative path to the generated SARIF security report file. If the signal.reportFile argument is provided, the same path is returned. Otherwise, the Signal controller assigns a default path (results.sarif) before execution and returns it. This path serves as the main artifact for downstream consumers like Code Sight or CI.Default: results.sarif.json |
| Report URL | signal.report.url |
This is the URL for the uploaded results file. |
| Upload successful | signal.report.uploadSuccessful |
Boolean flag indicating whether the upload of the SARIF report to the configured platform completed successfully. When true, the artifact was uploaded and a valid signal.report.url is available; false means the upload failed and clients should not rely on signal.report.url. |
Polaris Flags
| Key | Purpose |
|---|---|
endpoint |
Base Polaris server URL, for example https://poc.polaris.blackduck.com |
access_token |
Polaris API access token used for authentication |
portfolio |
UUID of the Polaris portfolio to use |
application |
UUID of the Polaris application to use |
project |
UUID of the Polaris project to use |
Signal config file
With Signal v0.1.3 and newer, Signal options can now be placed in a .signal config file located in the current directory. Any CLI option can also be added in the config file. When an option is defined in both the configuration file and the CLI, the CLI setting overrides the configuration file value.
[SCAN]
#exclude_paths=path1,path2
#include_paths=path1,path2
#llm_key=YOUR_LLM_API_KEY
log_level=DEBUG
oversight=false
dataflow=falseWhen used with the MCP server, Signal will look for a config file in $HOME/.blackduck/mcp/signal/.scan-config.