github Python analyzed 41fbae5 unconfirmed MCP

weihuaguo270-ops/react-agent

github

Agent 业务执行底座:受控工具调用、多应用 HTTP、可审计轨迹与回归闭环

maintainer
weihuaguo270-ops
license
MIT
first seen
2026-07-12
last seen
2026-08-16
releases · 30d
7
short id

Drift inferred · capture-to-capture

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

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

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 41fbae5 · analyzer v33 · 2d ago

danger signals3

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

code files: 205

filesystem 81

  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/demo_record_check.py :4 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/demos/demo_context.py :9 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/demos/demo_docs_troubleshoot.py :7 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/demos/demo_expense_workflow.py :14 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/demos/demo_mcp_mock.py :15 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/demos/demo_rag.py :12 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/demos/demo_workflow.py :7 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/demos/run_github_delivery.py :7 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/agent_to_eval.py :51 with open(trajectory_path, "r", encoding="utf-8") as f:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/harness_closed_loop.py :40 with open(path, encoding="utf-8") as f:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/publish_eval_snapshot.py :19 import shutil
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_daily_smoke.py :19 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_deploy_smoke.py :12 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_docs_troubleshoot_eval.py :8 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_execution_http_smoke.py :11 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_execution_suite.py :16 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_expense_business_eval.py :8 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_failure_flywheel.py :18 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_fault_eval.py :7 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_flywheel_closed_loop.py :16 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_git_docs_eval.py :6 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_github_business_tasks.py :8 import shutil
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_github_portfolio_dataset.py :10 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_http_reliability.py :12 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_production_eval.py :6 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_public_benchmark.py :22 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_public_rag_benchmark.py :21 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_reliability_harness.py :19 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_reliability_live.py :21 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_step_watcher_evidence.py :9 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/dashboard.py :65 with open(f, "r", encoding="utf-8") as fh:
  • fs weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/eval.py :126 with open(path, "w", encoding="utf-8") as f:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/harness/recorder.py :168 with open(filepath, "w", encoding="utf-8") as f:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/harness/replay.py :55 with open(f, encoding="utf-8") as fh:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/harness/sandbox.py :206 with open(_RUNNER_PATH, "w", encoding="utf-8") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/llm.py :27 with open(CONFIG_FILE, encoding="utf-8") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/memory.py :52 with open(self.save_path, "r", encoding="utf-8") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/rag.py :39 with open(_RAG_INDEX_PATH, encoding="utf-8") as f:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/fixtures/docs_troubleshoot/mcp_trace_server.py :7 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/react_cli.py :146 with open(path) as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/docs_troubleshoot/eval_fault.py :6 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/docs_troubleshoot/eval_git_docs.py :6 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/docs_troubleshoot/eval_golden.py :14 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/docs_troubleshoot/eval_production.py :6 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/docs_troubleshoot/index.py :7 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/docs_troubleshoot/ingest.py :9 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/docs_troubleshoot/trace_backend.py :8 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/expense/eval_business.py :8 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/expense/offline_answer.py :7 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/github_delivery.py :9 import shutil
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/dashboard/server.py :43 with open(f, encoding='utf-8') as fh:
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/eval/dataset.py :161 with open(filepath, encoding="utf-8") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/eval/execution_scorer.py :49 with open(filepath, encoding="utf-8") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/eval/public_benchmark.py :36 with open(filepath, encoding="utf-8") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/eval/public_rag_benchmark.py :36 with open(filepath, encoding="utf-8") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/eval/report.py :205 with open(filepath, "w", encoding="utf-8") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/eval/runner.py :89 with open(latest_file, encoding="utf-8") as fh:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/src/react_agent/harness/recorder.py :219 with open(filepath, "w", encoding="utf-8") as f:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/src/react_agent/harness/replay.py :36 with open(f, encoding="utf-8") as fh:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/src/react_agent/harness/sandbox.py :13 import shutil
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/src/react_agent/harness/schema.py :38 with open(path, encoding="utf-8") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/llm.py :65 with open(path, encoding="utf-8-sig") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/mcp_config.py :56 with open(path, encoding="utf-8") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/memory.py :17 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/paths.py :6 import shutil
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/rag.py :18 from pathlib import Path
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/react_loop.py :638 with open(config_path, encoding="utf-8") as f:
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/safety/permissions.py :157 ("execute_python", _code_contains("shutil.rmtree"), PermissionLevel.DENY),
  • fs weihuaguo270-ops-react-agent-41fbae5/src/react_agent/tools/execute_python.py :75 os.unlink(tmp_path)
  • fs weihuaguo270-ops-react-agent-41fbae5/test_all.py :211 with open(path, encoding="utf-8") as f:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/tests/_load_eval_script.py :5 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_docs_troubleshoot_p2.py :6 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_eval_engine_contract.py :71 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_github_delivery_workflow.py :3 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_harness_schema.py :24 with open(FIXTURE, encoding="utf-8") as f:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_portable_paths.py :1 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_rag_keyword.py :5 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_sandbox_security.py :7 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_step_watcher_bridge.py :52 with open(path, encoding="utf-8") as f:
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_step_watcher_golden_e2e.py :7 from pathlib import Path
  • fs (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_tdebug_eval_contract.py :6 from pathlib import Path

shell / exec 27

  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/publish_eval_snapshot.py :20 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_daily_smoke.py :16 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_execution_suite.py :13 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_failure_flywheel.py :15 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_flywheel_closed_loop.py :13 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_github_business_tasks.py :9 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_public_benchmark.py :19 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_public_rag_benchmark.py :18 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_reliability_harness.py :15 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_reliability_live.py :18 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_step_watcher_evidence.py :6 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/harness/sandbox.py :16 import subprocess
  • shell weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/mcp.py :15 import subprocess
  • shell weihuaguo270-ops-react-agent-41fbae5/react_cli.py :127 if x == "/clear": os.system("cls" if os.name == "nt" else "clear")
  • shell weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/docs_troubleshoot/ingest.py :7 import subprocess
  • shell weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/github_delivery.py :10 import subprocess
  • shell weihuaguo270-ops-react-agent-41fbae5/src/react_agent/dashboard/kill_old.py :2 import subprocess
  • shell weihuaguo270-ops-react-agent-41fbae5/src/react_agent/dashboard/server.py :3 import subprocess
  • shell weihuaguo270-ops-react-agent-41fbae5/src/react_agent/eval.py :12 import subprocess, sys, re, json, os
  • shell weihuaguo270-ops-react-agent-41fbae5/src/react_agent/eval/runner.py :7 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/src/react_agent/harness/sandbox.py :14 import subprocess
  • shell weihuaguo270-ops-react-agent-41fbae5/src/react_agent/mcp_client.py :17 import subprocess
  • shell weihuaguo270-ops-react-agent-41fbae5/src/react_agent/tools/dashboard.py :3 import subprocess
  • shell weihuaguo270-ops-react-agent-41fbae5/src/react_agent/tools/execute_python.py :15 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_eval_engine_contract.py :70 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_github_delivery_workflow.py :2 import subprocess
  • shell (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_sandbox_security.py :6 import subprocess

network 17

  • net (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_deploy_smoke.py :10 import urllib.error
  • net (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_github_business_tasks.py :11 import urllib.request
  • net (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_github_portfolio_dataset.py :8 import urllib.error
  • net (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_http_reliability.py :10 import urllib.error
  • net weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/rag.py :80 import urllib.request
  • net weihuaguo270-ops-react-agent-41fbae5/experiments/langgraph/graph/tools.py :68 import urllib.request
  • net weihuaguo270-ops-react-agent-41fbae5/src/react_agent/apps/docs_troubleshoot/evidence.py :7 import urllib.error
  • net weihuaguo270-ops-react-agent-41fbae5/src/react_agent/eval/http_execution.py :5 import urllib.error
  • net weihuaguo270-ops-react-agent-41fbae5/src/react_agent/llm.py :31 from urllib import request as req
  • net weihuaguo270-ops-react-agent-41fbae5/src/react_agent/orchestrator.py :6 import json, urllib.request, sys, os
  • net weihuaguo270-ops-react-agent-41fbae5/src/react_agent/react_loop.py :25 from urllib import request as req
  • net weihuaguo270-ops-react-agent-41fbae5/src/react_agent/server/app.py :14 from urllib.parse import urlparse
  • net weihuaguo270-ops-react-agent-41fbae5/src/react_agent/tools/fetch_page.py :4 from urllib import request as req
  • net weihuaguo270-ops-react-agent-41fbae5/src/react_agent/tools/web_search.py :3 from urllib import request as req
  • net (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_execution_http_smoke.py :8 import urllib.error
  • net (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_expense_app.py :33 import urllib.request
  • net (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_server_http.py :8 import urllib.error

secrets 10

  • secrets (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/publish_eval_snapshot.py :135 os.environ.get("DEEPSEEK_API_KEY")
  • secrets (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_daily_smoke.py :208 os.environ.get("DEEPSEEK_API_KEY") or os.environ.get("OPENAI_API_KEY")
  • secrets (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_execution_suite.py :76 if not (os.environ.get("DEEPSEEK_API_KEY") or os.environ.get("OPENAI_API_KEY")):
  • secrets (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_github_business_tasks.py :19 token = os.environ.get("GITHUB_TOKEN") or os.environ.get("GH_TOKEN")
  • secrets (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_public_benchmark.py :83 if not (os.environ.get("DEEPSEEK_API_KEY") or os.environ.get("OPENAI_API_KEY")):
  • secrets (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_public_rag_benchmark.py :101 if not (os.environ.get("DEEPSEEK_API_KEY") or os.environ.get("OPENAI_API_KEY")):
  • secrets (weak) weihuaguo270-ops-react-agent-41fbae5/examples/eval/run_reliability_live.py :407 if not (os.environ.get("DEEPSEEK_API_KEY") or os.environ.get("OPENAI_API_KEY")):
  • secrets (weak) weihuaguo270-ops-react-agent-41fbae5/tests/ci_verify_integration.py :26 if os.environ.get("DEEPSEEK_API_KEY") or os.environ.get("JUDGE_API_KEY"):
  • secrets (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_real_llm.py :20 return bool(os.environ.get("DEEPSEEK_API_KEY"))
  • secrets (weak) weihuaguo270-ops-react-agent-41fbae5/tests/test_sandbox_security.py :71 "print(os.getenv('DEEPSEEK_API_KEY', 'secret-not-inherited'))"

declared dependencies 12

  • numpy@>=1.24,<3
  • scikit-learn@>=1.3,<2
  • sentence-transformers@>=2.2,<4
  • langgraph@>=0.2.28,<0.5
  • langchain-core@>=0.3,<0.4
  • langchain-openai@>=0.2,<0.4
  • pytest@>=9.0.3,<10
  • pytest-cov@>=4.0,<7
  • flake8@>=6.0,<8
  • react-agent@*
  • mypy@>=1.8
  • pip-audit@>=2.6