Skip to content

Scanning Engine v2 - Module - NoOp

Overview

The noop scanning module exists for testing purposes. Despite being a scanning module, it will not generate any network traffic. This module will emit its input arguments as output.

Targeting

This module produces no network traffic, but can still optionally target services. If the ports key of its module invocation doesn't contain any port definitions, this module will run on each target in a job. If the ports key is not empty, and port scans are disabled, this module will run on every requested port for every target. If the ports key is not empty, and port scans are enabled, this module will run on every requested port found to be open on a target. This targeting behavior is useful for checking how the system is building the task tree.

Configuration

Only the publicly-available configuration keys that can be set in a job's module invocations will be described below. Additional configuration keys may exist, but not be shown here because they are restricted to specific users or because they are permanently set as a static value. If no keys have (required) after their names then invocations of this module need not contain a config key.

Named Keys

delay

Delay before which a result will be produced for a target.

  • Type: string

success-probability

Probability of module's success, from zero to one (inclusive).

  • Type: float
  • Default: 1.0

temporary-directory

Place the per-execution temporary directory path in the environment.

  • Type: string

Pattern Keys

The names of the configuration keys below are interpreted as regular expressions. The Minion will attempt to match these patterns against the configuration keys in a module invocations, usually after attempting to match all of the named keys. The order in which the pattern keys are compared to the keys found in a module invocation is reflected by their order below.

Pattern key headers and their permalinks are named after the order in which they appear, instead of trying to make names and links out of regular expressions.

Pattern 1

Consider every key that starts with an uppercase letter or underscore to be an env var.

  • Pattern: ^([A-Z_].*)$
  • Type: string

Pattern 2

Consider every hyphen-prefixed key a switch.

  • Pattern: ^(-.+)$
  • Type: string

Pattern 3

Consider every remaining key a positional arg.

  • Pattern: ^(.*)$
  • Type: string

Schemas

The schema for the body object of all results generated with .task.module_name equal to noop can be found here. The schema for results is available both in standalone and bundled form.

Examples

These are examples of the .body object for results with .task.module_name equal to noop. Note that the noop module does not send or receive network traffic, so the output of all examples are purely the result of the module configuration.

No Configuration

This example was generated without passing any configuration to the module.

{
  "args": [
    "--target",
    "1.2.3.4",
    "--success-probability",
    "1"
  ],
  "env": {
    "GOTRACEBACK": "none",
    "TARGETS_PER_SHARD": "128"
  }
}

Changelog

  • 2025-05-05: Initial release of versioning to each module. All modules are tagged with a version number "1.0.0". Going forward:
    • Major version should be changed when there are changes that impact consumers or clients of the modules
    • Minor version should be changed when there are additions which enrich or enhance the module but shouldn’t affect consumers or clients
    • Patch version should be changed when there are bugfixes