Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions gnat/connectors/armis/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ class ArmisClient(BaseClient, ConnectorMixin):
Armis API secret key.
"""

TRUST_LEVEL: str = "trusted_internal"
API_VERSION: str = "v1"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"report": "devices",
"vulnerability": "cves",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/aws_security/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,10 @@ class AWSSecurityClient(BaseClient, ConnectorMixin):
Override for GuardDuty base URL. Defaults to same region.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"indicator": "guardduty/findings",
"vulnerability": "securityhub/findings",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/axonius/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ class AxoniusClient(BaseClient, ConnectorMixin):
Axonius API secret.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v2"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"report": "assets",
"vulnerability": "vulnerabilities",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/bitsight/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ class BitSightClient(BaseClient, ConnectorMixin):
BitSight API token.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"vulnerability": "findings",
"report": "companies",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/carbon_black/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ class CarbonBlackClient(BaseClient, ConnectorMixin):
Connector/API ID that accompanies the ``api_key``.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v6"
API_PREFIX: str = "/appservices"

stix_type_map: dict[str, str] = {
"indicator": "alerts",
"malware": "processes",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/censys/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ class CensysClient(BaseClient, ConnectorMixin):
Censys API secret.
"""

TRUST_LEVEL: str = "untrusted_external"
API_VERSION: str = "v2"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"observed-data": "hosts",
"vulnerability": "hosts",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/chatgpt/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ class ChatGPTClient(BaseClient, ConnectorMixin):
OpenAI API key.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"report": "chat",
}
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/cisco_umbrella/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,10 @@ class CiscoUmbrellaClient(BaseClient, ConnectorMixin):
Default: ``"white"``.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"indicator": "domain",
"course-of-action": "allow_list",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/claroty/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@ class ClarotyClient(BaseClient, ConnectorMixin):
Fallback password for legacy auth.
"""

TRUST_LEVEL: str = "trusted_internal"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"report": "assets",
"observed-data": "alerts",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/cloudsek/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ class CloudSEKClient(BaseClient, ConnectorMixin):
CloudSEK organisation ID for multi-tenant deployments.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = "/xvigil"

stix_type_map: dict[str, str] = {
"indicator": "indicators",
"observed-data": "alerts",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/controlup/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ class ControlUpClient(BaseClient, ConnectorMixin):
Determines the URL prefix used for all requests.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = "/dex"

stix_type_map: dict[str, str] = {
"infrastructure": "devices",
"observed-data": "sessions",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/copilot/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,10 @@ class CopilotClient(BaseClient, ConnectorMixin):
Azure AD token for Microsoft Copilot.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {"report": "chat"}

def __init__(
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/cortex_xdr/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@ class CortexXDRClient(BaseClient, ConnectorMixin):
API key string.
"""

TRUST_LEVEL: str = "trusted_internal"
API_VERSION: str = "v1"
API_PREFIX: str = "/public_api"

stix_type_map: dict[str, str] = {
"indicator": "alerts",
"malware": "incidents",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/cortex_xpanse/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ class CortexXpanseClient(BaseClient, ConnectorMixin):
Xpanse API Key ID.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v2"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"vulnerability": "exposures",
"report": "assets",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/cribl/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@ class CriblClient(BaseClient, ConnectorMixin):
:class:`~gnat.clients.base.BaseClient`.
"""

TRUST_LEVEL: str = "trusted_internal"
API_VERSION: str = "v1"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"course-of-action": "pipelines",
"observed-data": "searches",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/cyble_vision/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,10 @@ class CybleVisionClient(BaseClient, ConnectorMixin):
Cyble Vision access token.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v4"
API_PREFIX: str = "/engine/api"

stix_type_map: dict[str, str] = {
"indicator": "iocs",
"report": "alerts",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/cycognito/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,10 @@ class CyCognitoClient(BaseClient, ConnectorMixin):
CyCognito API key.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"vulnerability": "issues",
"report": "assets",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/darktrace/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ class DarktraceClient(BaseClient, ConnectorMixin):
Darktrace API private key (used for HMAC signing).
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"observed-data": "modelbreaches",
"threat-actor": "devices",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/datadog/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,10 @@ class DatadogClient(BaseClient, ConnectorMixin):
Datadog application key.
"""

TRUST_LEVEL: str = "trusted_internal"
API_VERSION: str = "v2"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"indicator": "security_monitoring/signals",
"vulnerability": "posture_management/findings",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/defectdojo/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,10 @@ class DefectDojoClient(BaseClient, ConnectorMixin):
DefectDojo API token.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v2"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"vulnerability": "findings",
"report": "engagements",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/defenderti/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@ class DefenderTIClient(BaseClient, ConnectorMixin):
Service principal client secret.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1.0"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"indicator": "tiIndicators",
"threat-actor": "tiIndicators",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/dragos/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@ class DragosClient(BaseClient, ConnectorMixin):
Dragos API secret.
"""

TRUST_LEVEL: str = "trusted_internal"
API_VERSION: str = "v1"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"threat-actor": "activity-groups",
"indicator": "indicators",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/extrahop/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ class ExtraHopClient(BaseClient, ConnectorMixin):
OAuth2 client secret (for Reveal(x) 360 cloud only).
"""

TRUST_LEVEL: str = "trusted_internal"
API_VERSION: str = "v1"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"observed-data": "detections",
"network-traffic": "records",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/flare/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ class FlareClient(BaseClient, ConnectorMixin):
Flare tenant ID for multi-tenant deployments.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v2"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"indicator": "leaks",
"observed-data": "events",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/flashpoint/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ class FlashpointClient(BaseClient, ConnectorMixin):
Flashpoint API token.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"indicator": "iocs",
"report": "alerts",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/fortiedr/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ class FortiEDRClient(BaseClient, ConnectorMixin):
Password for Basic Auth.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = "/rest"

stix_type_map: dict[str, str] = {
"observed-data": "event",
"incident": "incident",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/fortisiem/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ class FortiSIEMClient(BaseClient, ConnectorMixin):
Password for Basic Auth.
"""

TRUST_LEVEL: str = "trusted_internal"
API_VERSION: str = "v1"
API_PREFIX: str = "/phoenix/rest"

stix_type_map: dict[str, str] = {
"incident": "incident",
"observed-data": "event",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/fortisoar/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ class FortiSOARClient(BaseClient, ConnectorMixin):
Password for authentication.
"""

TRUST_LEVEL: str = "trusted_internal"
API_VERSION: str = "v3"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"incident": "incidents",
"observed-data": "alerts",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/gemini/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ class GeminiClient(BaseClient, ConnectorMixin):
GNAT Connector for Google Gemini with search-to-STIX capabilities.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1beta"
API_PREFIX: str = ""

stix_type_map = {
"report": "generate_content",
}
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/google_chronicle/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ class GoogleChronicleClient(BaseClient, ConnectorMixin):
Google Cloud project ID (auto-detected from key if possible).
"""

TRUST_LEVEL: str = "trusted_internal"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"observed-data": "udm_events",
"indicator": "detections",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/greenbone/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@ class GreenboneClient(BaseClient, ConnectorMixin):
GVM password.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"vulnerability": "results",
"report": "reports",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/greymatter/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@ class GreyMatterClient(BaseClient, ConnectorMixin):
Verify TLS. Default ``True``.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"indicator": "observables",
"threat-actor": "threat-actors",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/greynoise/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@ class GreyNoiseClient(BaseClient, ConnectorMixin):
GreyNoise API key (Community or Enterprise).
"""

TRUST_LEVEL: str = "untrusted_external"
API_VERSION: str = "v3"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"observed-data": "ip",
"indicator": "ip",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/grok/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ class GrokClient(BaseClient, ConnectorMixin):
xAI API key.
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v1"
API_PREFIX: str = ""

stix_type_map: dict[str, str] = {
"report": "chat", # chat completions mapped to STIX reports
}
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/group_ib/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ class GroupIBClient(BaseClient, ConnectorMixin):
Group-IB API token (used as password).
"""

TRUST_LEVEL: str = "semi_trusted"
API_VERSION: str = "v2"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"indicator": "collections",
"report": "collections",
Expand Down
4 changes: 4 additions & 0 deletions gnat/connectors/hibp/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@ class HIBPClient(BaseClient, ConnectorMixin):
HIBP API key from haveibeenpwned.com/API/Key.
"""

TRUST_LEVEL: str = "untrusted_external"
API_VERSION: str = "v3"
API_PREFIX: str = "/api"

stix_type_map: dict[str, str] = {
"vulnerability": "breaches",
"identity": "pasteaccount",
Expand Down
Loading
Loading