github Python analyzed be9a863

sandraschi/copy-fail-mcp

github

CVE-2026-31431 Copy Fail — Linux kernel LPE tester via MCP

maintainer
sandraschi
licence
MIT
first seen
2026-08-03
last seen
2026-09-06
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 8 tools
transport stdio counts 8 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • cf_apply_mitigation
  • cf_assess
  • cf_check_target
  • cf_detect_local_wsl
  • cf_exploit_local
  • cf_get_exploit_script
  • cf_run_exploit
  • cf_scan_network
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit be9a863 · analyzer v33 · 1d ago

danger signals1

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 44

filesystem 7

  • fs sandraschi-copy-fail-mcp-be9a863/.tmp_diag.py :9 with open(path, "rb") as f:
  • fs (weak) sandraschi-copy-fail-mcp-be9a863/scripts/build_payload.py :97 self._fd = os.open(self.path, os.O_RDONLY)
  • fs (weak) sandraschi-copy-fail-mcp-be9a863/scripts/cua-smoke.py :47 with open(p) as f:
  • fs (weak) sandraschi-copy-fail-mcp-be9a863/scripts/cua-webapp-test.py :33 from pathlib import Path
  • fs sandraschi-copy-fail-mcp-be9a863/src/copy_fail_mcp/server.py :85 with open(target_path, "w") as f:
  • fs sandraschi-copy-fail-mcp-be9a863/src/copy_fail_mcp/ssh_client.py :167 async with sftp.open(remote_path, "w") as f:
  • fs (weak) sandraschi-copy-fail-mcp-be9a863/tests/test_basic.py :366 with open(path, encoding="utf-8") as f:

shell / exec 2

  • shell (weak) sandraschi-copy-fail-mcp-be9a863/scripts/cua-smoke.py :31 import subprocess
  • shell (weak) sandraschi-copy-fail-mcp-be9a863/scripts/cua-webapp-test.py :27 import subprocess

network 4

  • net (weak) sandraschi-copy-fail-mcp-be9a863/scripts/build_payload.py :7 import socket
  • net (weak) sandraschi-copy-fail-mcp-be9a863/scripts/cua-smoke.py :34 import urllib.error
  • net (weak) sandraschi-copy-fail-mcp-be9a863/scripts/cua-webapp-test.py :30 import urllib.error
  • net sandraschi-copy-fail-mcp-be9a863/src/copy_fail_mcp/server.py :159 import socket

tool registrations 8

  • cf_get_exploit_script sandraschi-copy-fail-mcp-be9a863/src/copy_fail_mcp/server.py :32
  • cf_exploit_local sandraschi-copy-fail-mcp-be9a863/src/copy_fail_mcp/server.py :65
  • cf_detect_local_wsl sandraschi-copy-fail-mcp-be9a863/src/copy_fail_mcp/server.py :106
  • cf_scan_network sandraschi-copy-fail-mcp-be9a863/src/copy_fail_mcp/server.py :182
  • cf_check_target sandraschi-copy-fail-mcp-be9a863/src/copy_fail_mcp/server.py :265
  • cf_run_exploit sandraschi-copy-fail-mcp-be9a863/src/copy_fail_mcp/server.py :314
  • cf_apply_mitigation sandraschi-copy-fail-mcp-be9a863/src/copy_fail_mcp/server.py :371
  • cf_assess sandraschi-copy-fail-mcp-be9a863/src/copy_fail_mcp/server.py :421

declared dependencies 14

  • fastmcp@>=3.4.4,<4
  • asyncssh@>=2.15.0,<3.0.0
  • click@>=8.0.0,<9.0.0
  • rich@>=13.0.0,<14.0.0
  • ruff@>=0.16.0,<0.17
  • pytest@>=7.0.0,<9.0.0
  • pytest-asyncio@>=0.20.0,<1.0.0
  • tauri-build@2
  • tauri@2
  • tauri-plugin-shell@2
  • tauri-plugin-fs@2
  • tauri-plugin-process@2
show 2 more
  • serde@1
  • serde_json@1