Understanding Nodes
Nodes are simply actions or conditions. By connecting Nodes together, complex action sequences based on certain conditions are created.
Nodes are visually represented by Caido as draggable blocks, colorized by category. They utilize an input/output model that can be used to send data altered by one Node to a subsequent Node.
Connecting Nodes
A Connection
is visually represented by the gray line between Nodes and determine the order of execution.
Workflows use a top-down heirachical structure (the Node at the very top represents the beginning of the flow and the Node at the bottom represents the end of the flow).
- The down arrow within a circle icon represents a Node's
socket
. - Click and drag a bottom socket to the top socket of the next/a subsequent Node in the flow to create a
Connection
.
Aliases
A Node's Alias
is an arbitrarily set identifier used to uniquely reference the associated Node within a Workflow.
Aliases can consist of lowercase letters, hyphens, underscores and numbers.
INFO
This differs from a Node's Name which simply serves cosmetic purposes to assist in the visual representation.
Input Types
1. Constant Value Type
Constant Values
- the input used by the Node's execution will be the supplied value.
- To use this input type, manually enter the data to be used in the
Data
field underInputs
with theUse reference
checkbox deselected.
2. Reference Value Type
Reference Values
- the input used by the Node's execution will be the output of a previous Node.
- To use this input type, the content of the
Data
field underInputs
with theUse reference
checkbox selected should be formatted using the following syntax:
$[node_alias].[property_alias]
Example (pictured above):
- The value
$start.data
is the output of the Start Node being taken as input by the Base64 Encode Node. - The output of the Base64 Encode Node will be referenced by the End Node as
$base64_encode.data
.
Categories
Certain Nodes are specific to a Workflow type (Passive/Active/Convert). Though, in general, Nodes can be categorized broadly and associated together by color:
Start/End Nodes
These Nodes are color categorized together by their yellow marked tabs. They mark the beginning and end of a Workflow.
Control Nodes
These Nodes are color categorized together by their green marked tabs and allow you to dictate the execution flow.
Code Nodes
These Nodes are color categorized together by their red marked tabs and provide a way to integrate Shell commands and Javascript.
Miscellaneous Nodes (Blue)
These Nodes are color categorized together by their blue marked tabs. The actions they perform include encoding/decoding, hashing/dehashing and filtering.
INFO
The development of Nodes will be ongoing and new nodes will be included in future Caido releases.