Files
Guillaume BOURGEOIS 847d18f79b feat(tenable-io): new Tenable Vulnerability Management integration
Tenable.io API, 9 commands: list/get assets, list vulnerabilities, per-asset
vulnerabilities, vulnerability (plugin) details, list scans, scan status,
launch scan. API-key (access/secret) auth, stdlib-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 23:59:37 +02:00

108 lines
3.6 KiB
YAML

id: tenable_io
name: Tenable Vulnerability Management
version: 1.0.0
description: "Tenable Vulnerability Management (Tenable.io API) — asset and vulnerability context for incidents: list and read assets, list vulnerabilities and per-asset vulnerabilities, read vulnerability (plugin) details, and list/launch/status scans. API-key (access/secret) authentication; stdlib-only, no extra Python dependencies."
changelog: "1.0.0 — Initial release: list/get assets, list vulnerabilities, per-asset vulnerabilities, vulnerability details, list scans, scan status, launch scan."
category: vulnerability
# Per-instance configuration. Keys are sent as
# 'X-ApiKeys: accessKey=<access_key>; secretKey=<secret_key>'.
config_schema:
properties:
url:
type: string
description: "Tenable.io API base URL"
default: "https://cloud.tenable.com"
access_key:
type: string
description: "Tenable API access key"
x-soar-sensitive: true
secret_key:
type: string
description: "Tenable API secret key"
x-soar-sensitive: true
required:
- access_key
- secret_key
commands:
- id: list_assets
name: tenable-list-assets
description: "List assets."
risk: read
inputs_schema:
properties: {}
required: []
outputs_schema: { properties: {} }
- id: get_asset
name: tenable-get-asset
description: "Get a single asset's details by UUID."
risk: read
inputs_schema:
properties:
asset_uuid: { type: string, description: "Asset UUID" }
required: [asset_uuid]
outputs_schema: { properties: {} }
- id: asset_vulnerabilities
name: tenable-asset-vulnerabilities
description: "List the vulnerabilities found on a single asset."
risk: read
inputs_schema:
properties:
asset_uuid: { type: string, description: "Asset UUID" }
required: [asset_uuid]
outputs_schema: { properties: {} }
- id: list_vulnerabilities
name: tenable-list-vulnerabilities
description: "List vulnerabilities across the workbench (optionally filtered by severity age)."
risk: read
inputs_schema:
properties:
age: { type: number, description: "Only vulnerabilities seen in the last N days (default 30)" }
required: []
outputs_schema: { properties: {} }
- id: get_vulnerability
name: tenable-get-vulnerability
description: "Get details for a vulnerability (Nessus plugin) by plugin ID."
risk: read
inputs_schema:
properties:
plugin_id: { type: string, description: "Nessus plugin ID" }
required: [plugin_id]
outputs_schema: { properties: {} }
- id: list_scans
name: tenable-list-scans
description: "List scans."
risk: read
inputs_schema:
properties: {}
required: []
outputs_schema: { properties: {} }
- id: get_scan_status
name: tenable-get-scan-status
description: "Get the status of a scan."
risk: read
inputs_schema:
properties:
scan_id: { type: string, description: "Scan ID" }
required: [scan_id]
outputs_schema: { properties: {} }
- id: launch_scan
name: tenable-launch-scan
description: "Launch a scan."
inputs_schema:
properties:
scan_id: { type: string, description: "Scan ID to launch" }
targets: { type: string, description: "Optional comma-separated alternate targets" }
required: [scan_id]
outputs_schema: { properties: {} }
- id: test_connection
name: tenable-test-connection
description: "Verify connectivity and the API keys (used by the Test button)."
risk: read
inputs_schema:
properties: {}
required: []
outputs_schema: { properties: {} }