s4dhulabs / vimana-framework

Vimana is an experimental security framework that aims to provide resources for auditing Python web applications.
GNU General Public License v3.0
64 stars 9 forks source link

Adapt Plugins for Execution in Visual Navigation Mode πŸ–₯️ #3

Open s4dhulabs opened 3 days ago

s4dhulabs commented 3 days ago

Description:

In the visual navigation mode, initialized via the start command, users can manage the framework without command-line input, using only arrow keys and shortcuts. This mode will allow users to run plugins in a more user-friendly manner. However, unlike the advanced command-line mode where users specify all execution details, the visual mode requires plugins to have pre-configured values that will be auto-loaded into the argument parser workspace. This will enable users to execute plugins with minimal input, only specifying the scope while other execution details are pre-configured.

Technical Details:

Adapt the YAML configuration of all plugins to include pre-configured parameters. Implement functionality to auto-load these parameters into the argument parser workspace when a plugin is executed in visual mode. Ensure that the visual mode allows users to execute plugins by simply pressing 'r', with minimal input required. Current Visual Mode Example:


           *         β ›                     β ›
                      _^_               .
           (( ( ____.Β΄β””β”˜β”`.____  )) ) )  *         *
                    `.β žβ “β Ž.Β΄               .
                     |β”‚β”‚||
                 _ _
                 \\/imana<v0.8>
                  ||-ramewΓΈrk

                     |β”‚β”‚||

               about  ◉◍  About the framework
               flush  ◍◉  Remove a recorded resource
               guide  β—β—Ž  Show plugin usage examples and args
                info  β—β—Ž  Show information about plugins
                list  β—β—Ž  List available resources
                load  ◉◍  Load a recorded session (post-analysis)
                 run  β—Žβ—Ž  Run a resource, plugin or case
               start  β—Žβ—Ž  Start Vimana in a interactive mode

vimana start

Proposed Solution:

Example of YAML Configuration Adaptation:

plugin_name: example_plugin
description: Example plugin description
parameters:
  - name: param1
    type: string
    default: value1
  - name: param2
    type: int
    default: 10
autoload: true

Benefits:

Future Considerations:

s4dhulabs commented 3 days ago

Adapt Plugins for Execution in Visual Navigation Mode