2475c4b56e
Stormshield SNS API, 5 commands: add/remove block host-group member (containment), list hosts, monitor query. Session (login) auth, stdlib-only. py_compile clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
76 lines
2.7 KiB
YAML
76 lines
2.7 KiB
YAML
id: stormshield
|
|
name: Stormshield Network Security
|
|
version: 1.0.0
|
|
description: "Stormshield Network Security (SNS API) — firewall containment: authenticate, add or remove an IP from a block host-group object, and run a monitor query. Session-based authentication; stdlib-only, no extra Python dependencies. (French vendor.)"
|
|
changelog: "1.0.0 — Initial release: add/remove block-group member, list host objects, monitor query."
|
|
category: network
|
|
|
|
# Per-instance configuration. Each command logs in (POST /api/auth/login) and
|
|
# reuses the returned session token for the request.
|
|
config_schema:
|
|
properties:
|
|
base_url:
|
|
type: string
|
|
description: "SNS appliance URL (e.g. https://sns.example.com)"
|
|
username:
|
|
type: string
|
|
description: "Admin username"
|
|
password:
|
|
type: string
|
|
description: "Admin password"
|
|
x-soar-sensitive: true
|
|
insecure:
|
|
type: boolean
|
|
description: "Trust any TLS certificate (not secure)"
|
|
default: false
|
|
required:
|
|
- base_url
|
|
- username
|
|
- password
|
|
|
|
commands:
|
|
- id: add_block_group_member
|
|
name: stormshield-add-block-group-member
|
|
description: "Add an IP/host object to a block host-group (referenced by a filter rule)."
|
|
inputs_schema:
|
|
properties:
|
|
group: { type: string, description: "Host-group object name (e.g. RIPOSTE_BLOCK)" }
|
|
host: { type: string, description: "Host object name or IP to add" }
|
|
required: [group, host]
|
|
outputs_schema: { properties: {} }
|
|
- id: remove_block_group_member
|
|
name: stormshield-remove-block-group-member
|
|
description: "Remove a host from a block host-group."
|
|
inputs_schema:
|
|
properties:
|
|
group: { type: string, description: "Host-group object name" }
|
|
host: { type: string, description: "Host object name or IP to remove" }
|
|
required: [group, host]
|
|
outputs_schema: { properties: {} }
|
|
- id: list_hosts
|
|
name: stormshield-list-hosts
|
|
description: "List host objects."
|
|
risk: read
|
|
inputs_schema:
|
|
properties: {}
|
|
required: []
|
|
outputs_schema: { properties: {} }
|
|
- id: monitor_query
|
|
name: stormshield-monitor-query
|
|
description: "Run a monitor command (e.g. MONITOR HOST) and return its result."
|
|
risk: read
|
|
inputs_schema:
|
|
properties:
|
|
command: { type: string, description: "SNS monitor command (e.g. 'MONITOR HOST')" }
|
|
required: [command]
|
|
outputs_schema: { properties: {} }
|
|
|
|
- id: test_connection
|
|
name: stormshield-test-connection
|
|
description: "Verify connectivity and credentials by logging in (used by the Test button)."
|
|
risk: read
|
|
inputs_schema:
|
|
properties: {}
|
|
required: []
|
|
outputs_schema: { properties: {} }
|