--- title: Security Mcp Tools emoji: 🛡️ colorFrom: gray colorTo: pink sdk: gradio sdk_version: 5.33.1 app_file: app.py pinned: false license: mit tags: - mcp-server-track - bandit - security-scanner - code-analysis - modal short_description: on-demand security analysis for Python code --- ## Bandit Security Scanner (via Modal MCP) This Gradio application provides an interface to scan Python code for common security vulnerabilities using **Bandit**. The analysis is performed by a Bandit tool running on a [Modal Labs](https://modal.com) Multi-Compute-Platform (MCP) server. ### How to Use 1. **Input Parameters**: * The input field expects a JSON object. * This JSON object **must** contain a key named `"code"` whose value is the Python code string you want to analyze. * An example is pre-filled for convenience: ```json { "code": "import subprocess\n\n# Example of a potential security risk with subprocess\nsubprocess.call(\"ls -l\", shell=True)" } ``` 2. **Submit**: Click the "Submit" button. 3. **Output**: * The application will send the code to the Bandit tool on the Modal MCP server. * The results of the Bandit analysis will be displayed as a JSON object in the output field. This JSON will typically include: * `tool`: "bandit" * `issues`: A list of security issues found, with details like issue text, severity, confidence, line number, and test ID. * `files_analyzed`: Number of files analyzed (usually 1 for the provided code snippet). * Any errors encountered during the process or stderr output from Bandit. ### Configuration For this application to function correctly, the `MODAL_MCP_ENDPOINT` environment variable must be set. This variable should point to your deployed Modal function that handles MCP tool execution (e.g., the `/execute_tool` endpoint). * Create a `.env` file in the `mcp_deploy` directory (or the root of your Space if deploying to Hugging Face Spaces and it's not automatically picked up from this directory). * Add the following line to the `.env` file, replacing the placeholder with your actual Modal endpoint URL: ``` MODAL_MCP_ENDPOINT="https://your-username--mcp-server-app-execute-tool.modal.run" ``` If the `MODAL_MCP_ENDPOINT` is not set or is incorrect, the application will display an error message upon submission. ### Note This application is specifically configured to use the "bandit" tool on the MCP server. ### Future works Add more security tools and expose them through this mcp server.