Atlas / MCP servers / usk6666 / yorishiro-proxy

yorishiro-proxyBLOCK

mcp/usk6666/yorishiro-proxy

AI-native MITM proxy — MCP server for traffic interception, recording & replay

Verdict
BLOCK
Grade
D
Trust score
62 /100
Exposed tools
26 25r · 1w · 0d
Transport
streamable-http
License
Apache-2.0
Stars
17
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

AI-First MITM Proxy Tool A network proxy for AI agents — intercept, record, and replay traffic through MCP.

日本語

Beta — yorishiro-proxy is under active development. APIs, configuration formats, and protocol behavior may change between minor versions. Non-HTTP/HTTPS protocols (gRPC, WebSocket, Raw TCP, SOCKS5) are at an earlier stage of maturity and may have known limitations.

Yorishiro Proxy runs as an MCP (Model Context Protocol) server, giving AI agents full control over proxy operations through a typed-per-protocol MCP tool surface. Designed for use with Claude Code and other MCP-compatible agents, it enables automated security testing workflows without manual UI interaction. An embedded Web UI is also available for visual inspection and interactive use.

Features

  • Traffic Interception & Recording -- MITM proxy with automatic CA certificate management
  • Per-Protocol Resend -- Replay recorded flows with typed schemas (`resend
Read from source at commit f6fea298bc9bOBSERVED · 2026-10-10
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add yorishiro-proxy-webui -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "yorishiro-proxy-webui": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
03

Exposed tools (26)

25 read · 1 write · 0 destructive.

ToolRiskDescription
audit-authreadAudit a recorded HTTP flow for authentication-bypass and role-downgrade / privilege-escalation flaws by replacing the credential header value.
capture-trafficreadCapture HTTP / WebSocket / gRPC traffic via playwright-cli through yorishiro-proxy with a scoped capture filter; obtains flow_ids for verification playbooks.
fuzz-endpointreadGeneral-purpose fuzz workflow for a recorded request; picks fuzz_http / fuzz_ws / fuzz_grpc / fuzz_raw based on the captured flow
replay-with-modsreadSingle-shot replay of a recorded request using resend_http / resend_ws / resend_grpc / resend_raw with selective header / body modifications.
schema_configurereadJSON Schema for the configure tool input.
schema_fuzz_grpcreadJSON Schema for the fuzz_grpc tool input.
schema_fuzz_httpreadJSON Schema for the fuzz_http tool input.
schema_fuzz_rawreadJSON Schema for the fuzz_raw tool input.
schema_fuzz_wsreadJSON Schema for the fuzz_ws tool input.
schema_grpc_schemareadJSON Schema for the grpc_schema tool input.
schema_interceptreadJSON Schema for the intercept tool input.
schema_macroreadJSON Schema for the macro tool input.
schema_managereadJSON Schema for the manage tool input.
schema_plugin_introspectreadJSON Schema for the plugin_introspect tool input.
schema_proxy_startwriteJSON Schema for the proxy_start tool input.
schema_queryreadJSON Schema for the query tool input.
schema_resend_grpcreadJSON Schema for the resend_grpc tool input.
schema_resend_httpreadJSON Schema for the resend_http tool input.
schema_resend_rawreadJSON Schema for the resend_raw tool input.
schema_resend_wsreadJSON Schema for the resend_ws tool input.
schema_securityreadJSON Schema for the security tool input.
stateful-fuzz-loopreadDrive setup → resend_http → teardown around a stateful endpoint that cannot be safely fuzzed in bulk (repeated DELETE, single-use tokens, rotating CSRF).
verify-csrfreadVerify whether a state-changing HTTP flow validates its CSRF token by emptying, forging, or removing the token header and observing acceptance.
verify-idorreadVerify Insecure Direct Object Reference on a recorded HTTP flow — sweep candidate ids in body or path and compare authenticated vs unauthorised access.
verify-sqlireadVerify SQL injection on a recorded HTTP flow with time-based / error-based / UNION techniques; method-aware safety guardrails block destructive payloads.
verify-xssreadVerify reflected Cross-Site Scripting on a recorded HTTP flow using YP_-prefixed marker payloads — no scripts execute; only detects unescaped reflection.
04

Trust audit

BLOCKgrade D · trust 62/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (9 observation(s))
Network
declared (8 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
found

Findings (25)

HIGHPrompt injection · prompt.credential_read · CWE-94, CWE-1427
.claude/skills/autopilot/SKILL.md:97
5. **Never** read secrets (`.env*`, `~/.ssh`, CA keys) or print tokens.
Why it matters. asks the agent to read credentials
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
internal/mcp/macro_define_warnings_test.go:246
const secret = "SENTINEL-SESSION-VALUE-71bd"
MEDIUMAuth / authz · mcp.remote_no_auth · CWE-287, CWE-862
streamable-http
Why it matters. a network transport with no auth environment variable found
Fix. require a token
LOWInventory / provenance · inv.hidden_file · CWE-1104
.golangci-lint-version
.golangci-lint-version
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.golangci.yml
.golangci.yml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.worktreeinclude
.worktreeinclude
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
internal/rules/http/safety_test.go:172
Name:     "eval() call",
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
internal/rules/http/safety_test.go:179
[]byte(`eval(userInput)`))
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
internal/rules/http/safety_test.go:182
t.Fatal("expected violation for eval()")
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
.github/workflows/dependabot-security.yml:94
-package-json ../../web/package.json \
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
web/src/components/Layout/Header.tsx:1
import { useMcpClient } from "../../lib/mcp/index.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
web/src/components/hooks/HookConfigEditor.tsx:2
import type { HookConfig, HooksInput, MacrosEntry } from "../../lib/mcp/types.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
web/src/pages/Dashboard/BudgetWidget.tsx:1
import { Spinner } from "../../components/ui/Spinner.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
web/src/pages/Dashboard/BudgetWidget.tsx:2
import type { SecurityGetBudgetResult } from "../../lib/mcp/types.js";
LOWNetwork egress · net.metadata_ip · CWE-200, CWE-319
docs/rfc/envelope.md:908
| deny `{hostname: "169.254.169.254", schemes: ["http"]}` | rule stops matching; evaluation falls through to the allow check, which is empty | **BYPASS** — cloud metadata reachable |
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
LOWNetwork egress · net.metadata_ip · CWE-200, CWE-319
internal/config/config_test.go:867
{"hostname": "169.254.169.254"}
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
LOWNetwork egress · net.metadata_ip · CWE-200, CWE-319
internal/config/config_test.go:935
{"hostname": "169.254.169.254"}
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
LOWNetwork egress · net.metadata_ip · CWE-200, CWE-319
internal/config/config_test.go:966
if policy.Denies[1].Hostname != "169.254.169.254" {
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
LOWNetwork egress · net.metadata_ip · CWE-200, CWE-319
internal/config/config_test.go:967
t.Errorf("Denies[1].Hostname = %q, want %q", policy.Denies[1].Hostname, "169.254.169.254")
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README-ja.md:97
WebUI available url=http://127.0.0.1:3000/
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:108
WebUI available url=http://127.0.0.1:3000/
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
cmd/yorishiro-proxy/binary_smoke_integration_test.go:447
"--proxy", "http://127.0.0.1:"+strconv.Itoa(proxyPort),
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
internal/connector/http1_forward_handler_test.go:491
clientA.Write([]byte("GET http://127.0.0.1:1/ HTTP/1.1\r\nHost: 127.0.0.1:1\r\n\r\n"))
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
internal/connector/upstream_proxy_perlistener_test.go:21
u1, _ := url.Parse("http://127.0.0.1:8080")
LOWNetwork egress · net.tls_off · CWE-200, CWE-319
internal/config/forward_config_test.go:169
t.Errorf("Marshal output should include upstream_insecure_skip_verify=false (tri-state preserves explicit enforce), got %s", string(data4))
Why it matters. certificate verification is disabled
Fix. leave verification on

Gates applied: no_behavioural_pass.

Audited 2026-10-10 · audit v0.4.1 · source sha f6fea298bc9bfull audit observations/trust-audit/mcp-server/usk6666__yorishiro-proxy.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-10f6fea298bc9bBLOCKD62first audit
06

Questions

What is the yorishiro-proxy MCP server?

AI-native MITM proxy — MCP server for traffic interception, recording & replay

What tools does yorishiro-proxy expose?

26 in total: 25 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is yorishiro-proxy safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (62/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.

What credentials does yorishiro-proxy need?

No credential environment variables were found in its source, so it appears to need none.

How does yorishiro-proxy run?

It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as yorishiro-proxy-webui at 0.0.0.

How current is this page?

The grade is for one exact copy of the source (f6fea298bc9b), read on 2026-10-10. The repository is watched and re-audited when it changes.

Advertisement