https://github.com/AkynZH/pash-mcp-server
pash-mcp-server
Risky
Score 39 / 100 · 45 files read · 0 critical, 1 high, 12 medium, 5 low findings
Report 054c8690423b7fde · first scanned 2026-10-28 · scanned 3× · keyed to the exact package contents, so this link always shows this version
Listed in the Agent Census directory data
Subscores
100 is clean. Deductions come only from the cited findings below.
Findings
highThis package both touches credential material and sends data over the network (in different files) — review the flow before installing
(package) · line 1 · rule H1
mediumCode contacts static.modelcontextprotocol.io, which the documentation never mentions
(package) · line 1 · rule M3
static.modelcontextprotocol.io
mediumCan run shell commands from code
clean_ports.py · line 27 · rule M1
y: result = subprocess.run( ['taskkill', '/F', '/PID', str(pid)], capture_output=True,
mediumCan run shell commands from code
scripts/run_demo_benchmarks.py · line 21 · rule M1
process = subprocess.Popen( [sys.executable, str(SERVER_SCRIPT)], stdin=subprocess.PIPE, stdout=
mediumCan run shell commands from code
scripts/test_autonomy.py · line 41 · rule M1
ass""" result = subprocess.run( [sys.executable, "-m", "pytest", "tests/", "-v"], cwd=Path(__file__).parent.pa
mediumEnumerates the full process environment (all variables, not one named key)
scripts/test_odysseus_connection.py · line 27 · rule M2
OT), env={**dict(os.environ), "PYTHONPATH": str(PROJECT_ROOT)} ) try: # 1. Отправляем MCP Initialize запр
mediumCan run shell commands from code
scripts/test_odysseus_connection.py · line 20 · rule M1
tdio) process = subprocess.Popen( [sys.executable, str(SERVER_SCRIPT)], stdin=subprocess.PIPE, stdout=
mediumCan run shell commands from code
server.py · line 32 · rule M1
в: { manifest_name: subprocess.Popen } active_processes = {} def get_or_start_process(manifest: dict): """Возвращает запущен
mediumCan run shell commands from code
src/cognitive_loop.py · line 72 · rule M1
stdin=asyncio.subprocess.PIPE, stdout=asyncio.subprocess.PIPE, env={**os.environ, "PYTHONPATH": str(Path(__f
mediumCan run shell commands from code
src/router.py · line 38 · rule M1
, Any]) -> Optional[subprocess.Popen]: """ Запускает MCP-сервер на основе описания в манифесте. Ожидает ключ 'command'
mediumCan run shell commands from code
src/sse_server.py · line 34 · rule M1
t": int, "process": subprocess.Popen, "host": str} self.registry: Dict[str, Dict[str, Any]] = {} self._default_wor
mediumCan run shell commands from code
test_connect.py · line 9 · rule M1
70, 8765, 8769...") subprocess.run([sys.executable, "clean_ports.py"], cwd="D:\\Felix\\projects\\felix-mcp-standalone", stdout=sub
mediumEnumerates the full process environment (all variables, not one named key)
tests/test_standalone_startup.py · line 22 · rule M2
with mock.patch.dict(os.environ, {"MCP_ENGINES_DIR": f"{tmpdir}/engines"}): try: # Импортируем кон
low2 binary file(s) were not parsed (static text analysis only)
(package) · line 1 · rule L3
2 binary files
lowReads named environment variables (normal for API keys; listed in the permission summary)
src/cognitive_loop.py · line 30 · rule L1
nd retry.""" if os.environ.get("MOCK_LLM"): return schema.model_validate_json(os.environ["MOCK_LLM"]) url = "
lowReads named environment variables (normal for API keys; listed in the permission summary)
src/sse_server.py · line 36 · rule L1
default_workspace = os.environ.get("FELIX_WORKSPACE", os.getcwd()) def find_free_port(self) -> int: """Находит свобод
lowReads named environment variables (normal for API keys; listed in the permission summary)
test_cyborg.py · line 36 · rule L1
моки через环境变量 os.environ["MOCK_LLM"] = mock_plan # Это сработает только для первого вызова, но для простоты теста переопреде
lowReads named environment variables (normal for API keys; listed in the permission summary)
tests/test_standalone_startup.py · line 22 · rule L1
ith mock.patch.dict(os.environ, {"MCP_ENGINES_DIR": f"{tmpdir}/engines"}): try: # Импортируем конфигур
Permission surface
- Network endpoints
- example.comgithub.comopenrouter.aistatic.modelcontextprotocol.io
- Environment read
- ARCHITECT_MODELFELIX_WORKSPACEJUDGE_MODELMOCK_LLMOPENROUTER_API_KEY
- Shell execution
- yes — code or scripts can run shell commands
- Install hooks
- none
- Credential material
- Enumerates the full process environment (all variables, not one named key)
Reads named environment variables (normal for API keys; listed in the permission summary)
Provenance
- Source
- GitHub
- Repository
- AkynZH/pash-mcp-server
- Owner
- AkynZH
- Stars
- 1
- Forks
- 0
- Repo created
- 2026-06-11
- Last push
- 2026-07-09
- License
- MIT
Watch this package
Interest list only. We store the address and this report link, nothing else. No mail is sent in v1.
Share this report: https://preflight.orbitaldeskllc.com/r/054c8690423b7fde