DB-first control plane for multi-agent systems and MCP servers
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution in ishrath99/gargantua
transport stdio · streamable-http counts 63 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
apiinfo_version
-
configuration_export
-
configuration_import
-
discoveryrule_get
-
event_acknowledge
-
event_get
-
find_sql_text
-
get_database
-
get_database_permissions
-
get_database_permissions_detail
-
get_database_tab_health
-
get_downward_trends
-
get_index_advices
-
get_index_recommendations
-
get_metric_data
-
get_server_info
-
get_sql_advices
-
get_sql_stats
-
get_top_instances
-
get_tuning_dates
-
get_upward_trends
-
get_user_info
-
graph_get
-
history_get
-
host_create
-
host_delete
-
host_get
-
host_update
-
hostgroup_create
-
hostgroup_delete
-
hostgroup_get
-
hostgroup_update
-
item_create
-
item_delete
-
item_get
-
item_update
-
itemprototype_get
-
list_databases
-
list_metric_categories
-
list_sql_stat_types
-
maintenance_create
-
maintenance_delete
-
maintenance_get
-
maintenance_update
-
problem_get
-
proxy_create
-
proxy_delete
-
proxy_get
-
proxy_update
-
template_create
-
template_delete
-
template_get
-
template_update
-
trend_get
-
trigger_create
-
trigger_delete
-
trigger_get
-
trigger_update
-
user_create
-
user_delete
-
user_get
-
user_update
-
usermacro_get
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 46d8369 · analyzer v28 · 2h ago
danger signals1
- dynamic code execution __import__ sink ishrath99-gargantua-46d8369/tests/test_observability.py :38
assert "PHOENIX_COLLECTOR_ENDPOINT" not in __import__("os").environ
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 193
filesystem 4
- fs ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :71
with _opener.open(req, timeout=15) as resp: - fs ishrath99-gargantua-46d8369/src/gargantua/admin.py :25
from pathlib import Path - fs ishrath99-gargantua-46d8369/src/gargantua/settings.py :11
from pathlib import Path - fs ishrath99-gargantua-46d8369/src/gargantua/templates.py :53
from pathlib import Path
network 1
- net ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :8
import urllib.request
secrets 3
- secrets ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :20
DPA_PASS = os.environ.get("DPA_PASSWORD", "") - secrets ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :65
token = os.getenv("ZABBIX_TOKEN") - secrets ishrath99-gargantua-46d8369/src/gargantua/observability.py :62
os.environ["PHOENIX_API_KEY"] = settings.phoenix_api_key
database 20
- db ishrath99-gargantua-46d8369/src/gargantua/api/admin.py :18
from sqlalchemy.ext.asyncio import AsyncSession - db ishrath99-gargantua-46d8369/src/gargantua/api/auth.py :25
from sqlalchemy.ext.asyncio import AsyncSession - db ishrath99-gargantua-46d8369/src/gargantua/api/me.py :24
from sqlalchemy.ext.asyncio import AsyncSession - db ishrath99-gargantua-46d8369/src/gargantua/api/runs.py :77
from sqlalchemy import select - db ishrath99-gargantua-46d8369/src/gargantua/bootstrap.py :19
from sqlalchemy import func, select - db ishrath99-gargantua-46d8369/src/gargantua/cli_admin.py :28
from sqlalchemy import create_engine - db ishrath99-gargantua-46d8369/src/gargantua/db/base.py :15
from sqlalchemy import MetaData - db ishrath99-gargantua-46d8369/src/gargantua/db/migrations/env.py :16
from sqlalchemy import engine_from_config, pool - db ishrath99-gargantua-46d8369/src/gargantua/db/migrations/versions/0001_initial_schema.py :15
import sqlalchemy as sa - db ishrath99-gargantua-46d8369/src/gargantua/db/migrations/versions/0002_user_is_active.py :21
import sqlalchemy as sa - db ishrath99-gargantua-46d8369/src/gargantua/db/models.py :23
from sqlalchemy import ( - db ishrath99-gargantua-46d8369/src/gargantua/db/session.py :22
from sqlalchemy.ext.asyncio import ( - db ishrath99-gargantua-46d8369/src/gargantua/repo/agents.py :37
from sqlalchemy import func, or_, select - db ishrath99-gargantua-46d8369/src/gargantua/repo/audit.py :31
from sqlalchemy import desc, func, select - db ishrath99-gargantua-46d8369/src/gargantua/repo/mcp_child_resources.py :33
from sqlalchemy import func, or_, select - db ishrath99-gargantua-46d8369/src/gargantua/repo/mcp_server_types.py :27
from sqlalchemy import func, or_, select - db ishrath99-gargantua-46d8369/src/gargantua/repo/mcp_servers.py :33
from sqlalchemy import func, or_, select - db ishrath99-gargantua-46d8369/src/gargantua/repo/teams.py :36
from sqlalchemy import func, or_, select - db ishrath99-gargantua-46d8369/src/gargantua/repo/users.py :27
from sqlalchemy import func, select - db ishrath99-gargantua-46d8369/src/gargantua/rotation.py :31
from sqlalchemy import select, update
tool registrations 63
- get_server_info ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :185
- get_user_info ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :194
- get_database_permissions ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :203
- list_databases ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :212
- get_database ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :222
- get_top_instances ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :233
- get_upward_trends ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :243
- get_downward_trends ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :252
- get_database_tab_health ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :261
- get_database_permissions_detail ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :274
- list_metric_categories ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :286
- get_metric_data ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :299
- get_tuning_dates ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :320
- get_sql_advices ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :333
- get_index_recommendations ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :348
- list_sql_stat_types ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :362
- find_sql_text ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :375
- get_sql_stats ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :421
- get_index_advices ishrath99-gargantua-46d8369/mcp-servers/dpa/server.py :448
- host_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :114
- host_create ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :156
- host_update ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :193
- host_delete ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :223
- hostgroup_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :241
- hostgroup_create ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :271
- hostgroup_update ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :288
- hostgroup_delete ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :306
- item_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :324
- item_create ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :370
- item_update ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :411
- item_delete ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :445
- trigger_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :463
- trigger_create ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :509
- trigger_update ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :542
- trigger_delete ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :576
- template_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :594
- template_create ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :632
- template_update ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :663
- template_delete ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :693
- problem_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :711
- event_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :766
- event_acknowledge ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :812
- history_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :841
- trend_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :882
- user_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :912
- user_create ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :942
- user_update ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :979
- user_delete ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1013
- proxy_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1031
- proxy_create ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1065
- proxy_update ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1099
- proxy_delete ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1138
- maintenance_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1156
- maintenance_create ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1186
- maintenance_update ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1228
- maintenance_delete ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1262
- graph_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1280
- discoveryrule_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1319
- itemprototype_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1358
- configuration_export ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1397
- configuration_import ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1419
- usermacro_get ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1446
- apiinfo_version ishrath99-gargantua-46d8369/mcp-servers/zabbix/server.py :1481
declared dependencies 14
- mcp@>=1.20.0
- agno@==2.6.7
- openai@>=1.0.0
- google-genai@>=1.49.0
- groq@>=0.13.0
- anthropic@>=0.39.0
- fastapi@>=0.120.3
- pytest@>=8.0
- pytest-asyncio@>=0.24
- pytest-cov@>=5.0
- httpx@>=0.27
- ruff@>=0.7
- mypy@>=1.11
- types-PyYAML@>=6.0