GreyNoise Intelligence · Arazzo Workflow

GreyNoise IP Quick Triage

Version 1.0.0

Quickly classify an IP, then pull full context only when it is worth it.

1 workflow 1 source API 1 provider
View Spec View on GitHub SecurityThreat IntelligenceCybersecurityIP ReputationVulnerability ManagementNetwork TelemetrySOC AutomationPublic APIsArazzoWorkflows

Provider

greynoise

Workflows

ip-quick-triage
Quick-classify an IP then conditionally fetch full context.
Runs a quick IP lookup to obtain the classification, and only when the IP is flagged as malicious or unknown does it retrieve the full internet scanner and business service intelligence context.
2 steps inputs: apiKey, ip outputs: actor, classification, seen
1
quickCheck
V3IP
Run a quick IP lookup that returns only the IP address and its classification or trust level for the fastest possible response.
2
fullContext
V3IP
Retrieve the full IP context including metadata, associated actor, activity tags, and raw port scan and web request information.

Source API Descriptions

Arazzo Workflow Specification

greynoise-ip-quick-triage-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: GreyNoise IP Quick Triage
  summary: Quickly classify an IP, then pull full context only when it is worth it.
  description: >-
    A fast two-stage triage for a single IP address. The workflow first runs a
    quick IP lookup that returns only the classification and trust level for a
    minimal-latency response, then branches on that classification: when the IP
    is malicious or unknown it pulls the full IP context (metadata, actor, tags,
    and raw scan data), and when the IP is benign it stops early to conserve
    quota. Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: greynoiseApi
  url: ../openapi/greynoise-openapi.yml
  type: openapi
workflows:
- workflowId: ip-quick-triage
  summary: Quick-classify an IP then conditionally fetch full context.
  description: >-
    Runs a quick IP lookup to obtain the classification, and only when the IP is
    flagged as malicious or unknown does it retrieve the full internet scanner
    and business service intelligence context.
  inputs:
    type: object
    required:
    - apiKey
    - ip
    properties:
      apiKey:
        type: string
        description: GreyNoise API key passed via the 'key' HTTP header.
      ip:
        type: string
        description: The IPv4 address to triage (e.g. 8.8.8.8).
  steps:
  - stepId: quickCheck
    description: >-
      Run a quick IP lookup that returns only the IP address and its
      classification or trust level for the fastest possible response.
    operationId: V3IP
    parameters:
    - name: key
      in: header
      value: $inputs.apiKey
    - name: ip
      in: path
      value: $inputs.ip
    - name: quick
      in: query
      value: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      classification: $response.body#/internet_scanner_intelligence/classification
    onSuccess:
    - name: needsContext
      type: goto
      stepId: fullContext
      criteria:
      - context: $response.body
        condition: $.internet_scanner_intelligence.classification != "benign"
        type: jsonpath
    - name: benignDone
      type: end
      criteria:
      - context: $response.body
        condition: $.internet_scanner_intelligence.classification == "benign"
        type: jsonpath
  - stepId: fullContext
    description: >-
      Retrieve the full IP context including metadata, associated actor,
      activity tags, and raw port scan and web request information.
    operationId: V3IP
    parameters:
    - name: key
      in: header
      value: $inputs.apiKey
    - name: ip
      in: path
      value: $inputs.ip
    - name: quick
      in: query
      value: false
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      ip: $response.body#/ip
      classification: $response.body#/internet_scanner_intelligence/classification
      actor: $response.body#/internet_scanner_intelligence/actor
      seen: $response.body#/internet_scanner_intelligence/seen
  outputs:
    classification: $steps.quickCheck.outputs.classification
    actor: $steps.fullContext.outputs.actor
    seen: $steps.fullContext.outputs.seen