GreyNoise Intelligence · Arazzo Workflow

GreyNoise Community Classification Router

Version 1.0.0

Community-check an IP and route malicious vs benign to different lookups.

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

Provider

greynoise

Workflows

community-classification-router
Community classify an IP then route malicious and benign separately.
Uses the Community API classification to branch malicious IPs into a full context lookup and benign IPs into a quick context lookup.
3 steps inputs: apiKey, ip outputs: benignTrustLevel, classification, maliciousActor
1
communityCheck
getCommunityIP
Query the Community API for the IP's classification to decide which enrichment path to take.
2
deepContext
V3IP
Retrieve the full IP context for a malicious IP, including metadata, associated actor, activity tags, and raw scan data.
3
quickContext
V3IP
Retrieve a quick IP context for a benign or unknown IP, surfacing its business service intelligence trust level without the full payload.

Source API Descriptions

Arazzo Workflow Specification

greynoise-community-classification-router-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: GreyNoise Community Classification Router
  summary: Community-check an IP and route malicious vs benign to different lookups.
  description: >-
    Routes an IP down different investigation paths based on its community
    classification. The free Community API first returns the IP's
    classification, then the workflow branches: malicious IPs are sent to the
    full IP context for deep enrichment, while benign IPs are sent to the RIOT
    business service intelligence view via a quick context lookup. 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: community-classification-router
  summary: Community classify an IP then route malicious and benign separately.
  description: >-
    Uses the Community API classification to branch malicious IPs into a full
    context lookup and benign IPs into a quick context lookup.
  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 routable IPv4 address to classify and route.
  steps:
  - stepId: communityCheck
    description: >-
      Query the Community API for the IP's classification to decide which
      enrichment path to take.
    operationId: getCommunityIP
    parameters:
    - name: key
      in: header
      value: $inputs.apiKey
    - name: ip
      in: path
      value: $inputs.ip
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      classification: $response.body#/classification
      noise: $response.body#/noise
      riot: $response.body#/riot
    onSuccess:
    - name: maliciousPath
      type: goto
      stepId: deepContext
      criteria:
      - context: $response.body
        condition: $.classification == "malicious"
        type: jsonpath
    - name: benignPath
      type: goto
      stepId: quickContext
      criteria:
      - context: $response.body
        condition: $.classification != "malicious"
        type: jsonpath
  - stepId: deepContext
    description: >-
      Retrieve the full IP context for a malicious 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: $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
    onSuccess:
    - name: done
      type: end
  - stepId: quickContext
    description: >-
      Retrieve a quick IP context for a benign or unknown IP, surfacing its
      business service intelligence trust level without the full payload.
    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:
      ip: $response.body#/ip
      bsiTrustLevel: $response.body#/business_service_intelligence/trust_level
  outputs:
    classification: $steps.communityCheck.outputs.classification
    maliciousActor: $steps.deepContext.outputs.actor
    benignTrustLevel: $steps.quickContext.outputs.bsiTrustLevel