AI agent interaction security framework and MCP Tool Gateway — declared trust boundaries, signed two-key approvals, runtime reconciliation
Drift inferred · capture-to-capture
- HIGH code analysis flagged committed secret in jjongkwann/agent-interlock
transport stdio counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 4c3d090 · analyzer v28 · 1d ago
danger signals3
- suspicious endpoint 169.254.169.254 (cloud metadata) jjongkwann-agent-interlock-4c3d090/tests/test_l1_matrix.py :431
server.metadata_redirect_location = "http://169.254.169.254/latest/meta-data" - suspicious endpoint 169.254.169.254 (cloud metadata) jjongkwann-agent-interlock-4c3d090/tests/test_mcp_oauth.py :146
("https://169.254.169.254/latest/meta-data", frozenset({"169.254.169.254"})), - committed secret Stripe live key jjongkwann-agent-interlock-4c3d090/tests/l1_harness.py :61
sk_liv…(31 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 112
filesystem 8
- fs jjongkwann-agent-interlock-4c3d090/src/agent_interlock/__main__.py :11
from pathlib import Path - fs jjongkwann-agent-interlock-4c3d090/src/agent_interlock/audit_sink.py :21
from pathlib import Path - fs jjongkwann-agent-interlock-4c3d090/src/agent_interlock/mcp_http.py :397
return self._opener.open(request, timeout=self.config.timeout_seconds) - fs jjongkwann-agent-interlock-4c3d090/src/agent_interlock/mcp_jwt.py :117
response = self._opener.open(request, timeout=self.profile.timeout_seconds) - fs jjongkwann-agent-interlock-4c3d090/src/agent_interlock/mcp_oauth.py :379
response = self._opener.open(request, timeout=self.profile.timeout_seconds) - fs jjongkwann-agent-interlock-4c3d090/src/agent_interlock/mcp_stdio.py :19
from pathlib import Path - fs jjongkwann-agent-interlock-4c3d090/src/agent_interlock/postgres_ops.py :17
from pathlib import Path - fs jjongkwann-agent-interlock-4c3d090/src/agent_interlock/studio_deploy.py :17
from pathlib import Path
shell / exec 2
- shell jjongkwann-agent-interlock-4c3d090/src/agent_interlock/mcp_stdio.py :14
import subprocess - shell jjongkwann-agent-interlock-4c3d090/src/agent_interlock/studio_deploy.py :14
import subprocess
network 9
- net jjongkwann-agent-interlock-4c3d090/src/agent_interlock/a2a_http.py :12
from urllib.parse import urlsplit - net jjongkwann-agent-interlock-4c3d090/src/agent_interlock/control_plane.py :26
from urllib.parse import urlsplit - net jjongkwann-agent-interlock-4c3d090/src/agent_interlock/egress.py :13
import socket - net jjongkwann-agent-interlock-4c3d090/src/agent_interlock/ledger_http.py :13
from urllib.parse import parse_qs, unquote, urlsplit - net jjongkwann-agent-interlock-4c3d090/src/agent_interlock/mcp_http.py :14
from urllib.error import HTTPError, URLError - net jjongkwann-agent-interlock-4c3d090/src/agent_interlock/mcp_jwt.py :22
from urllib.error import HTTPError, URLError - net jjongkwann-agent-interlock-4c3d090/src/agent_interlock/mcp_oauth.py :16
import socket - net jjongkwann-agent-interlock-4c3d090/src/agent_interlock/security.py :7
import socket - net jjongkwann-agent-interlock-4c3d090/src/agent_interlock/supply_chain.py :15
from urllib.parse import urlsplit
declared dependencies 1
- cryptography@>=42,<47