Shodan · Arazzo Workflow

Shodan Query Directory Explorer

Version 1.0.0

Browse popular query tags, search the saved-query directory, then run a match.

1 workflow 1 source API 1 provider
View Spec View on GitHub SecuritySearchInternetDevicesIoTVulnerabilitiesCVEAttack SurfaceThreat IntelligenceReconnaissanceNetworkDNSScanningPublic APIsArazzoWorkflows

Provider

shodan

Workflows

query-directory-explorer
Explore the saved-query directory and run a discovered query.
Lists popular query tags, searches the saved-query directory for a term, and executes a chosen query string against the live index.
3 steps inputs: apiKey, chosenQuery, searchTerm outputs: directoryMatches, tags, total
1
popularTags
listSavedQueryTags
Retrieve the most popular tags assigned to saved queries in the directory.
2
searchDirectory
searchSavedQueries
Search the saved-query directory for queries matching the supplied term.
3
runChosenQuery
getHostCount
Run the chosen query against the live Shodan index and return the count without spending result credits.

Source API Descriptions

Arazzo Workflow Specification

shodan-query-directory-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Shodan Query Directory Explorer
  summary: Browse popular query tags, search the saved-query directory, then run a match.
  description: >-
    A directory-driven discovery pattern. The workflow lists the most popular
    tags in the community saved-query directory, searches that directory for
    queries matching a term, and then executes one of the surfaced queries
    against the live Shodan index. 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: shodanRest
  url: ../openapi/shodan-rest-openapi.yml
  type: openapi
workflows:
- workflowId: query-directory-explorer
  summary: Explore the saved-query directory and run a discovered query.
  description: >-
    Lists popular query tags, searches the saved-query directory for a term,
    and executes a chosen query string against the live index.
  inputs:
    type: object
    required:
    - apiKey
    - searchTerm
    - chosenQuery
    properties:
      apiKey:
        type: string
        description: Shodan API key passed as the `key` query parameter.
      searchTerm:
        type: string
        description: The term to search the saved-query directory for.
      chosenQuery:
        type: string
        description: >-
          The query string to run against the live index, typically taken from
          a saved query surfaced by the directory search.
  steps:
  - stepId: popularTags
    description: >-
      Retrieve the most popular tags assigned to saved queries in the directory.
    operationId: listSavedQueryTags
    parameters:
    - name: key
      in: query
      value: $inputs.apiKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      tags: $response.body
  - stepId: searchDirectory
    description: >-
      Search the saved-query directory for queries matching the supplied term.
    operationId: searchSavedQueries
    parameters:
    - name: key
      in: query
      value: $inputs.apiKey
    - name: query
      in: query
      value: $inputs.searchTerm
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      directoryMatches: $response.body
  - stepId: runChosenQuery
    description: >-
      Run the chosen query against the live Shodan index and return the count
      without spending result credits.
    operationId: getHostCount
    parameters:
    - name: key
      in: query
      value: $inputs.apiKey
    - name: query
      in: query
      value: $inputs.chosenQuery
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      total: $response.body#/total
  outputs:
    tags: $steps.popularTags.outputs.tags
    directoryMatches: $steps.searchDirectory.outputs.directoryMatches
    total: $steps.runChosenQuery.outputs.total