Files
riposte-marketplace/integrations/checkpoint/manifest.yaml
T
Guillaume BOURGEOIS 496ac6d8ce feat(checkpoint): new Check Point firewall-containment integration
Check Point Management Web API, 7 commands: show/add hosts, show access
rulebase, add access rule (drop), publish, install policy. Session (login)
auth with X-chkp-sid, stdlib-only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:20:41 +02:00

102 lines
3.8 KiB
YAML

id: checkpoint
name: Check Point
version: 1.0.0
description: "Check Point Management (Web API) — firewall containment: list and add host objects, view the access rulebase, add a drop rule (block), publish changes, and install policy. Session (login) authentication; stdlib-only, no extra Python dependencies."
changelog: "1.0.0 — Initial release: show/add hosts, show access rulebase, add access rule (drop), publish, install policy."
category: network
# Per-instance configuration. Each command logs in to the Management API
# (returns a session id used as the X-chkp-sid header), performs the action,
# then logs out. Publishing/installing is explicit (separate commands).
config_schema:
properties:
server_url:
type: string
description: "Management server URL (e.g. https://mgmt.example.com)"
username:
type: string
description: "Management API username"
password:
type: string
description: "Management API password"
x-soar-sensitive: true
domain:
type: string
description: "Domain (for Multi-Domain Management; leave empty otherwise)"
insecure:
type: boolean
description: "Trust any TLS certificate (not secure)"
default: false
required:
- server_url
- username
- password
commands:
- id: show_hosts
name: checkpoint-show-hosts
description: "List host objects."
risk: read
inputs_schema:
properties:
limit: { type: number, description: "Max hosts (default 50)" }
required: []
outputs_schema: { properties: {} }
- id: add_host
name: checkpoint-add-host
description: "Create a host object."
inputs_schema:
properties:
name: { type: string, description: "Host object name" }
ip_address: { type: string, description: "Host IP address" }
required: [name, ip_address]
outputs_schema: { properties: {} }
- id: show_access_rulebase
name: checkpoint-show-access-rulebase
description: "Show the access rulebase of a policy layer."
risk: read
inputs_schema:
properties:
layer: { type: string, description: "Access layer name (e.g. Network)" }
limit: { type: number, description: "Max rules (default 50)" }
required: [layer]
outputs_schema: { properties: {} }
- id: add_access_rule
name: checkpoint-add-access-rule
description: "Add an access rule to a layer (e.g. a Drop rule to block a source)."
inputs_schema:
properties:
layer: { type: string, description: "Access layer name" }
name: { type: string, description: "Rule name" }
position: { type: string, description: "Position (e.g. top, bottom, or a number; default top)" }
source: { type: string, description: "Source object name (e.g. a host)" }
destination: { type: string, description: "Destination object name (default Any)" }
action: { type: string, description: "Accept, Drop, or Reject (default Drop)" }
required: [layer, name]
outputs_schema: { properties: {} }
- id: publish
name: checkpoint-publish
description: "Publish the current session's changes."
inputs_schema:
properties: {}
required: []
outputs_schema: { properties: {} }
- id: install_policy
name: checkpoint-install-policy
description: "Install a policy package on gateway targets."
inputs_schema:
properties:
policy_package: { type: string, description: "Policy package name" }
targets: { type: string, description: "Comma-separated gateway target names" }
required: [policy_package, targets]
outputs_schema: { properties: {} }
- id: test_connection
name: checkpoint-test-connection
description: "Verify connectivity and credentials by logging in (used by the Test button)."
risk: read
inputs_schema:
properties: {}
required: []
outputs_schema: { properties: {} }