diff --git a/PLUGINS.md b/PLUGINS.md index 79010834..ad0d39d6 100644 --- a/PLUGINS.md +++ b/PLUGINS.md @@ -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.