Skip to content

Security: jasondillingham/architect-mcp

Security

SECURITY.md

Security Policy

Reporting a vulnerability

If you find a security issue in architect-mcp, please do not open a public GitHub issue. Instead, email the maintainer directly:

jasondillingham@gmail.com

I'll acknowledge within 72 hours and aim to land a fix or coordinated disclosure within 30 days, depending on severity and complexity.

Scope — what to report

architect-mcp is a small Go MCP server that proxies prompts to a local Ollama instance and (optionally) screenshots external URLs via headless Chrome. The areas most likely to harbor security issues:

  • The generate_blueprint_from_url tool accepts an arbitrary URL and screenshots it via chromedp. It enforces a private-IP/loopback/link-local block by default (internal/screenshot/screenshot.go) — bypasses of that SSRF guard are in-scope. The env override ARCHITECT_ALLOW_PRIVATE_IPS=true exists for operators who deliberately want intra-LAN captures; reports about the override's behavior when set are not in-scope.
  • The ollama_url per-call override lets an MCP client override the configured Ollama endpoint. The handler validates scheme + refuses redirects (internal/architect/ollama.go) but the field accepts any URL the client passes. Issues with that validation are in-scope.
  • The output_path field on generate_blueprint writes a markdown file under a configured output_root directory. Path traversal that escapes output_root is in-scope (the resolver in internal/mcp/blueprint_tool.go is intended to reject this).
  • Stdout discipline — architect-mcp runs as a stdio MCP server; anything that writes non-protocol bytes to stdout is a bug. Reports welcome.

Out of scope

  • Issues with Ollama itself, Chrome/Chromium, or the MCP SDK — please report those upstream.
  • Resource exhaustion against an operator's own local Ollama (the server has no cross-tenant model).
  • Issues that require the attacker to already have write access to the operator's MCP config or Go module cache.

Public-disclosure preference

When the fix is landed, I prefer co-authored disclosure: a brief writeup in the release notes plus a CVE if warranted. Tell me how you want to be credited.

There aren't any published security advisories