Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions PLUGINS.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,103 @@ Only run scans against systems you own or are explicitly authorized to assess.
| Binary Signature Scan | `yara_scan` | `forensics` | `intrusive` | `yara` | Binary and file-system signature matching with YARA rules. |
| DAST Web Proxy (ZAP) | `zap_scanner` | `vulnerability` | `exploit` | `python3` | Dynamic proxy spidering and payload injection. |

## Examples for common field types in metadata.json

1. string - Single-line text

-Use for free-form text inputs such as hostnames, domain names, file paths, or any
value that does not fit a more specific type.

```json
{
"id": "target",
"label": "Root Domain",
"type": "string",
"required": true,
"placeholder": "example.com"
}
```

2. url - URL

-Use when the field expects a well-formed URL (a complete target url).

```json
{
"id": "target_url",
"label": "Target URL",
"type": "url",
"required": true,
"placeholder": "https://example.com"
}
```

3. select - Single-choice dropdown

- Use when user must choose a predefined option or say exactly one value from a fixed list.

```json
{
"id": "scan_depth",
"label": "Scan Depth",
"type": "select",
"required": true,
"options": ["shallow", "normal", "deep"],
"default": "normal"
}
```
4. boolean - Toggle/checkbox

-Use boolean fields for true/false configuration options.
-Always provide a default of true or false.

```json
{
"id": "verbose",
"label": "Verbose Output",
"type": "boolean",
"required": false,
"default": false
}
```
5. number - Numeric input

-Use for numeric limits, thresholds or timeout values.
-Use min and max to constrain the accepted range (both bounds are inclusive).
-The backend will reject values outside the declared range.

```json
{
"id": "timeout",
"label": "Timeout (seconds)",
"type": "number",
"required": false,
"default": 30,
"min": 1,
"max": 300
}
```

6. multiselect - Multi-choice selection

-Use multiselect fields when users can choose multiple options.

```json
{
"id": "output_formats",
"label": "Output Formats",
"type": "multiselect",
"required": false,
"options": ["json", "csv", "txt"],
"default": ["json"]
}
```






## Maintenance Notes

- If a plugin is added, renamed, or removed, update this file from the plugin metadata rather than editing counts by hand.
Expand Down
Loading