Skip to main content

Command execution package for wish

Project description

wish-command-execution

Command execution package for wish.

Overview

wish-command-execution is a Python package that provides command execution functionality for the wish ecosystem. It allows executing commands on different backend shells (bash, Sliver C2, etc.) and tracking their execution status.

Installation

pip install wish-command-execution

Or for development:

git clone https://github.com/SecDev-Lab/wish.git
cd wish/wish-command-execution
uv pip install -e .

Usage

Basic Usage

from wish_models import Wish
from wish_command_execution import CommandExecutor
from wish_command_execution.backend import BashBackend

def main():
    # Create a wish
    wish = Wish.create("List files")
    
    # Create a backend
    backend = BashBackend()
    
    # Create a command executor
    executor = CommandExecutor(backend)
    
    # Execute a command
    cmd_num = 1
    executor.execute_command(wish, "ls -la", cmd_num)
    
    # Check running commands
    executor.check_running_commands()
    
    # Print the result when completed
    for result in wish.command_results:
        print(f"Command: {result.command}")
        print(f"Exit code: {result.exit_code}")
        print(f"State: {result.state}")

if __name__ == "__main__":
    main()

Using Different Backends

from wish_command_execution.backend import create_backend
from wish_command_execution.backend.factory import BashConfig, SliverConfig

# Using Bash backend with custom log summarizer
def my_log_summarizer(log_files):
    return "Custom log summary"

config = BashConfig(log_summarizer=my_log_summarizer)
backend = create_backend(config)

# Using Sliver backend
config = SliverConfig(
    session_id="your-session-id",
    client_config_path="/path/to/sliver/config"
)
backend = create_backend(config)  # Will raise NotImplementedError currently

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wish_command_execution-0.5.1.tar.gz (41.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wish_command_execution-0.5.1-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

Details for the file wish_command_execution-0.5.1.tar.gz.

File metadata

  • Download URL: wish_command_execution-0.5.1.tar.gz
  • Upload date:
  • Size: 41.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for wish_command_execution-0.5.1.tar.gz
Algorithm Hash digest
SHA256 fd10dae0812cf327595093992f8a298781e592317a62f188c47ee7fd5babbded
MD5 1265656e1da2043965a61662e641ff2c
BLAKE2b-256 efcc4585cd39cb9811d7c3eb91fe1e7da1cd11f0f7325d72f890aab676506add

See more details on using hashes here.

File details

Details for the file wish_command_execution-0.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for wish_command_execution-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0101b64ac3f5de421c35a4fc6e5bccfcf42e4cdd457a7b42d2bacb02388888d3
MD5 5b5f6e4c1d334ee779215d579db7f4b5
BLAKE2b-256 1c226e5405afa023a6e2966848b4d06230fae5f5db6d9e910a3bed98a4bf9ff3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page