Security updates are provided for the latest minor release series only.
| Version | Supported |
|---|---|
| 0.1.x | ✓ |
ipt-mcp runs locally only. The MCP server talks to each in-process Inventor add-in over an
authenticated localhost transport — TCP on 127.0.0.1 for Inventor 2022–2024 (net48) and a
Named Pipe for Inventor 2025–2027 (net8/net10). The attack surface is:
- Local processes that can read the discovery files
(
%LOCALAPPDATA%\Bimwright\ipt-mcp\inventor-2022-*.json..inventor-2027-*.json). - Local processes that can connect to the per-target TCP port or Named Pipe.
- Code executed via
inventor_send_codeor materialized by the ToolBaker engine.
- Each Inventor add-in session generates a cryptographic random token.
- The token is persisted alongside the transport endpoint in the discovery file.
- Every request must carry the valid token in the command envelope — otherwise it is rejected with
UNAUTHORIZED.
--targetis validated against the 4-digit calendar years2022–2027; legacy version codes are rejected.- Handler parameters are validated before dispatch; invalid input returns
INVALID_ARGUMENT. - The transport enforces a 1 MiB line-size limit per NDJSON message.
- Responses exceeding the configured limit (
--max-response-bytes, default 5 MB) returnRESPONSE_TOO_LARGE.
SecretMaskerredacts API keys, Bearer tokens, passwords, and auth tokens in log output.ErrorSanitizerstrips Windows/UNC absolute paths from errors returned to the model; only document/output paths the user explicitly requested are surfaced.
- TCP listener (2022–2024):
127.0.0.1only, never0.0.0.0. - Named Pipe (2025–2027): local pipe only; chosen specifically to avoid the Windows loopback-firewall prompt.
inventor_send_codeis disabled by default. It requires both a server-side opt-in (--enable-send-codeorBIMWRIGHT_INVENTOR_ENABLE_SEND_CODE=1) and an add-in environment variable (BIMWRIGHT_INVENTOR_PLUGIN_ENABLE_SEND_CODE=1). Missing either returnsSEND_CODE_DISABLED.- Run with
--read-onlyor--disable-toolbakerfor host profiles that must not expose dynamic-code execution. - Both
send_codeand baked-tool source pass theBakeCompilerPolicybanned-API gate (no file/process/network/environment/reflection APIs) before compilation. - Baked-tool execution is restricted by
BakedToolDispatchAuthorizerto read-only query commands and may never re-enter the platform layer. - See
docs/toolbaker.mdfor the full model. - ToolBaker and
send_coderun under the host Inventor process trust boundary. Treat them as trusted-operator-only.
Please do not open a public GitHub issue for security-sensitive reports.
Use one of these private channels:
- GitHub private vulnerability report — open the repository's Security tab and submit a new advisory draft. This is the preferred path.
- Email the maintainer — contact via the address on the commit history.
Include:
- Version (server + add-in) and Inventor year.
- Reproduction steps.
- Impact assessment (local vs remote, auth required, user interaction).
Do not publish proof-of-concept exploits in public channels until a fix has shipped.
- Acknowledgement within 72 hours of report.
- Assessment + fix target within 14 days for high-severity issues (auth bypass, RCE).
- Coordinated disclosure via GitHub Security Advisory with CVE assignment where applicable.