Skip to main content

Signals

Every monitor watches a single signal source. That source is what makes the monitor fire, and its mode determines what happens when it does.

At a glance

  • What it is — The six signal sources a monitor can watch, and how each one fires.
  • When to use it — Choosing which source to arm for a given wait condition; see the source-to-use-case table below (webhook, vessel, Cybergraph, operation, schedule, input).
  • Inputs — Source-specific: a callback URL plus optional secret (Webhook), a token printed by a script (Vessel), entity types/actions/filters/cooldown (Cybergraph), a child operation (Operation), a CRON schedule (Schedule), an approval or form (Input).
  • Outputs — The fired signal's payload delivered back into the operation: request method/headers, the decoded script payload, the matched entity, the child operation's result, or the form response.
  • Related objectsMonitors (modes and states), Lifecycle & controls, Automations (Schedule signal as a realm-level monitor), Cybergraph, Vessels.
  • Common actions — See Lifecycle & controls for managing an armed or fired monitor.
  • API / tool links — Webhook callback contract documented under Webhook (X-Monitor-Secret header); Vessel token/payload contract documented under Vessel.
SourceFires whenUsed for
WebhookAn HTTP request hits the monitor's callback URLOut-of-band callbacks, third-party webhooks
VesselA script prints the monitor's token to a Vessel's outputCatching a result mid-run from a long command
CybergraphA matching entity is added or changed in the graphReacting to new hosts, domains, or findings
OperationA child operation finishesFan-out / fan-in across sub-operations
ScheduleA recurring time arrivesScheduled runs (automations)
InputYou approve, deny, or submit a formApprovals and human-in-the-loop steps

Webhook

Cracken gives the monitor a unique callback URL. Any GET or POST to it fires the monitor; the request's method, source IP, and headers come back as the result. Attach a secret to restrict who can fire it — the caller sends it in the X-Monitor-Secret header:

curl -X POST "<callback-url>" \
-H "X-Monitor-Secret: <secret>" \
-d '{"hit": "10.0.0.5"}'

Vessel

When a script needs to hand a result back mid-run, the monitor gives it a token. The script prints the token immediately followed by a base64 payload on its own line; Cracken catches it and fires the monitor with the decoded payload:

printf '%s%s\n' "<token>" "$(printf '%s' '{"hit":"10.0.0.5"}' | base64)"

The token is unique per monitor, so unrelated output never fires it by mistake.

Cybergraph

Fires when an entity in the Cybergraph is created, updated, or deleted matching a condition — entity types (e.g. IPAddress, Vulnerability), actions, optional property filters, and a cooldown between fires. Usually background, so an operation reacts as the graph grows.

Operation

How an operation waits on a child it spawned. Blocking pauses the parent until the child finishes; Background lets it keep working and notifies it on completion.

Schedule

A recurring (CRON) trigger. As a realm-level automation, each fire starts a new operation.

Input

Approvals and forms. When an operation needs you to approve, deny, or fill something in, it pauses on an input monitor; your reply fires it and flows into the operation.

Next steps

  • Monitors — modes, states, and how monitors differ from automations.
  • Lifecycle & controls — manage an armed or paused monitor from the console.
  • Automations — realm-level monitors that start a new operation on each fire.