Splunk App for NodeZero
We’ve built an integration that allows you to ingest NodeZero pentest results directly into Splunk, merging insights gained from the attacker’s perspective with existing data and workflows.
You can access the app, along with setup and usage info at Splunkbase
The NodeZero App for Splunk comes bundled with the NodeZero Add-on for Splunk built in, which contains the modular input for pulling NodeZero pentests results into the Splunk index of your choosing. There is no need to install both on a standalone instance.
- Sample Dashboard
There exists a sample dashboard,
NodeZero Operations, to demonstrate how one might view summary information across all penetration tests visible in Splunk, then drilldown through specific weaknesses to see exactly what operations NodeZero took against certain hosts during a specific time range.
Weakness data has been mapped to the CIM Vulnerability datamodel
NodeZero API Key
An API key is required to access the API. One can be generated in the Horizon3.ai portal via
Settings > API Keys. (Note: The Splunk App for NodeZero uses a
ReadOnly API Key)
Save API Key to Splunk credential store
Configuration page, click the
Add button on the
Nameis a simple name that gets used by the
Descriptionis for any notes/details about the API Key/Account
API Keyis an encrypted field for saving the NodeZero API Key
Create the Input
On the 'Inputs' tab, click "Create New Input"
Name(required) is a simple name that gets used by the modular input
Description(optional) is for any notes about the modular input
API Account(required) is a dropdown single select to choose the account for which you wish to pull data
Index(required) the index to which you would like to ingest NodeZero data
Polling Interval(optional) Default is 86400 seconds (daily). How frequently you want to poll for new data
Once the input is saved, it immediately begins attempting to pull data from the NodeZero API
For the sample dashboard to work, it relies on a macro called:
h3_index. The default value for this macro is:
(), and will only work if your events are being sent do the
default index (usually
main). Set the macro (via
Settings > Advanced Search > Search Macros) to whatever index you selected when defining your modular input (e.g.,
Verify data is being indexed
To make sure the modular input is doing its job, you can run the following search:
`h3_index` | stats values(sourcetype) as st
h3:nodezero:api:action_logs h3:nodezero:api:host_export_csv h3:nodezero:api:weakness_export_csv
There is also a non-navigable dashboard at
/en-US/app/nodezero/kvstore_state that will show a table based on the KVstore the modular input uses to store app state. This can be used during troubleshooting to see what data has been pulled for each pentest.
For troubleshooting information, view
ExecProcessor logs and the nodezero logs:
index=_internal (sourcetype=splunkd nodezero component=ExecProcessor) OR sourcetype="nodezero-*"
Note: Don't forget the asterisk on the end of
sourcetype=nodezero*, as they often show up as
For more logs: set
DEBUG in the Configuration tab
Email email@example.com with any questions, comments, or concerns. Feedback is greatly appreciated!