Vectasec · Reference
Connector reference
All 39 Vectasec read-only connectors with their configuration fields, which fields are stored as secrets, and rule counts per pack.
On this page
How connectors are configured#
Each connector declares its own fields. In the table below, R marks a required field and S marks a secret. The console form, the CLI and POST /connections all reject a connection that is missing a required field. Keys a connector reads but does not declare, such as timeout, pass through unchecked.
Secret fields are split out of the saved config and stored as one Supabase Vault secret per connection. They are merged back in memory only at scan or test time, and are never echoed back to the console. A collector-mode connection is scanned with the config in the collector's own targets file, where credentials are ${ENV_VAR} references resolved from the collector's environment, so they stay in your network.
GET /connectors returns the live catalog: every type, its field declarations and a rule count. Each connector registers itself when the engine starts, so a new connector appears in that response and in vectasec rules without a central list to edit.
The CLI has named flags for common fields: --bootstrap, --url, --host, --port, --token, --admin-token, --username and --password. Pass every other field with --set key=value, which you can repeat. Values arrive as strings. Without --tenant, the CLI writes to the built-in demo tenant. Run these from the engine directory of the release:
uv run vectasec connections add --type vault --name prod-vault \
--set base_url=https://vault.example.com:8200 --token "$VAULT_TOKEN" \
--tenant YOUR_TENANT_UUID
uv run vectasec connections test prod-vault --tenant YOUR_TENANT_UUID
Connector catalog#
The Rules column counts the rule ids under each connector's prefix, for example every KAFKA. rule for kafka. All 39 connectors are read-only.
Connector notes#
- ActiveMQ.
GET /connectorscounts 6 rules foractivemq, because the 4ARTEMISrules are not attributed to it there. - IaC.
vectasec rulesgroups rules by the first segment of the rule id, so the 8SUPPLY.IACrules appear underSUPPLYtogether with the 3SUPPLY.LIFECYCLErules. - MCP. The connector reads discovery,
tools/listand unauthenticated OAuth discovery documents, and never issuestools/call. Extra probes, such as an invalid protocol version or a forged Origin, run only whenactive_probesis set. Any non-empty value turns them on, including the stringfalse, so leave the key out to keep them off.source_zonerecords where the scan ran from and is quoted in finding evidence. - Azure and GCP. Their test suites run against fixture API responses rather than a live tenant, so treat both connectors as preview. The supported agentless path today is AWS, through a cross-account read-only role. See Scan AWS with a read-only role.
TLS verification#
Where a connector has a TLS verification switch, verification is on by default. Keep it on in production. The key name varies by connector:
Declared fields and insecure_skip_tls_verify accept true or false as text. The undeclared verify and verify_tls keys expect a JSON boolean, so set them in the POST /connections body or a collector targets file rather than with --set. For a cluster with a private CA, give k8s the CA in ca_cert instead of turning verification off.
Cross-cutting rule packs#
Thirty rules are not tied to one connector. They match resource kinds that several connectors emit, such as grants, identities, credentials, data-carrying topics and queues, runtime clients, TLS endpoints and versioned components.
With the 418 connector rules, that makes 448. GET /connectors does not attribute these packs to any connector. To see the rulepack your engine has loaded, run uv run vectasec rules, which lists every rule grouped by the first segment of its id.
Discovery guardrails#
The discovery connector fingerprints middleware on network ranges you name. Each probe sends what a normal client sends before authenticating, reads one response and disconnects. Scope is resolved before any probe runs.
- Declared targets only. Give hosts,
host:portpairs or CIDRs, separated by commas or newlines. An empty list probes nothing. - Private by default. IP addresses and CIDRs outside private, loopback and link-local space are refused unless
allow_publicis1,trueoryes. Hostnames are not resolved while scope is checked, so list only hostnames you are authorized to scan. - Bounded. One scan expands to at most 1024 hosts. A CIDR larger than the cap is refused on its own. If your targets together exceed the cap, the whole sweep is refused and nothing is probed.
- Do-not-contact ports. 9100-9107 (raw print), 1414-1416 (IBM MQ), 515 (LPD) and 631 (IPP) are never contacted, even when named.
- No credentials. No credential is sent, guessed or defaulted. The Kafka and MQTT probes identify themselves with the client id
vectasec-discovery. - Default ports. Targets without a port get the list you set in
ports, or by default these 20 middleware ports: 1883, 2181, 2379, 4222, 5432, 5672, 6379, 6650, 8001, 8080, 8161, 8200, 8500, 8883, 9000, 9092, 9200, 11211, 15672 and 61616. Ports 5432, 6650 and 61616 have no protocol probe of their own, so a default sweep does not identify services on them. - Non-standard ports. A port you name on a target, such as
10.0.4.7:6380, is tried with a set of generic probes when no specific probe covers it. Ports fromportsget only their specific probe, or an API-descriptor check on common HTTP ports, so an unmapped port listed there is not probed.
Every refused target is recorded with its reason. DISCOVERY.SCOPE.TARGETS_REFUSED raises refusals as a finding, and DISCOVERY.SCOPE.NOTHING_PROBED flags a sweep that had nothing in scope. After each discovery scan, the engine compares the services it found with your configured connections by host and port. It files COVERAGE.SERVICE.UNMONITORED for any service no connection covers. When a connection's config names no endpoint it can match, the finding is filed as not assessable rather than as an unmonitored system.
Related pages#
- Configuration: connection settings, scan schedules and engine variables.
- Run a collector in your network: scan these connectors from inside your network.
- Findings, evidence and compliance: what a rule produces and how it is recorded.
- Non-human identities and attack paths: the NHI, credential and attack-path packs in depth.
- CLI and API reference: every command and route.