v1.18.0
looplj/axonhubv1.18.0Aug 8, 2026by yamadashy
Upgrading?
AI Summary
Introduces sandbox mode for the MCP server to confine operations to a single workspace directory and implements security hardening for MCP tools and remote repository processing.
Key Highlights
- MCP Sandbox Mode with `--sandbox` flag to restrict file system access to a specific workspace root
- Security: MCP file system tools are now registered only in sandbox mode
- Security: Credentials in repository URLs are redacted before logging to prevent exposure
- Security: Cloud metadata endpoints are refused as clone targets to prevent credential injection
Breaking Changes
- MCP file system tools (`file_system_read_file` and `file_system_read_directory`) are now registered only in sandbox mode. Users relying on these tools must add the `--sandbox` flag to their server arguments.
New Features
- MCP sandbox mode for workspace confinement
- URL credential redaction in logs and error messages
- Refusal of cloud metadata endpoints as clone targets
Full Release Notes
This release introduces sandbox mode for the MCP server, confining it to a single workspace directory, along with a set of security hardening changes across the MCP tool surface and remote repository processing! ## What's New π ### MCP Sandbox Mode (#1753, #1754) The MCP server can now be confined to a single workspace directory with the `--sandbox` flag: ```bash # Confine to the current working directory repomix --mcp --sandbox # Confine to a specific directory repomix --mcp --sandbox path/to/project ``` By default the MCP server can read any path the host user can, which is convenient for a trusted local assistant but too broad when the server is exposed to an untrusted client or agent, such as when embedding Repomix in a hosted application. In sandbox mode: - Every path is relative to the workspace root. Absolute paths, `~`, `..`, and Windows drive/UNC paths are refused, and paths that resolve outside the root (including through symlinks) are dropped. - Results and error messages are virtualized, so host paths are never exposed. - Only the read-only, root-confined tools are registered: `pack_codebase`, `read_repomix_output`, `grep_repomix_output`, `file_system_read_file`, and `file_system_read_directory`. Remote packing, skill generation, and attaching external outputs are disabled. This is an application-level confinement of the tool surface, not an OS-level sandbox: when hosting the server for untrusted clients, still run it under your platform's usual isolation (containers, dedicated users). See [MCP Server β Sandbox Mode](https://repomix.com/guide/mcp-server#sandbox-mode) for details. Special thanks to @huy-trn for designing and implementing this feature. Great to have a long-time contributor back! π ## Security Hardening π ### MCP File System Tools Are Now Sandbox-Only The `file_system_read_file` and `file_system_read_directory` tools are now registered **only in sandbox mode**. Outside `--sandbox` they could read any path the process can, while their built-in Secretlint scan was presented as more protection than it provides: it recognizes known secret formats in file content, and nothing else. In sandbox mode the workspace root gives these tools a real access boundary, with the secret scan kept as an additional heuristic safeguard. If your MCP setup relied on these two tools, add `--sandbox [dir]` to the server arguments to keep using them, confined to that workspace. Tool descriptions and documentation have also been reworded across the board to describe the Secretlint scan as what it is: a best-effort content heuristic, not an access boundary. See the security advisory for details. Thanks to @rafaelfiguereod-stack for the report! π https://github.com/yamadashy/repomix/security/advisories/GHSA-rpmv-562j-qxrv ### Credentials in Repository URLs Are Redacted Before Logging Remote URLs are routinely written with credentials inline (`https://<token>@github.com/owner/repo.git`), especially in CI. Repomix previously echoed such URLs as-is into console output, trace logs, error messages (git repeats the full command line in its failure output), and the MCP `pack_remote_repository` response, persisting the credential in terminal scrollback, CI build logs, and log aggregation systems. All of these paths now redact userinfo credentials and known credential query parameters (`token`, `private_token`, `access_token`, and similar) before the URL is written anywhere. See the security advisory for details. Thanks to @kakashi-kx for the report! π https://github.com/yamadashy/repomix/security/advisories/GHSA-w8cw-mgw9-74h7 ### Cloud Metadata Endpoints Are Refused as Clone Targets Remote packing now refuses to clone from cloud instance metadata endpoints (`169.254.0.0/16`, `fd00:ec2::254`, `100.100.100.200`, `metadata.google.internal`), which serve credentials and host no git repository. Through the MCP server an AI agent chooses the URL, so an injected instruction could otherwise aim a clone at an address the user never asked for. Private networks (RFC1918) remain allowed, since cloning from self-hosted git servers is normal. ## How to Update ```bash npm update -g repomix ``` --- As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
Related Repositories
ollama/ollamaβ
184,234
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
fatedier/frpβ
110,064
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
infiniflow/ragflowβ
92,629
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
gohugoio/hugoβ
90,198
The worldβs fastest framework for building websites.
junegunn/fzfβ
83,715
:cherry_blossom: A command-line fuzzy finder