feat(qualys): new Qualys VMDR vulnerability integration
Qualys API v2 (XML), 6 commands: host list, host detections, knowledge-base vulnerability details, scan list, launch scan. HTTP Basic auth, stdlib-only. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
id: qualys
|
||||
name: Qualys VMDR
|
||||
version: 1.0.0
|
||||
description: "Qualys Vulnerability Management (API v2) — asset and vulnerability context: list hosts, list host vulnerability detections, look up vulnerability (QID) knowledge-base details, and list/launch VM scans. HTTP Basic authentication; stdlib-only, no extra Python dependencies."
|
||||
changelog: "1.0.0 — Initial release: host list, host detections, knowledge-base vulnerability details, scan list, launch scan."
|
||||
category: vulnerability
|
||||
|
||||
# Per-instance configuration. HTTP Basic auth against the Qualys API server
|
||||
# (regional, e.g. https://qualysapi.qg2.apps.qualys.com). All requests send the
|
||||
# required 'X-Requested-With' header. Responses are XML.
|
||||
config_schema:
|
||||
properties:
|
||||
base_url:
|
||||
type: string
|
||||
description: "Qualys API server URL (e.g. https://qualysapi.qualys.com)"
|
||||
username:
|
||||
type: string
|
||||
description: "Qualys username"
|
||||
password:
|
||||
type: string
|
||||
description: "Qualys password"
|
||||
x-soar-sensitive: true
|
||||
required:
|
||||
- base_url
|
||||
- username
|
||||
- password
|
||||
|
||||
commands:
|
||||
- id: host_list
|
||||
name: qualys-host-list
|
||||
description: "List scanned hosts (optionally filtered by IP range)."
|
||||
risk: read
|
||||
inputs_schema:
|
||||
properties:
|
||||
ips: { type: string, description: "Optional IP/range filter (e.g. 10.0.0.1-10.0.0.50)" }
|
||||
truncation_limit: { type: number, description: "Max hosts (default 100)" }
|
||||
required: []
|
||||
outputs_schema: { properties: {} }
|
||||
- id: host_detections
|
||||
name: qualys-host-detections
|
||||
description: "List vulnerability detections on hosts (optionally filtered by IP and severity)."
|
||||
risk: read
|
||||
inputs_schema:
|
||||
properties:
|
||||
ips: { type: string, description: "Optional IP/range filter" }
|
||||
severities: { type: string, description: "Optional severity filter (e.g. 4,5)" }
|
||||
truncation_limit: { type: number, description: "Max hosts (default 100)" }
|
||||
required: []
|
||||
outputs_schema: { properties: {} }
|
||||
- id: vuln_details
|
||||
name: qualys-vuln-details
|
||||
description: "Get knowledge-base details for one or more vulnerabilities by QID."
|
||||
risk: read
|
||||
inputs_schema:
|
||||
properties:
|
||||
qids: { type: string, description: "Comma-separated QIDs" }
|
||||
required: [qids]
|
||||
outputs_schema: { properties: {} }
|
||||
- id: list_scans
|
||||
name: qualys-list-scans
|
||||
description: "List VM scans."
|
||||
risk: read
|
||||
inputs_schema:
|
||||
properties:
|
||||
state: { type: string, description: "Optional state filter (Running, Finished, Canceled, ...)" }
|
||||
required: []
|
||||
outputs_schema: { properties: {} }
|
||||
- id: launch_scan
|
||||
name: qualys-launch-scan
|
||||
description: "Launch a VM scan against a set of IPs."
|
||||
inputs_schema:
|
||||
properties:
|
||||
scan_title: { type: string, description: "Title for the scan" }
|
||||
ip: { type: string, description: "Comma-separated target IPs/ranges" }
|
||||
option_title: { type: string, description: "Option profile title (provide this or option_id)" }
|
||||
option_id: { type: string, description: "Option profile ID (provide this or option_title)" }
|
||||
iscanner_name: { type: string, description: "Scanner appliance name (optional)" }
|
||||
required: [ip]
|
||||
outputs_schema: { properties: {} }
|
||||
|
||||
- id: test_connection
|
||||
name: qualys-test-connection
|
||||
description: "Verify connectivity and credentials (used by the Test button)."
|
||||
risk: read
|
||||
inputs_schema:
|
||||
properties: {}
|
||||
required: []
|
||||
outputs_schema: { properties: {} }
|
||||
Reference in New Issue
Block a user