Skip to content
Open
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
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

# Request review from original author
plugins/DigiCert/* @shaswot77
plugins/Huntress/* @Deenk
plugins/FantasyPremierLeague/* @TimWheeler-SQUP
plugins/GoogleSheets/* @kieranlangton
plugins/MetOffice/* @blackgrouse
Expand Down
11 changes: 11 additions & 0 deletions plugins/Huntress/v1/configValidation.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"steps": [
{
"displayName": "API access",
"dataStream": { "name": "organizations" },
"success": "Successfully connected to Huntress",
"error": "Cannot connect to Huntress. Check your public and private API keys.",
"required": true
}
]
}
12 changes: 12 additions & 0 deletions plugins/Huntress/v1/cspell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"words": [
"huntress",
"edr",
"itdr",
"substatus",
"subdomain",
"ipv4",
"footholds",
"ransomware"
]
}
16 changes: 16 additions & 0 deletions plugins/Huntress/v1/custom_types.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[
{
"name": "Huntress Agent",
"sourceType": "Huntress Agent",
"icon": "laptop",
"singular": "Agent",
"plural": "Agents"
},
{
"name": "Huntress Organization",
"sourceType": "Huntress Organization",
"icon": "building",
"singular": "Organization",
"plural": "Organizations"
}
]
160 changes: 160 additions & 0 deletions plugins/Huntress/v1/dataStreams/agents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
{
"name": "agents",
"displayName": "Agents",
"description": "All agents registered with your Huntress account",
"tags": ["Security", "Agents"],
"baseDataSourceName": "httpRequestUnscoped",
"config": {
"httpMethod": "get",
"endpointPath": "/v1/agents",
"pathToData": "agents",
"expandInnerObjects": true,
"getArgs": [],
"headers": [],
"paging": {
"mode": "token",
"pageSize": {
"realm": "queryArg",
"path": "limit",
"value": "500"
},
"in": {
"realm": "payload",
"path": "pagination.next_page_token"
},
"out": {
"realm": "queryArg",
"path": "page_token"
}
}
},
"metadata": [
{
"name": "id",
"displayName": "Agent ID",
"shape": ["number", { "decimalPlaces": 0 }],
"role": "id",
"visible": false
},
{
"name": "hostname",
"displayName": "Hostname",
"shape": "string",
"role": "label"
},
{
"name": "organization_id",
"displayName": "Organization ID",
"shape": ["number", { "decimalPlaces": 0 }]
},
{
"name": "account_id",
"displayName": "Account ID",
"shape": ["number", { "decimalPlaces": 0 }]
},
{
"name": "domain_name",
"displayName": "Domain Name",
"shape": "string"
},
{
"name": "os",
"displayName": "Operating System",
"shape": "string"
},
{
"name": "platform",
"displayName": "Platform",
"shape": "string"
},
{
"name": "arch",
"displayName": "Architecture",
"shape": "string"
},
{
"name": "ipv4_address",
"displayName": "IPv4 Address",
"shape": "string"
},
{
"name": "external_ip",
"displayName": "External IP",
"shape": "string"
},
{
"name": "mac_addresses",
"displayName": "MAC Addresses",
"shape": "json"
},
{
"name": "tags",
"displayName": "Tags",
"shape": "json"
},
{
"name": "version",
"displayName": "Agent Version",
"shape": "string"
},
{
"name": "edr_version",
"displayName": "EDR Version",
"shape": "string"
},
{
"name": "defender_status",
"displayName": "Defender Status",
"shape": "string"
},
{
"name": "defender_substatus",
"displayName": "Defender Substatus",
"shape": "string"
},
{
"name": "defender_policy_status",
"displayName": "Defender Policy Status",
"shape": "string"
},
{
"name": "firewall_status",
"displayName": "Firewall Status",
"shape": ["state", { "map": { "success": ["Enabled"], "error": ["Disabled"], "warning": ["Pending Isolation", "Isolated", "Pending Release"] } }]
},
{
"name": "os_build_version",
"displayName": "OS Build Version",
"shape": "string"
},
{
"name": "serial_number",
"displayName": "Serial Number",
"shape": "string"
},
{
"name": "last_callback_at",
"displayName": "Last Callback At",
"shape": ["date", { "timeZone": "Etc/UTC" }]
},
{
"name": "last_survey_at",
"displayName": "Last Survey At",
"shape": ["date", { "timeZone": "Etc/UTC" }]
},
{
"name": "created_at",
"displayName": "Created At",
"shape": ["date", { "timeZone": "Etc/UTC" }]
},
{
"name": "updated_at",
"displayName": "Updated At",
"shape": ["date", { "timeZone": "Etc/UTC" }]
},
{
"pattern": ".*"
}
],
"timeframes": false
}
169 changes: 169 additions & 0 deletions plugins/Huntress/v1/dataStreams/agentsByOrganization.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
{
"name": "agentsByOrganization",
"displayName": "Agents by Organization",
"description": "Agents filtered by a scoped Huntress Organization",
"tags": ["Security", "Agents"],
"baseDataSourceName": "httpRequestScoped",
"objectLimit": 1,
"matches": {
"sourceType": {
"type": "equals",
"value": "Huntress Organization"
}
},
"config": {
"httpMethod": "get",
"endpointPath": "/v1/agents",
"pathToData": "agents",
"expandInnerObjects": true,
"getArgs": [
{ "key": "organization_id", "value": "{{objects[0].organization_id}}" }
],
"headers": [],
"paging": {
"mode": "token",
"pageSize": {
"realm": "queryArg",
"path": "limit",
"value": "500"
},
"in": {
"realm": "payload",
"path": "pagination.next_page_token"
},
"out": {
"realm": "queryArg",
"path": "page_token"
}
}
},
"metadata": [
{
"name": "id",
"displayName": "Agent ID",
"shape": ["number", { "decimalPlaces": 0 }],
"role": "id",
"visible": false
},
{
"name": "hostname",
"displayName": "Hostname",
"shape": "string",
"role": "label"
},
{
"name": "organization_id",
"displayName": "Organization ID",
"shape": ["number", { "decimalPlaces": 0 }]
},
{
"name": "account_id",
"displayName": "Account ID",
"shape": ["number", { "decimalPlaces": 0 }]
},
{
"name": "domain_name",
"displayName": "Domain Name",
"shape": "string"
},
{
"name": "os",
"displayName": "Operating System",
"shape": "string"
},
{
"name": "platform",
"displayName": "Platform",
"shape": "string"
},
{
"name": "arch",
"displayName": "Architecture",
"shape": "string"
},
{
"name": "ipv4_address",
"displayName": "IPv4 Address",
"shape": "string"
},
{
"name": "external_ip",
"displayName": "External IP",
"shape": "string"
},
{
"name": "mac_addresses",
"displayName": "MAC Addresses",
"shape": "json"
},
{
"name": "tags",
"displayName": "Tags",
"shape": "json"
},
{
"name": "version",
"displayName": "Agent Version",
"shape": "string"
},
{
"name": "edr_version",
"displayName": "EDR Version",
"shape": "string"
},
{
"name": "defender_status",
"displayName": "Defender Status",
"shape": "string"
},
{
"name": "defender_substatus",
"displayName": "Defender Substatus",
"shape": "string"
},
{
"name": "defender_policy_status",
"displayName": "Defender Policy Status",
"shape": "string"
},
{
"name": "firewall_status",
"displayName": "Firewall Status",
"shape": ["state", { "map": { "success": ["Enabled"], "error": ["Disabled"], "warning": ["Pending Isolation", "Isolated", "Pending Release"] } }]
},
{
"name": "os_build_version",
"displayName": "OS Build Version",
"shape": "string"
},
{
"name": "serial_number",
"displayName": "Serial Number",
"shape": "string"
},
{
"name": "last_callback_at",
"displayName": "Last Callback At",
"shape": ["date", { "timeZone": "Etc/UTC" }]
},
{
"name": "last_survey_at",
"displayName": "Last Survey At",
"shape": ["date", { "timeZone": "Etc/UTC" }]
},
{
"name": "created_at",
"displayName": "Created At",
"shape": ["date", { "timeZone": "Etc/UTC" }]
},
{
"name": "updated_at",
"displayName": "Updated At",
"shape": ["date", { "timeZone": "Etc/UTC" }]
},
{
"pattern": ".*"
}
],
"timeframes": false
}
Loading
Loading