Description

n8n-nodes-binalyze-air
This is an n8n community node that integrates with Binalyze AIR (Automated Incident Response) platform.
Table of Contents
Installation
Follow the installation guide in the n8n community nodes documentation.
Configuration
Before using this node, you need to configure your Binalyze AIR credentials:
Step 1: Create AIR API Key
- Go to AIR > Integrations > API Tokens > Add New
- Provide a Token Name
- Select an Organization
- Select a Role
- Define Expiration time
- Click Save button, and copy the token as you will not be able to see it again
- Click 'I got the token' button
Step 2: Create AIR Credentials on your n8n instance
- In n8n, go to Settings → Credentials
- Add a new credential for "Binalyze AIR API"
- Enter your AIR instance URL and API token
Supported Resources
This node provides comprehensive coverage of Binalyze AIR's features listed below:
Acquisitions
Manage evidence acquisition profiles and tasks.
Operations:
get– Retrieve a specific acquisition profileassignEvidenceTask– Assign an evidence acquisition task by filterassignImageTask– Assign an image acquisition task by filtercreateOffNetworkTask– Create an off-network acquisition task
Assets
Manage endpoints and their associated tasks, tags, and status.
Operations:
addTags– Add tags to assets by filterget– Retrieve a specific assetgetAssetTasks– Get tasks for a specific assetgetAll– Retrieve many assetsreboot– Assign reboot task to a specific asset (returns standardized response with success status, message, asset details, task, and error information)removeTags– Remove tags from assets by filtersetIsolation– Assign isolation task to a specific asset (checks for existing tasks and current isolation status, returns standardized response)shutdown– Assign shutdown task to a specific asset (returns standardized response with success status, message, asset details, task, and error information)
Baselines
Acquire and compare system baselines.
Operations:
acquireBaseline– Acquire baseline for endpointscompareBaseline– Compare two baseline acquisition results from the same endpointgetComparisonReport– Get baseline comparison report
Cases
Manage incident response cases, notes, and activities.
Operations:
changeOwner– Change the owner of a casecheckName– Check if a case name is availablecloseCase– Close a specific casecreate– Create a new caseget– Retrieve a specific casegetActivities– Get activities for a specific casegetEndpoints– Get endpoints for a specific casegetAll– Retrieve many casesgetTasks– Get tasks for a specific casegetUsers– Get users for a specific case
InterACT
Execute commands and interact with endpoints remotely.
Operations:
createSession– Create a new InterACT shell session for an assetwaitForSession– Wait for an InterACT session to become live by monitoring task status (supports indefinite wait with timeout=0)closeSession– Close an InterACT sessionexecuteCommand– Execute a command in an InterACT sessionexecuteAsyncCommand– Execute an asynchronous command in an InterACT sessiongetCommandMessage– Get the result of a command executioninterruptCommand– Interrupt a running command
Organizations
Manage organizations and their users.
Operations:
addTags– Add tags to an organizationassignUser– Assign a user to an organizationcheckNameExists– Check if an organization name already existscreate– Create a new organizationget– Retrieve a specific organizationgetAll– Retrieve many organizationsgetUsers– Retrieve users assigned to an organizationremoveTags– Remove tags from an organizationremoveUser– Remove a user from an organizationupdate– Update an organizationupdateShareableDeployment– Update organization shareable deployment status
Repositories
Manage evidence repositories.
Operations:
get– Get a repository by name, ID, or from list selectiongetAll– Get many repositories with filtering options
Tasks
Manage and monitor tasks and assignments.
Operations:
cancelTask– Cancel a specific taskcancelTaskAssignment– Cancel a specific task assignmentdeleteTask– Delete a specific taskdeleteTaskAssignment– Delete a specific task assignmentget– Retrieve a specific taskgetAll– Retrieve many tasksgetTaskAssignments– Retrieve assignments for a specific taskwaitForCompletion– Wait for a task to complete with polling
Triage Rules
Create and manage triage rules for automated analysis.
Operations:
assignTask– Assign a triage taskcreate– Create a new triage ruledelete– Delete a triage ruleget– Retrieve a specific triage rulegetAll– Retrieve many triage rulesupdate– Update a triage rulevalidate– Validate a triage rule
Users
Manage user accounts and permissions.
Operations:
getAll– Retrieve many usersget– Retrieve a specific user
Trigger Node
The On AIR Event-Trigger node allows you to trigger workflows based on AIR events.
How to Use
- Add the On new AIR Trigger node to your workflow
- Configure your AIR API credentials
- Select the event types you want to listen for from the dynamically loaded list
- Configure the Bearer token that AIR will use for webhook authentication
- Copy the webhook URL from the node
- Create an event subscription in AIR:
- Go to AIR > Integrations > Event Subscriptions
- Add a new subscription with the webhook URL
- Select the same event types
- Provide the same Bearer token you configured in the trigger node
Supported Event Types
The trigger node dynamically loads available event types from your AIR instance, which may include:
- TaskProcessingCompletedEvent
- TaskProcessingFailedEvent
- TaskCompletedEvent
- TaskFailedEvent
- CaseClosedEvent
- EndpointRegisteredEvent
- …
Event Data Structure
When an event is triggered, the node outputs data in the following format:
{
"eventName": "TaskCompletedEvent",
"organizationId": 0,
"data": {
"id": "task-id",
"name": "Task Name",
"type": "Task Type",
"organizationId": "org-id",
"totalAssignedEndpoints": 5,
"totalCompletedEndpoints": 4
}
}
Development
To set up the development environment:
- Clone this repository
- Install dependencies:
yarn install - Build the project:
yarn build - Link the project using:
npm linknpm link n8n-nodes-binalyze-air
- Start the development environment:
yarn dev– Start n8n in watch mode with automatic rebuildsyarn debug– Start n8n in debug mode with verbose logging
Development Scripts
yarn build– Build the projectyarn dev– Start development environment with file watchingyarn debug– Start development environment with debug logging enabledyarn restart:n8n– Restart n8n without rebuilding
Debug Mode
The yarn debug command enables comprehensive debug logging to help troubleshoot issues:
Features:
- Verbose Logging: Sets
N8N_LOG_LEVEL=debugfor detailed n8n logs - Console Output: Direct log output to console (
N8N_LOG_OUTPUT=console) - Debug Patterns: Enables debug output for n8n core and community nodes (
DEBUG=n8n*,n8n-nodes-*) - Error Details: Shows detailed error information (
N8N_DETAILED_ERROR_OUTPUT=true) - Development Mode: Sets
NODE_ENV=developmentfor enhanced debugging
Usage:
# Start development with debug logging
yarn debug
# Or manually start debug mode
./scripts/dev-watch.sh --debug
./scripts/restart-n8n.sh --debug
Debug Output Examples:
16:38:21.490 debug Loaded all credentials and nodes from n8n-nodes-binalyze-air { "credentials": 1, "nodes": 1 }
16:38:21.662 info n8n ready on ::, port 5678
16:38:23.607 info Version: 1.103.2
When debug mode is active, you'll see detailed information about:
- Node and credential loading
- API requests and responses
- Workflow execution steps
- Error stack traces
- Internal n8n operations
Testing
The project includes an end-to-end testing workflow that can be managed using the e2e.js script.
Prerequisites
-
Create a
.env.local.ymlfile in the project root with your credentials:# n8n instance configuration N8N: INSTANCE_URL: http://127.0.0.1:5678 API_TOKEN: your_n8n_api_token_here -
Ensure your n8n instance is running and you have a valid API token.
Download Test Workflow
To download the test workflow from your n8n instance:
npm run test:download
# or
yarn test:download
Or using the Node.js script directly:
node test/e2e.js download
This will download the n8n-nodes-binalyze-air-e2e workflow and save it to test/n8n-nodes-binalyze-air-e2e.json.
Command Options
Both commands support additional options:
# Use a custom n8n instance URL
node test/e2e.js download --url http://n8n.example.com:5678
# Use a custom workflow name
node test/e2e.js download --name my-custom-workflow
# Use a custom output file
node test/e2e.js download --file my-workflow.json
TODO
- Add interACT Library related operations
- https://docs.google.com/document/d/1zK9XXgfZIB45i4bMrxWRmG5t8FaxwlQZIhDh8-qVmmc/edit?tab=t.0