Open-source MCP control plane for AI coding agents: mechanical time-locks, evidence-gated proof receipts, red-team remediation, and persistent engineering memory.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio
verified
reported
listed in the official MCP registry 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 b32a4ac · analyzer v33 · 5d ago
skills & prompt files 3
danger signals1
- suspicious endpoint 169.254.169.254 (cloud metadata) REX-codebase-fable-mode-b32a4ac/tests/test_scrapers.py :55
"http://169.254.169.254/latest/meta-data/",
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 97
filesystem 44
- fs REX-codebase-fable-mode-b32a4ac/fable_compressor.py :16
import pathlib - fs REX-codebase-fable-mode-b32a4ac/fable_engine/actions/cas.py :9
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_engine/actions/deliberation.py :13
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_engine/actions/fleet.py :11
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_engine/actions/lifecycle.py :11
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_engine/actions/system3.py :11
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_engine/cas.py :20
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_engine/guards.py :17
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_engine/server.py :16
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_engine/session.py :26
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_engine/test_server.py :27
import shutil - fs REX-codebase-fable-mode-b32a4ac/fable_engine/updater.py :12
from pathlib import Path
show 28 more
- fs REX-codebase-fable-mode-b32a4ac/fable_mode/adapters.py :8
import shutil - fs REX-codebase-fable-mode-b32a4ac/fable_mode/installer.py :7
import shutil - fs REX-codebase-fable-mode-b32a4ac/fable_mode/launcher.py :15
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_mode/manifest.py :8
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_mode/safety.py :5
import shutil - fs REX-codebase-fable-mode-b32a4ac/fable_v2/coder_fleet/diagnostics.py :21
"Path": "from pathlib import Path", - fs REX-codebase-fable-mode-b32a4ac/fable_v2/coder_fleet/red_team_swarm.py :769
with open(output_path, "w", encoding="utf-8") as f: - fs REX-codebase-fable-mode-b32a4ac/fable_v2/coder_fleet/test_harness.py :62
os.remove(temp_path) - fs REX-codebase-fable-mode-b32a4ac/fable_v2/cortical/plasticity_engine.py :14
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_v2/execution_broker.py :21
from pathlib import Path - fs REX-codebase-fable-mode-b32a4ac/fable_v2/proof_engine.py :17
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/run_tests.py :13
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_anti_loop_circuit_breaker.py :2
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_auto_updater.py :16
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_coder_fleet.py :20
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_delegation_compiler.py :2
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_descriptor_boundaries.py :6
import shutil - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_epistemic_evidence_validator.py :3
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_execution_broker.py :10
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_fsm_redteam_evolution.py :13
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_goal_rubric_and_pipeline.py :4
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_hebbian_plasticity.py :4
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_packaging_runtime.py :5
import shutil - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_proof_engine.py :5
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_red_team_swarm.py :20
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_redteam_remediation.py :9
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_registration_transaction.py :8
from pathlib import Path - fs (weak) REX-codebase-fable-mode-b32a4ac/tests/test_server_actions.py :4
from pathlib import Path
4 more not shown — this panel samples each group; the count above is the real total.
shell / exec 13
- shell REX-codebase-fable-mode-b32a4ac/fable_engine/test_server.py :23
import subprocess - shell REX-codebase-fable-mode-b32a4ac/fable_engine/updater.py :14
import subprocess - shell REX-codebase-fable-mode-b32a4ac/fable_mode/adapters.py :11
import subprocess - shell REX-codebase-fable-mode-b32a4ac/fable_mode/launcher.py :10
import subprocess - shell REX-codebase-fable-mode-b32a4ac/fable_v2/coder_fleet/diagnostics.py :38
"subprocess": "import subprocess", - shell REX-codebase-fable-mode-b32a4ac/fable_v2/coder_fleet/receipt_attestor.py :10
import subprocess - shell REX-codebase-fable-mode-b32a4ac/fable_v2/coder_fleet/test_harness.py :9
import subprocess - shell REX-codebase-fable-mode-b32a4ac/fable_v2/execution_broker.py :25
import subprocess - shell (weak) REX-codebase-fable-mode-b32a4ac/run_tests.py :11
import subprocess - shell (weak) REX-codebase-fable-mode-b32a4ac/tests/test_auto_updater.py :18
import subprocess - shell (weak) REX-codebase-fable-mode-b32a4ac/tests/test_execution_broker.py :5
import subprocess - shell (weak) REX-codebase-fable-mode-b32a4ac/tests/test_packaging_runtime.py :4
import subprocess
show 1 more
- shell (weak) REX-codebase-fable-mode-b32a4ac/tests/test_server_protocol.py :4
import subprocess
network 9
- net REX-codebase-fable-mode-b32a4ac/fable_engine/scrapers/arxiv.py :8
import urllib.parse - net REX-codebase-fable-mode-b32a4ac/fable_engine/scrapers/base.py :16
import socket - net REX-codebase-fable-mode-b32a4ac/fable_engine/scrapers/github.py :9
import urllib.parse - net REX-codebase-fable-mode-b32a4ac/fable_engine/scrapers/reddit.py :8
import urllib.parse - net REX-codebase-fable-mode-b32a4ac/fable_engine/scrapers/web.py :8
import urllib.parse - net REX-codebase-fable-mode-b32a4ac/fable_engine/scrapers/x.py :10
import urllib.parse - net REX-codebase-fable-mode-b32a4ac/fable_engine/scrapers/youtube.py :10
import urllib.parse - net REX-codebase-fable-mode-b32a4ac/fable_v2/execution_broker.py :691
import socket - net (weak) REX-codebase-fable-mode-b32a4ac/tests/test_scrapers.py :9
import urllib.error
secrets 2
- secrets REX-codebase-fable-mode-b32a4ac/fable_engine/test_server.py :271
os.environ["FABLE_FORCE_UNLOCK_TOKEN"] = "test-secret" - secrets (weak) REX-codebase-fable-mode-b32a4ac/tests/test_registration_transaction.py :203
"secret": os.environ.get("FABLE_TEST_SECRET"),