Manifest-driven 21-stage agent pipeline for Python — 5 LLM backends (Anthropic / OpenAI / Google / vLLM / Claude Code CLI), tools, skills, memory, sandboxed CLI runs, MCP. The engine behind Geny. Apache-2.0.
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution ×3 in CocoRoF/geny-executor
- HIGH code analysis flagged dynamic code execution in CocoRoF/geny-executor
- HIGH code analysis flagged dynamic code execution in CocoRoF/geny-executor
- HIGH code analysis flagged dynamic code execution in CocoRoF/geny-executor
- HIGH code analysis flagged dynamic code execution in CocoRoF/geny-executor
transport streamable-http 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 0dcfbcf · analyzer v28 · 2d ago
skills & prompt files 10
- skill CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/bundled/batch/SKILL.md
- skill CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/bundled/debug/SKILL.md
- skill CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/bundled/environment/SKILL.md
- skill CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/bundled/loop/SKILL.md
- skill CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/bundled/lorem-ipsum/SKILL.md
- skill CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/bundled/simplify/SKILL.md
- skill CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/bundled/skillify/SKILL.md
- skill CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/bundled/stuck/SKILL.md
- skill CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/bundled/tool-builder/SKILL.md
- skill CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/bundled/verify/SKILL.md
danger signals8
- dynamic code execution eval()/exec() CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/adhoc.py :401
exec(compile(config.code, "<adhoc>", "exec"), restricted_globals) - dynamic code execution eval()/exec() CocoRoF-geny-executor-0dcfbcf/tests/unit/test_phase2_agent_loop.py :64
result = eval(input["expression"]) # noqa: S307 - dynamic code execution eval()/exec() CocoRoF-geny-executor-0dcfbcf/tests/unit/test_phase6_integration.py :64
result = eval(input["expression"]) # Safe in test context - suspicious endpoint api.telegram.org CocoRoF-geny-executor-0dcfbcf/src/geny_executor/channels/built_in.py :159
f"https://api.telegram.org/bot{self._token}/sendMessage", json=body - suspicious endpoint api.telegram.org CocoRoF-geny-executor-0dcfbcf/src/geny_executor/gateway/telegram.py :23
_API = "https://api.telegram.org" - suspicious endpoint api.telegram.org CocoRoF-geny-executor-0dcfbcf/tests/unit/test_builtin_channels.py :59
assert calls["url"] == "https://api.telegram.org/bot123:abc/sendMessage" - suspicious endpoint 169.254.169.254 (cloud metadata) CocoRoF-geny-executor-0dcfbcf/tests/unit/test_phase7_security.py :72
validate_url("http://169.254.169.254/latest/meta-data/") - suspicious endpoint 169.254.169.254 (cloud metadata) CocoRoF-geny-executor-0dcfbcf/tests/unit/test_security_hardening.py :14
"http://169.254.169.254/latest/meta-data/", # cloud metadata
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 756
filesystem 48
- fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/channels/user_file_channel.py :6
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/core/environment.py :17
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/core/pipeline.py :344
with open(host_config, "r", encoding="utf-8") as fh: - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/cron/store_impl/file_backed.py :9
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/history/service.py :8
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/hooks/config.py :52
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/hooks/runner.py :53
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/llm_client/_cli_runtime.py :44
import shutil - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/factory.py :71
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/providers/file/index_store.py :20
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/providers/file/layout.py :12
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/providers/file/ltm_store.py :21
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/providers/file/notes_store.py :17
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/providers/file/provider.py :14
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/providers/file/snapshot.py :23
import shutil - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/providers/file/stm_store.py :23
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/providers/sql/connection.py :7
- ``open()`` / ``close()`` — lifecycle - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/providers/sql/provider.py :21
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/permission/loader.py :30
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/session/persistence.py :12
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/settings/loader.py :7
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/bundled_skills.py :20
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/loader.py :42
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/shell_blocks.py :60
import shutil - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/types.py :42
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/watcher.py :48
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/slash_commands/md_template.py :41
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/slash_commands/registry.py :6
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/stages/s01_input/artifact/default/normalizers.py :8
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/stages/s06_api/artifact/default/providers.py :346
with open(path, "w", encoding="utf-8") as f: - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/stages/s10_tool/persistence.py :143
with open(target_path, "w", encoding="utf-8") as fh: - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/stages/s13_task_registry/artifact/default/file_backed_registry.py :27
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/stages/s18_memory/artifact/default/persistence.py :90
os.unlink(tmp_path) - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/stages/s20_persist/artifact/default/persisters.py :8
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/_path_guard.py :8
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/_ssh_store.py :23
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/doc_tools.py :57
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/glob_tool.py :5
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/grep_tool.py :6
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/notebook_edit_tool.py :52
with open(path, "r", encoding="utf-8") as fh: - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/operator_tools.py :6
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/ssh_tools.py :20
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/workspace_tools.py :28
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/worktree_tools.py :18
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/mcp/credentials.py :34
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/mcp/manager.py :20
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/workspace/__init__.py :41
from pathlib import Path - fs CocoRoF-geny-executor-0dcfbcf/src/geny_executor/workspace/types.py :6
from pathlib import Path
shell / exec 1
- shell CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/shell_blocks.py :168
import subprocess
network 19
- net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/channels/built_in.py :66
import httpx - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/gateway/telegram.py :64
import httpx - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/gateway/ws_base.py :117
import httpx - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/llm_client/local_probe.py :88
import httpx # transitive via anthropic>=0.52 - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/llm_client/model_discovery.py :91
import httpx # transitive via anthropic>=0.52 - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/embedding/__init__.py :10
- `voyage` — `voyage-3*` via REST + httpx. - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/embedding/openai_compatible.py :70
tests to stub out HTTP. If `None`, `httpx.AsyncClient` is used - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/embedding/voyage.py :52
tests to stub out HTTP. If `None`, `httpx.AsyncClient` is used. - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/security/__init__.py :11
import socket - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/stages/s01_input/artifact/default/normalizers.py :10
from urllib.parse import unquote, urlparse - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/stages/s11_tool_review/artifact/default/reviewers.py :464
from urllib.parse import urlparse - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/adhoc.py :253
import aiohttp - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/_web_search_backends.py :38
import httpx - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/atlassian_tools.py :35
import httpx - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/google_tools.py :6
conventions: async ``execute``, ``httpx.AsyncClient`` for I/O, and a - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/push_notification_tool.py :7
from urllib import error, request - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/web_fetch_tool.py :40
from urllib.parse import urlparse - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/mcp/manager.py :248
import urllib.parse - net CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/mcp/oauth.py :20
and exchanges the code at ``auth_config.token_url`` via httpx.
secrets 3
- secrets CocoRoF-geny-executor-0dcfbcf/src/geny_executor/llm_client/translators/_cli.py :91
builder read ``os.environ["ANTHROPIC_API_KEY"]`` from the *parent* - secrets CocoRoF-geny-executor-0dcfbcf/src/geny_executor/skills/fork.py :106
key = api_key or os.environ.get("ANTHROPIC_API_KEY", "") - secrets CocoRoF-geny-executor-0dcfbcf/src/geny_executor/tools/built_in/doc_tools.py :112
return env.get("ANTHROPIC_API_KEY") or os.environ.get("ANTHROPIC_API_KEY")
database 2
- db CocoRoF-geny-executor-0dcfbcf/src/geny_executor/history/service.py :6
import sqlite3 - db CocoRoF-geny-executor-0dcfbcf/src/geny_executor/memory/providers/sql/connection.py :37
import sqlite3
declared dependencies 16
- mcp@>=1.0.0
- anthropic@>=0.52.0
- pydantic@>=2.0
- jsonschema@>=4.0
- httpx@>=0.27
- openai@>=1.50.0
- google-genai@>=1.0.0
- qdrant-client@>=1.12.0
- an-web@>=0.9.1; python_version >=
- edit2docs@>=0.13.0
- asyncssh@>=2.14
- pytest@>=8.0
- pytest-asyncio@>=0.24
- pytest-cov@>=5.0
- ruff@>=0.4.0
- mypy@>=1.10