GreyNoise Intelligence · Arazzo Workflow

GreyNoise Bulk IP Triage

Version 1.0.0

Quick-lookup a batch of IPs, then deep-context the first flagged one.

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

Provider

greynoise

Workflows

bulk-ip-triage
Quick multi-IP lookup then deep-context the first flagged IP.
Submits a batch of IPs for a quick multi lookup and, when the first record is malicious or unknown, retrieves the full IP context for that address.
2 steps inputs: apiKey, ips outputs: actor, firstClassification, firstIp
1
bulkLookup
V3MultiIP
Run a quick multi-IP lookup over the submitted set of addresses, returning only the classification or trust level per IP for a fast response.
2
contextFlagged
V3IP
Retrieve the full IP context for the first flagged IP, including metadata, associated actor, activity tags, and raw scan data.

Source API Descriptions

Arazzo Workflow Specification

greynoise-bulk-ip-triage-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: GreyNoise Bulk IP Triage
  summary: Quick-lookup a batch of IPs, then deep-context the first flagged one.
  description: >-
    Triages many IPs at once and drills into the first that matters. The
    workflow first runs a quick multi-IP lookup over a submitted set of
    addresses, branches on whether the first returned record is non-benign, and
    when so pulls the full IP context for that first address. 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: bulk-ip-triage
  summary: Quick multi-IP lookup then deep-context the first flagged IP.
  description: >-
    Submits a batch of IPs for a quick multi lookup and, when the first record
    is malicious or unknown, retrieves the full IP context for that address.
  inputs:
    type: object
    required:
    - apiKey
    - ips
    properties:
      apiKey:
        type: string
        description: GreyNoise API key passed via the 'key' HTTP header.
      ips:
        type: array
        description: The set of IPv4 addresses to look up (up to 10,000).
        items:
          type: string
  steps:
  - stepId: bulkLookup
    description: >-
      Run a quick multi-IP lookup over the submitted set of addresses, returning
      only the classification or trust level per IP for a fast response.
    operationId: V3MultiIP
    parameters:
    - name: key
      in: header
      value: $inputs.apiKey
    - name: quick
      in: query
      value: true
    requestBody:
      contentType: application/json
      payload:
        ips: $inputs.ips
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstIp: $response.body#/data/0/ip
      firstClassification: $response.body#/data/0/internet_scanner_intelligence/classification
    onSuccess:
    - name: firstFlagged
      type: goto
      stepId: contextFlagged
      criteria:
      - context: $response.body
        condition: $.data[0].internet_scanner_intelligence.classification != "benign"
        type: jsonpath
    - name: firstBenign
      type: end
      criteria:
      - context: $response.body
        condition: $.data[0].internet_scanner_intelligence.classification == "benign"
        type: jsonpath
  - stepId: contextFlagged
    description: >-
      Retrieve the full IP context for the first flagged IP, including metadata,
      associated actor, activity tags, and raw scan data.
    operationId: V3IP
    parameters:
    - name: key
      in: header
      value: $inputs.apiKey
    - name: ip
      in: path
      value: $steps.bulkLookup.outputs.firstIp
    - 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
  outputs:
    firstIp: $steps.bulkLookup.outputs.firstIp
    firstClassification: $steps.bulkLookup.outputs.firstClassification
    actor: $steps.contextFlagged.outputs.actor