Description
n8n-nodes-binalyze-air
This is an n8n community node that integrates with Binalyze AIR (Automated Incident Response) platform.
Table of Contents
- Installation
- Configuration
- Supported Resources
- Trigger Node
- Development
- Testing
- TODO
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 taskaddTags– 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)acquireBaseline– Acquire baseline for endpointscompareBaseline– Compare two baseline acquisition results from the same endpointgetComparisonReport– Get baseline comparison reportchangeOwner– 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 casecreateSession– 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 commandaddTags– 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 statusget– Get a repository by name, ID, or from list selectiongetAll– Get many repositories with filtering optionscancelTask– 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 pollingassignTask– 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 rulegetAll– Retrieve many usersget– Retrieve a specific user- TaskProcessingCompletedEvent
- TaskProcessingFailedEvent
- TaskCompletedEvent
- TaskFailedEvent
- CaseClosedEvent
- EndpointRegisteredEvent
- …
– Acquisitions
– Assets
– Baselines
– Cases
– InterACT
– Organizations
– Repositories
– Tasks
– Triage Rules
– Users
– How to Use
– Supported Event Types
– Event Data Structure
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
1. Go to AIR > Integrations > API Tokens > Add New
* Provide a Token Name
* Select an Organization
* Select a Role
* Define Expiration time
2. Click Save button, and copy the token as you will not be able to see it again
3. Click ‘I got the token’ button
Step 2: Create AIR Credentials on your n8n instance
1. In n8n, go to Settings → Credentials
2. Add a new credential for “Binalyze AIR API”
3. 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:
Assets
Manage endpoints and their associated tasks, tags, and status.
Operations:
Baselines
Acquire and compare system baselines.
Operations:
Cases
Manage incident response cases, notes, and activities.
Operations:
InterACT
Execute commands and interact with endpoints remotely.
Operations:
Organizations
Manage organizations and their users.
Operations:
Repositories
Manage evidence repositories.
Operations:
Tasks
Manage and monitor tasks and assignments.
Operations:
Triage Rules
Create and manage triage rules for automated analysis.
Operations:
Users
Manage user accounts and permissions.
Operations:
Trigger Node
The On AIR Event-Trigger node allows you to trigger workflows based on AIR events.
How to Use
1. Add the On new AIR Trigger node to your workflow
2. Configure your AIR API credentials
3. Select the event types you want to listen for from the dynamically loaded list
4. Configure the Bearer token that AIR will use for webhook authentication
5. Copy the webhook URL from the node
6. 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:
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:
1. Clone this repository
2. Install dependencies: yarn install
You then have two ways to run the package against a local n8n.
Quick start (no global n8n install required)
scripts/dev-env.sh builds the package, links it into a local n8n config, and
starts n8n via npx. Useful for contributors who want to try the node without
installing n8n globally.
./scripts/dev-env.sh up # build, link, start n8n on http://localhost:5678
./scripts/dev-env.sh status # show whether n8n is running
./scripts/dev-env.sh logs # tail the n8n log
./scripts/dev-env.sh down # stop the n8n instance
Re-run up after code changes to rebuild and relink; restart n8n when needed.
Watch-mode workflow (against an existing n8n)
If you already have n8n running locally (or want continuous rebuilds), use the
existing watch-mode scripts:
3. Build the project: yarn build
4. Link the project using:
– npm link
– npm link n8n-nodes-binalyze-air
5. Start the development environment:
– yarn dev – Start n8n in watch mode with automatic rebuilds
– yarn 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./scripts/dev-env.sh up|down|status|logs – One-command local n8n environment via npxDebug Mode
The yarn debug command enables comprehensive debug logging to help troubleshoot issues:
Features:
N8NLOGLEVEL=debug for detailed n8n logsN8NLOGOUTPUT=console)DEBUG=n8n,n8n-nodes-)N8NDETAILEDERROR_OUTPUT=true)NODE_ENV=development for enhanced debuggingUsage:
Start development with debug logging
yarn debugOr 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:
Testing
The project includes an end-to-end testing workflow that can be managed using the e2e.js script.
Prerequisites
1. Create a .env.local.yml file in the project root with your credentials:
# n8n instance configuration
N8N:
INSTANCE_URL: http://127.0.0.1:5678
APITOKEN: yourn8napitoken_here
2. 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:5678Use a custom workflow name
node test/e2e.js download --name my-custom-workflowUse a custom output file
node test/e2e.js download --file my-workflow.json