Files
Guillaume BOURGEOIS ac47315b30 feat(cybelangel): new CybelAngel attack-surface integration (French vendor)
CybelAngel platform API, 4 commands: list/get reports, update report status.
OAuth2 client-credentials auth, stdlib-only. py_compile clean.

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

68 lines
2.2 KiB
YAML

id: cybelangel
name: CybelAngel
version: 1.0.0
description: "CybelAngel (External Attack Surface / data-leak detection API) — read exposure reports: list reports, get a report, and update a report's status. OAuth2 client-credentials authentication; stdlib-only, no extra Python dependencies. (French vendor.)"
changelog: "1.0.0 — Initial release: list/get reports, update report status."
category: threat_intel
# Per-instance configuration. Client credentials are exchanged for a bearer
# token at the auth endpoint; API calls go to the platform API.
config_schema:
properties:
auth_url:
type: string
description: "Token URL"
default: "https://auth.cybelangel.com/oauth/token"
api_url:
type: string
description: "Platform API URL"
default: "https://platform.cybelangel.com"
client_id:
type: string
description: "API client ID"
client_secret:
type: string
description: "API client secret"
x-soar-sensitive: true
required:
- client_id
- client_secret
commands:
- id: list_reports
name: cybelangel-list-reports
description: "List exposure reports."
risk: read
inputs_schema:
properties:
status: { type: string, description: "Optional status filter (open, resolved, discarded)" }
required: []
outputs_schema: { properties: {} }
- id: get_report
name: cybelangel-get-report
description: "Get a single report by ID."
risk: read
inputs_schema:
properties:
report_id: { type: string, description: "Report ID" }
required: [report_id]
outputs_schema: { properties: {} }
- id: update_report_status
name: cybelangel-update-report-status
description: "Update a report's status."
inputs_schema:
properties:
report_id: { type: string, description: "Report ID" }
status: { type: string, description: "New status (open, resolved, discarded)" }
required: [report_id, status]
outputs_schema: { properties: {} }
- id: test_connection
name: cybelangel-test-connection
description: "Verify credentials via the token exchange (used by the Test button)."
risk: read
inputs_schema:
properties: {}
required: []
outputs_schema: { properties: {} }