Skip to main content
Glama

run_attack

Execute vulnerability scans on language models by specifying model type, model name, and probe. Identify potential risks and generate a list of vulnerabilities for analysis.

Instructions

Run an attack with the given model and probe which is a Garak attack. Args: model_type (str): The type of model to use. model_name (str): The name of the model to use. probe_name (str): The name of the attack / probe to use. Returns: list: A list of vulnerabilities.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
model_nameYes
model_typeYes
probe_nameYes

Implementation Reference

  • MCP tool handler for 'run_attack': decorated function that executes the tool by delegating to GarakServer.run_attack method.
    @mcp.tool() def run_attack(model_type: str, model_name: str, probe_name: str): """ Run an attack with the given model and probe which is a Garak attack. Args: model_type (str): The type of model to use. model_name (str): The name of the model to use. probe_name (str): The name of the attack / probe to use. Returns: list: A list of vulnerabilities. """ return GarakServer().run_attack(model_type, model_name, probe_name)
  • Core helper function in GarakServer class that implements the attack by running 'garak' CLI commands with appropriate model configuration.
    def run_attack(self, model_type: str, model_name: str, probe_name: str): """ Run an attack with the given model and probe. Args: model_type (str): The type of model to use. model_name (str): The name of the model to use. probe_name (str): The name of the probe to use. Returns: list: A list of vulnerabilities. """ if model_type == "ollama": config_file = self._get_generator_options_file(model_name) try: return get_terminal_commands_output([ 'garak', '--model_type', 'rest', '--generator_option_file', config_file, '--probes', probe_name, '--report_prefix', REPORT_PREFIX, "--generations", "1", "--config", "fast", "--parallel_attempts", str(self.config.parallel_attempts), "-v" ]) finally: # Clean up the temporary file if os.path.exists(config_file): os.unlink(config_file) else: return get_terminal_commands_output([ 'garak', '--model_type', model_type, '--model_name', model_name, '--probes', probe_name, '--report_prefix', REPORT_PREFIX, "--generations", "1", "--config", "fast", "--parallel_attempts", str(self.config.parallel_attempts), "-v" ])
  • src/server.py:152-152 (registration)
    Registration of the 'run_attack' tool using the @mcp.tool() decorator.
    @mcp.tool()

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/EdenYavin/Garak-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server