Self-hosted AI Agents Platform supporting Claude Code, Codex, Gemini agents. Apache 2.0.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
tools
-
ask_trinity
-
get_agent_requirements
analyzed commit e38c1c0 · analyzer v33 · 3h ago
skills & prompt files 40
- agent-rules Abilityai-trinity-e38c1c0/AGENTS.md
- agent-rules Abilityai-trinity-e38c1c0/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/dd-bizmodel/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/dd-captable/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/dd-competitor/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/dd-compliance/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/dd-founder/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/dd-intake/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/dd-lead/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/dd-legal/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/dd-market/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/dd-tech/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/dd-traction/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/default/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/demo-analyst/.claude/commands/ask.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/demo-analyst/.claude/commands/briefing.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/demo-analyst/.claude/commands/opportunities.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/demo-analyst/.claude/commands/request-research.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/demo-analyst/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/demo-researcher/.claude/commands/research.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/demo-researcher/.claude/commands/status.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/demo-researcher/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/sage/.claude/commands/analyze.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/sage/.claude/commands/briefing.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/sage/.claude/commands/framework.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/sage/.claude/commands/recommend.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/sage/.claude/commands/request-research.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/sage/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scout/.claude/commands/competitors.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scout/.claude/commands/opportunities.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scout/.claude/commands/research.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scout/.claude/commands/status.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scout/.claude/commands/trends.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scout/CLAUDE.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scribe/.claude/commands/deliverable.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scribe/.claude/commands/proposal.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scribe/.claude/commands/report.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scribe/.claude/commands/status.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scribe/.claude/commands/summary.md
- agent-rules Abilityai-trinity-e38c1c0/config/agent-templates/scribe/CLAUDE.md
danger signals56
- dynamic code execution eval()/exec() Abilityai-trinity-e38c1c0/tests/test_rate_limits.py :77
exec(func_source, ns) - dynamic code execution eval()/exec() Abilityai-trinity-e38c1c0/tests/unit/test_1068_task_timeout_demotion.py :51
exec(compile(module, filename=str(_CHAT_SRC), mode="exec"), ns) # noqa: S102 - dynamic code execution eval()/exec() Abilityai-trinity-e38c1c0/tests/unit/test_1810_1814_version_truth.py :53
exec(snippet, ns) - dynamic code execution __import__ sink Abilityai-trinity-e38c1c0/tests/unit/test_2247_calendar_rot_detector.py :66
"PATH": __import__("os").environ.get("PATH", ""), - dynamic code execution __import__() Abilityai-trinity-e38c1c0/tests/unit/test_2323_machine_identities.py :96
mod = __import__(module_name, fromlist=["router"]) - dynamic code execution eval()/exec() Abilityai-trinity-e38c1c0/tests/unit/test_2380_install_provenance.py :1180
exec(snippet, ns) - dynamic code execution eval()/exec() Abilityai-trinity-e38c1c0/tests/unit/test_2380_provision_single_source.py :322
exec(snippet, ns) - dynamic code execution eval()/exec() Abilityai-trinity-e38c1c0/tests/unit/test_2691_public_url_reachability.py :73
exec(_slice(src, "_ASK_HOSTS = "), ns) - dynamic code execution eval()/exec() Abilityai-trinity-e38c1c0/tests/unit/test_926_version_endpoint.py :47
exec(snippet, ns) - dynamic code execution eval()/exec() Abilityai-trinity-e38c1c0/tests/unit/test_guardrails.py :132
exec(snippet, ns) - dynamic code execution eval()/exec() Abilityai-trinity-e38c1c0/tests/unit/test_session_inflight_sentinel.py :321
exec(compile(ast.Module(body=[fn], type_ignores=[]), "<ast>", "exec"), ns) - suspicious endpoint api.telegram.org Abilityai-trinity-e38c1c0/src/backend/adapters/telegram_adapter.py :35
TELEGRAM_API_BASE = "https://api.telegram.org" - suspicious endpoint api.telegram.org Abilityai-trinity-e38c1c0/src/backend/adapters/transports/telegram_webhook.py :151
url = f"https://api.telegram.org/bot{bot_token}/setWebhook" - suspicious endpoint t.me Abilityai-trinity-e38c1c0/src/backend/routers/telegram.py :121
bot_link=f"https://t.me/{bot_username}" if bot_username else None, - suspicious endpoint api.telegram.org Abilityai-trinity-e38c1c0/src/backend/routers/telegram.py :188
resp = await client.get(f"https://api.telegram.org/bot{bot_token}/getMe") - suspicious endpoint api.telegram.org Abilityai-trinity-e38c1c0/src/backend/services/telegram_media.py :25
TELEGRAM_API_BASE = "https://api.telegram.org" - suspicious endpoint 169.254.169.254 (cloud metadata) Abilityai-trinity-e38c1c0/tests/test_mcp_validator_endpoint.py :159
{"e": {"type": "http", "url": "https://169.254.169.254/"}}, - suspicious endpoint 169.254.169.254 (cloud metadata) Abilityai-trinity-e38c1c0/tests/unit/test_1951_slack_inbound_media.py :166
"https://169.254.169.254/latest/meta-data/", # cloud metadata - suspicious endpoint 1.2.3.4 Abilityai-trinity-e38c1c0/tests/unit/test_2380_install_provenance.py :726
"https://1.2.3.4", - suspicious endpoint 1.2.3.4 Abilityai-trinity-e38c1c0/tests/unit/test_736_a2a_outbound_edges.py :711
client, "GET", "https://1.2.3.4/x", - suspicious endpoint 169.254.169.254 (cloud metadata) Abilityai-trinity-e38c1c0/tests/unit/test_736_a2a_outbound_transport.py :369
return httpx.Response(307, headers={"location": "http://169.254.169.254/"}) - suspicious endpoint 93.184.216.34 Abilityai-trinity-e38c1c0/tests/unit/test_736_a2a_outbound_transport.py :662
assert pinned == "https://93.184.216.34/a2a" - suspicious endpoint 169.254.169.254 (cloud metadata) Abilityai-trinity-e38c1c0/tests/unit/test_ent14_catalog_failopen.py :283
"redirect": lambda r: httpx.Response(302, headers={"location": "http://169.254.169.254/"}), - suspicious endpoint 169.254.169.254 (cloud metadata) Abilityai-trinity-e38c1c0/tests/unit/test_ent14_registry_fetch.py :387
return httpx.Response(status_code, headers={"location": "http://169.254.169.254/"}) - suspicious endpoint 169.254.169.254 (cloud metadata) Abilityai-trinity-e38c1c0/tests/unit/test_ent346_skills_source_injection.py :147
"http://169.254.169.254/latest/meta-data", # SSRF classic - suspicious endpoint 93.184.216.34 Abilityai-trinity-e38c1c0/tests/unit/test_ent399_ipv6_origin.py :113
("https://93.184.216.34/a2a", "https://[::ffff:93.184.216.34]/a2a", - suspicious endpoint 93.184.216.034 Abilityai-trinity-e38c1c0/tests/unit/test_ent399_ipv6_origin.py :129
assert same_origin("https://93.184.216.034/a2a", "https://93.184.216.34/a2a") is False - suspicious endpoint 169.254.169.254 (cloud metadata) Abilityai-trinity-e38c1c0/tests/unit/test_mcp_validator.py :529
cfg = _wrap({"r": {"type": "http", "url": "https://169.254.169.254/latest/meta-data/"}}) - suspicious endpoint 169.254.169.254 (cloud metadata) Abilityai-trinity-e38c1c0/tests/unit/test_ssrf_skills_library.py :100
validate_skills_library_url("https://169.254.169.254/latest/meta-data/") - over-broad OAuth scope https://www.googleapis.com/auth/drive Abilityai-trinity-e38c1c0/src/backend/routers/credentials.py :271
"google": "openid email profile https://www.googleapis.com/auth/drive", - committed secret Slack token Abilityai-trinity-e38c1c0/docs/testing/phases/PHASE_24_CREDENTIAL_MANAGEMENT.md :173
xoxb-s…(21 chars, redacted) - committed secret Google API key Abilityai-trinity-e38c1c0/src/frontend/tests/unit/reportSummary.spec.js :130
AIzaSy…(39 chars, redacted) - committed secret Anthropic key Abilityai-trinity-e38c1c0/tests/test_settings.py :542
sk-ant…(41 chars, redacted) - committed secret GitHub fine-grained PAT Abilityai-trinity-e38c1c0/tests/test_settings.py :826
github…(34 chars, redacted) - committed secret Anthropic key Abilityai-trinity-e38c1c0/tests/test_subscription_auto_switch.py :25
sk-ant…(36 chars, redacted) - committed secret Anthropic key Abilityai-trinity-e38c1c0/tests/test_subscription_usage.py :22
sk-ant…(39 chars, redacted) - committed secret Anthropic key Abilityai-trinity-e38c1c0/tests/test_subscriptions.py :32
sk-ant…(36 chars, redacted) - committed secret Anthropic key Abilityai-trinity-e38c1c0/tests/unit/test_1816_system_agent_adoption.py :1328
sk-ant…(45 chars, redacted) - committed secret Anthropic key Abilityai-trinity-e38c1c0/tests/unit/test_1853_error_telemetry_salvage.py :66
sk-ant…(39 chars, redacted) - committed secret GitHub fine-grained PAT Abilityai-trinity-e38c1c0/tests/unit/test_2007_mcp_template_render.py :396
github…(43 chars, redacted) - committed secret Slack token Abilityai-trinity-e38c1c0/tests/unit/test_267_credential_key_rotation.py :36
xoxb-s…(17 chars, redacted) - committed secret GitHub token Abilityai-trinity-e38c1c0/tests/unit/test_2744_skills_adoption_alert_idempotency.py :78
ghp_AA…(40 chars, redacted) - committed secret Anthropic key Abilityai-trinity-e38c1c0/tests/unit/test_credential_sanitizer_agent.py :57
sk-ant…(43 chars, redacted) - committed secret GitHub fine-grained PAT Abilityai-trinity-e38c1c0/tests/unit/test_credential_sanitizer_agent.py :71
github…(57 chars, redacted) - committed secret GitHub token Abilityai-trinity-e38c1c0/tests/unit/test_credential_sanitizer_agent.py :271
ghp_98…(44 chars, redacted) - committed secret OpenAI key Abilityai-trinity-e38c1c0/tests/unit/test_credential_sanitizer_agent.py :282
sk-222…(33 chars, redacted) - committed secret Anthropic key Abilityai-trinity-e38c1c0/tests/unit/test_credential_sanitizer_backend.py :65
sk-ant…(43 chars, redacted) - committed secret GitHub fine-grained PAT Abilityai-trinity-e38c1c0/tests/unit/test_credential_sanitizer_backend.py :79
github…(57 chars, redacted) - committed secret GitHub token Abilityai-trinity-e38c1c0/tests/unit/test_credential_sanitizer_backend.py :279
ghp_98…(44 chars, redacted) - committed secret OpenAI key Abilityai-trinity-e38c1c0/tests/unit/test_credential_sanitizer_backend.py :290
sk-222…(33 chars, redacted) - committed secret GitHub token Abilityai-trinity-e38c1c0/tests/unit/test_ent125_resilient_system_deploy.py :335
ghp_01…(42 chars, redacted) - committed secret Slack app token Abilityai-trinity-e38c1c0/tests/unit/test_ent435_secret_settings.py :378
xapp-1…(19 chars, redacted) - committed secret Anthropic key Abilityai-trinity-e38c1c0/tests/unit/test_ent457_portal_completion_report.py :274
sk-ant…(37 chars, redacted) - committed secret Anthropic key Abilityai-trinity-e38c1c0/tests/unit/test_error_classifier_dict_body.py :116
sk-ant…(76 chars, redacted) - committed secret Slack token Abilityai-trinity-e38c1c0/tests/unit/test_slack_token_encryption.py :120
xoxb-2…(30 chars, redacted) - committed secret Slack token Abilityai-trinity-e38c1c0/tests/unit/test_slack_workspaces_encryption.py :118
xoxb-a…(23 chars, redacted)
code files: 2032
filesystem 294
- fs Abilityai-trinity-e38c1c0/config/hooks/read-only-guard.py :39
with open(CONFIG_PATH) as f: - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/auto_sync.py :18
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/config.py :5
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/heartbeat.py :23
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/mcp_template.py :52
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/plugins_reinstall.py :63
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/routers/brain_orb.py :14
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/routers/credentials.py :8
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/routers/dashboard.py :7
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/routers/files.py :6
import shutil - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/routers/git.py :9
import shutil - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/routers/info.py :9
from pathlib import Path
show 28 more
- fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/routers/skills.py :9
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/routers/snapshot.py :22
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/_runtime_config.py :28
with open(path) as f: - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/claude_code.py :22
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/codex_runtime.py :45
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/execution_env.py :49
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/gemini_runtime.py :15
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/headless_executor.py :30
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/jsonl_recovery.py :56
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/pull_worker.py :47
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/result_callback.py :33
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/trinity_mcp.py :11
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/utils/credential_sanitizer.py :15
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/utils/orphan_allowlist.py :63
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/utils/orphan_sweep.py :43
from pathlib import Path - fs Abilityai-trinity-e38c1c0/docker/base-image/agent_server/utils/thread_diagnostics.py :6
grandchild's write end open (#1502), inside a catastrophic sanitizer regex - fs Abilityai-trinity-e38c1c0/docker/base-image/hooks/lib.py :33
with open(LOG_PATH, "a") as f: - fs Abilityai-trinity-e38c1c0/docker/base-image/hooks/read-only-guard.py :35
with open(_CONFIG_PATH) as f: - fs Abilityai-trinity-e38c1c0/docker/base-image/hooks/write-runtime-config.py :45
with open(BASELINE_PATH) as f: - fs (weak) Abilityai-trinity-e38c1c0/scripts/ci/check-failure-baseline.py :44
from pathlib import Path - fs (weak) Abilityai-trinity-e38c1c0/scripts/ci/check_alembic_heads.py :73
from pathlib import Path - fs (weak) Abilityai-trinity-e38c1c0/scripts/ci/check_journey_impact.py :18
from pathlib import Path - fs (weak) Abilityai-trinity-e38c1c0/scripts/ci/check_screenshots.py :40
from pathlib import Path - fs (weak) Abilityai-trinity-e38c1c0/scripts/ci/diff-pytest-failures.py :36
from pathlib import Path - fs (weak) Abilityai-trinity-e38c1c0/scripts/ci/generate_journeys_md.py :24
from pathlib import Path - fs (weak) Abilityai-trinity-e38c1c0/scripts/deploy/rotate-credential-key.py :37
from pathlib import Path - fs (weak) Abilityai-trinity-e38c1c0/scripts/dev/audit_headless_tools.py :45
from pathlib import Path - fs (weak) Abilityai-trinity-e38c1c0/scripts/docs/architecture_map.py :29
from pathlib import Path
254 more not shown — this panel samples each group; the count above is the real total.
shell / exec 97
- shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/plugins_reinstall.py :61
import subprocess # noqa: S404 — arg-list only, never shell=True - shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/routers/git.py :11
import subprocess - shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/claude_code.py :17
import subprocess - shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/codex_runtime.py :40
import subprocess - shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/gemini_runtime.py :10
import subprocess - shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/headless_executor.py :23
import subprocess - shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/process_registry.py :11
import subprocess - shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/subprocess_lifecycle.py :15
import subprocess - shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/trinity_mcp.py :9
import subprocess - shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/state.py :5
import subprocess - shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/utils/registered_run.py :28
import subprocess - shell Abilityai-trinity-e38c1c0/docker/base-image/agent_server/utils/subprocess_pgroup.py :32
import subprocess
show 28 more
- shell (weak) Abilityai-trinity-e38c1c0/scripts/ci/check_alembic_parity.py :52
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/scripts/ci/check_journey_impact.py :16
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/scripts/ci/check_screenshots.py :38
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/scripts/dev/audit_headless_tools.py :42
import subprocess - shell Abilityai-trinity-e38c1c0/src/backend/services/skill_service.py :1526
proc = subprocess.run( - shell Abilityai-trinity-e38c1c0/src/backend/services/skill_source_clone.py :43
import subprocess - shell Abilityai-trinity-e38c1c0/src/backend/services/ssh_service.py :540
import subprocess - shell Abilityai-trinity-e38c1c0/src/backend/services/template_service.py :12
import subprocess - shell Abilityai-trinity-e38c1c0/src/cli/trinity_cli/commands/deploy.py :7
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/test_817_subprocess_leak.py :29
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/test_access_control.py :13
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/test_channel_access_control.py :50
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/test_circuit_breaker_reset.py :12
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/test_operator_queue.py :12
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/test_ops_clear_all.py :17
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/test_public_links.py :285
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/test_slack_integration.py :44
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/test_ssh_access.py :33
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/test_watchdog.py :18
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/test_whatsapp_integration.py :21
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/unit/test_1028_settings_package.py :30
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/unit/test_1094_stall_termination_reason.py :27
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/unit/test_1501_hook_sweep_protection.py :33
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/unit/test_1595_git_maintenance.py :25
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/unit/test_1616_ssh.py :27
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/unit/test_1704_plugins_reinstall.py :34
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/unit/test_1898_sys_modules_isolation.py :31
import subprocess - shell (weak) Abilityai-trinity-e38c1c0/tests/unit/test_2036_claude_settings_leak.py :48
import subprocess
57 more not shown — this panel samples each group; the count above is the real total.
network 183
- net Abilityai-trinity-e38c1c0/docker/base-image/agent_server/heartbeat.py :26
import httpx - net Abilityai-trinity-e38c1c0/docker/base-image/agent_server/mcp_validator.py :39
import socket - net Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/pull_worker.py :50
import httpx - net Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/result_callback.py :36
import httpx - net Abilityai-trinity-e38c1c0/docker/base-image/agent_server/utils/helpers.py :35
from urllib.parse import urlparse - net (weak) Abilityai-trinity-e38c1c0/docs/archive/testing/run_integration_test.py :22
import requests - net Abilityai-trinity-e38c1c0/src/backend/adapters/telegram_adapter.py :23
import httpx - net Abilityai-trinity-e38c1c0/src/backend/adapters/transports/telegram_webhook.py :136
import httpx - net Abilityai-trinity-e38c1c0/src/backend/adapters/whatsapp_adapter.py :18
from urllib.parse import urlparse - net Abilityai-trinity-e38c1c0/src/backend/client_portal/router.py :22
import httpx - net Abilityai-trinity-e38c1c0/src/backend/client_portal/service.py :1579
import httpx - net Abilityai-trinity-e38c1c0/src/backend/client_portal/work/pipeline_state.py :39
import httpx
show 28 more
- net Abilityai-trinity-e38c1c0/src/backend/config.py :5
from urllib.parse import urlparse - net Abilityai-trinity-e38c1c0/src/backend/db/schedules/git_config.py :375
keeps hitting removed containers forever — each `httpx.ConnectError` - net Abilityai-trinity-e38c1c0/src/backend/main.py :25
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/a2a.py :39
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/agent_brain_orb.py :21
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/agent_files.py :63
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/chat.py :8
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/credentials.py :14
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/files.py :24
from urllib.parse import quote - net Abilityai-trinity-e38c1c0/src/backend/routers/observability.py :12
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/ops.py :19
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/public.py :12
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/schedules.py :17
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/settings/agent_defaults.py :12
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/settings/credentials.py :12
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/settings/flags.py :12
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/settings/generic.py :17
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/settings/integrations.py :12
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/settings/mcp_url.py :12
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/settings/ops.py :12
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/settings/retention.py :12
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/settings/templates.py :12
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/settings/whitelist.py :12
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/telegram.py :23
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/voip.py :17
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/webhooks.py :22
import httpx - net Abilityai-trinity-e38c1c0/src/backend/routers/whatsapp.py :24
import httpx - net Abilityai-trinity-e38c1c0/src/backend/services/a2a_client.py :69
from urllib.parse import urlsplit, urlunsplit
143 more not shown — this panel samples each group; the count above is the real total.
secrets 44
- secrets Abilityai-trinity-e38c1c0/docker/base-image/agent_server/heartbeat.py :182
mcp_key = os.getenv("TRINITY_MCP_API_KEY") - secrets Abilityai-trinity-e38c1c0/docker/base-image/agent_server/routers/credentials.py :109
os.environ["CLAUDE_CODE_OAUTH_TOKEN"] = request.token - secrets Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/error_classifier.py :146
has_api_key = bool(os.environ.get("ANTHROPIC_API_KEY")) - secrets Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/gemini_runtime.py :193
api_key = os.getenv("GEMINI_API_KEY") - secrets Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/pull_worker.py :173
return bool(os.getenv("TRINITY_BACKEND_URL") and os.getenv("TRINITY_MCP_API_KEY")) - secrets Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/result_callback.py :99
return bool(os.getenv("TRINITY_BACKEND_URL") and os.getenv("TRINITY_MCP_API_KEY")) - secrets Abilityai-trinity-e38c1c0/docker/base-image/agent_server/services/trinity_mcp.py :27
trinity_mcp_api_key = os.getenv("TRINITY_MCP_API_KEY") - secrets (weak) Abilityai-trinity-e38c1c0/docs/archive/testing/run_integration_test.py :30
ADMIN_PASS = os.getenv("ADMIN_PASSWORD", "changeme") - secrets Abilityai-trinity-e38c1c0/src/backend/config.py :68
_secret_key = os.getenv("SECRET_KEY", "") - secrets Abilityai-trinity-e38c1c0/src/backend/database.py :853
admin_password = os.getenv("ADMIN_PASSWORD", "") - secrets Abilityai-trinity-e38c1c0/src/backend/main.py :471
if not os.getenv("AGENT_AUTH_SECRET"): - secrets Abilityai-trinity-e38c1c0/src/backend/routers/credentials.py :621
key = os.getenv("CREDENTIAL_ENCRYPTION_KEY")
show 28 more
- secrets Abilityai-trinity-e38c1c0/src/backend/routers/internal.py :43
return os.getenv("INTERNAL_API_SECRET") or SECRET_KEY - secrets Abilityai-trinity-e38c1c0/src/backend/routers/settings/credentials.py :333
env_key = os.getenv('ANTHROPIC_API_KEY', '') - secrets Abilityai-trinity-e38c1c0/src/backend/routers/settings/provider_keys.py :100
"fallback_configured": bool(os.getenv('RESEND_API_KEY', '')), - secrets Abilityai-trinity-e38c1c0/src/backend/routers/setup.py :152
if not os.getenv("ADMIN_PASSWORD") and os.getenv("ADMIN_PASSWORD_SOURCE") == "unset": - secrets Abilityai-trinity-e38c1c0/src/backend/routers/subscriptions.py :46
key = os.getenv("CREDENTIAL_ENCRYPTION_KEY") - secrets Abilityai-trinity-e38c1c0/src/backend/services/agent_auth.py :51
secret = os.getenv("AGENT_AUTH_SECRET") - secrets Abilityai-trinity-e38c1c0/src/backend/services/event_dispatch_service.py :82
return os.getenv("INTERNAL_API_SECRET") or SECRET_KEY - secrets Abilityai-trinity-e38c1c0/src/backend/services/settings_service.py :362
return os.getenv('ELEVENLABS_API_KEY', '') - secrets Abilityai-trinity-e38c1c0/src/backend/services/subscription_auto_switch.py :989
The agent server mutates its own ``os.environ["CLAUDE_CODE_OAUTH_TOKEN"]``, - secrets Abilityai-trinity-e38c1c0/src/backend/services/subscription_service.py :312
row, then the legacy cleartext row, then ``os.getenv('ANTHROPIC_API_KEY')``. - secrets Abilityai-trinity-e38c1c0/src/cli/trinity_cli/config.py :110
key = os.environ.get("TRINITY_API_KEY") - secrets (weak) Abilityai-trinity-e38c1c0/tests/agent_server/conftest.py :50
if api_config.test_agent_name and os.getenv("AGENT_AUTH_SECRET"): - secrets (weak) Abilityai-trinity-e38c1c0/tests/integration/conftest.py :122
password = os.environ.get("REDIS_BACKEND_PASSWORD") - secrets (weak) Abilityai-trinity-e38c1c0/tests/integration/test_1557_autonomy_inbound.py :106
password = os.environ.get("TRINITY_ADMIN_PASSWORD") or _env_value("ADMIN_PASSWORD") - secrets (weak) Abilityai-trinity-e38c1c0/tests/integration/test_1560_breaker_lifecycle.py :235
password = os.environ.get("TRINITY_ADMIN_PASSWORD") or _env_value("ADMIN_PASSWORD") - secrets (weak) Abilityai-trinity-e38c1c0/tests/security/test_agent_auth_isolation.py :40
if not os.environ.get("AGENT_AUTH_SECRET"): - secrets (weak) Abilityai-trinity-e38c1c0/tests/security/test_redis_network_isolation.py :40
pwd = os.environ.get("REDIS_BACKEND_PASSWORD") - secrets (weak) Abilityai-trinity-e38c1c0/tests/test_github_pat.py :121
if not os.getenv("CREDENTIAL_ENCRYPTION_KEY"): - secrets (weak) Abilityai-trinity-e38c1c0/tests/test_internal.py :25
secret = os.getenv("INTERNAL_API_SECRET", "") - secrets (weak) Abilityai-trinity-e38c1c0/tests/test_ip_rate_limit_fix.py :242
password = os.getenv("TRINITY_TEST_PASSWORD", "password") - secrets (weak) Abilityai-trinity-e38c1c0/tests/test_platform_default_model.py :20
PASSWORD = os.getenv("TRINITY_TEST_PASSWORD", "password") - secrets (weak) Abilityai-trinity-e38c1c0/tests/test_public_chat_history.py :16
password = os.getenv("TRINITY_TEST_PASSWORD", "password") - secrets (weak) Abilityai-trinity-e38c1c0/tests/test_public_links.py :20
password = os.getenv("TRINITY_TEST_PASSWORD", "password") - secrets (weak) Abilityai-trinity-e38c1c0/tests/test_public_user_memory.py :36
password = os.getenv("TRINITY_TEST_PASSWORD", "password") - secrets (weak) Abilityai-trinity-e38c1c0/tests/test_reset_preserve_state_integration.py :22
TRINITY_TEST_TOKEN = os.environ.get("TRINITY_TEST_TOKEN") - secrets (weak) Abilityai-trinity-e38c1c0/tests/test_slack_integration.py :30
password = os.getenv("TRINITY_TEST_PASSWORD", "password") - secrets (weak) Abilityai-trinity-e38c1c0/tests/testing_utils/api_client.py :32
password=os.getenv("TRINITY_TEST_PASSWORD", "password"), - secrets (weak) Abilityai-trinity-e38c1c0/tests/unit/test_1775_no_import_time_env_mutation.py :232
' os.environ["REDIS_PASSWORD"] = "test"\n'
4 more not shown — this panel samples each group; the count above is the real total.
database 277
- db (weak) Abilityai-trinity-e38c1c0/scripts/deploy/rotate-credential-key.py :43
from sqlalchemy import text # noqa: E402 - db (weak) Abilityai-trinity-e38c1c0/scripts/management/migrate_prefixes_to_tags.py :18
import sqlite3 - db Abilityai-trinity-e38c1c0/src/backend/adapters/transports/twilio_media_stream.py :57
import redis.asyncio as aioredis - db Abilityai-trinity-e38c1c0/src/backend/canary/snapshot.py :479
from sqlalchemy import func, select - db Abilityai-trinity-e38c1c0/src/backend/client_portal/db.py :14
from sqlalchemy import select, func, and_, or_, text, bindparam - db Abilityai-trinity-e38c1c0/src/backend/client_portal/service.py :37
from sqlalchemy.exc import IntegrityError - db Abilityai-trinity-e38c1c0/src/backend/database.py :512
from sqlalchemy import func, select - db Abilityai-trinity-e38c1c0/src/backend/db/access_requests.py :19
from sqlalchemy import select, update, delete, func - db Abilityai-trinity-e38c1c0/src/backend/db/activities.py :17
from sqlalchemy import select, insert, update, and_, case - db Abilityai-trinity-e38c1c0/src/backend/db/agent_cleanup.py :336
from sqlalchemy import inspect as sa_inspect - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/a2a_exposure.py :14
from sqlalchemy import and_, func, select, update - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/access_policy.py :10
from sqlalchemy import select, update, and_, func
show 28 more
- db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/autonomy.py :9
from sqlalchemy import select, update, func - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/avatar.py :9
from sqlalchemy import select, update - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/display_label.py :21
from sqlalchemy import and_, select, update - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/ephemeral.py :24
from sqlalchemy import and_, case, delete, func, or_, select, update - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/file_sharing.py :13
from sqlalchemy import select, update, func, and_ - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/git_pat.py :11
from sqlalchemy import select, update - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/mcp_exposure.py :19
from sqlalchemy import select, update, func, and_ - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/metadata.py :9
from sqlalchemy import select, update, text - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/operator_resume.py :24
from sqlalchemy import and_, func, select, update - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/resources.py :14
from sqlalchemy import select, update, func - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/security.py :14
from sqlalchemy import select, update, and_, func - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/sharing.py :10
from sqlalchemy import select, insert, update, delete, and_, func - db Abilityai-trinity-e38c1c0/src/backend/db/agent_settings/tts.py :17
from sqlalchemy import select, update, func, and_ - db Abilityai-trinity-e38c1c0/src/backend/db/agent_shared_files.py :28
from sqlalchemy import select, insert, update, delete, func, or_, and_ - db Abilityai-trinity-e38c1c0/src/backend/db/agents.py :18
from sqlalchemy import select, insert, update, delete, func, and_, or_ - db Abilityai-trinity-e38c1c0/src/backend/db/alembic_runner.py :27
from sqlalchemy import inspect, text - db Abilityai-trinity-e38c1c0/src/backend/db/audit.py :20
from sqlalchemy import select, insert, func, and_, text - db Abilityai-trinity-e38c1c0/src/backend/db/backup_primitives.py :44
import sqlite3 - db Abilityai-trinity-e38c1c0/src/backend/db/canary.py :19
from sqlalchemy import select, insert, func, and_ - db Abilityai-trinity-e38c1c0/src/backend/db/canvas.py :20
from sqlalchemy import and_, delete, func, insert, select, update - db Abilityai-trinity-e38c1c0/src/backend/db/canvas_shares.py :24
from sqlalchemy import and_, select, update - db Abilityai-trinity-e38c1c0/src/backend/db/chat.py :16
from sqlalchemy import select, insert, update, delete, and_ - db Abilityai-trinity-e38c1c0/src/backend/db/compatibility.py :24
from sqlalchemy import select, insert, update, func, and_ - db Abilityai-trinity-e38c1c0/src/backend/db/connection.py :8
import sqlite3 - db Abilityai-trinity-e38c1c0/src/backend/db/connector.py :19
from sqlalchemy import select, insert, update, delete - db Abilityai-trinity-e38c1c0/src/backend/db/dashboard_history.py :15
from sqlalchemy import select, insert, delete - db Abilityai-trinity-e38c1c0/src/backend/db/email_auth.py :20
from sqlalchemy import select, insert, update, delete, func, and_, cast, Text - db Abilityai-trinity-e38c1c0/src/backend/db/engine.py :23
from sqlalchemy import create_engine
237 more not shown — this panel samples each group; the count above is the real total.
tool registrations 2
- ask_trinity Abilityai-trinity-e38c1c0/src/helper-mcp/src/server.ts :19
- get_agent_requirements Abilityai-trinity-e38c1c0/src/helper-mcp/src/server.ts :53
declared dependencies 13
- APScheduler@==3.11.0
- croniter@>=2.0.1
- httpx@>=0.27.0
- aiohttp@>=3.9.0
- redis@>=5.0.0
- pytz@>=2024.1
- tzdata@>=2024.1
- psycopg2-binary@>=2.9.0
- pytest@>=8.0.0
- pytest-asyncio@>=0.23.0
- pytest-cov@>=4.1.0
- pytest-mock@>=3.12.0
show 1 more
- typing-extensions@>=4.9.0
perm:untrusted 1
- untrusted (weak) Abilityai-trinity-e38c1c0/docs/archive/testing/run_integration_test.py :117
agents = requests.get(f"{BASE_URL}/api/agents", headers=headers).json()
transport_posture 7
- network-listening, binds all interfaces, no auth detected Abilityai-trinity-e38c1c0/docker/base-image/agent_server/main.py :151
host="0.0.0.0", - binds all interfaces (0.0.0.0) Abilityai-trinity-e38c1c0/src/backend/main.py :1860
uvicorn.run(app, host="0.0.0.0", port=8000) - punycode (IDN homograph) host in endpoint Abilityai-trinity-e38c1c0/tests/unit/test_2691_public_url_reachability.py :126
ask = _load_ask_gate("https://xn--mnchen-3ya.example.com") - punycode (IDN homograph) host in endpoint Abilityai-trinity-e38c1c0/tests/unit/test_736_a2a_outbound_transport.py :754
"https://xn--e1afmkfd.com/a2a", "https://пример.com/a2a" - punycode (IDN homograph) host in endpoint Abilityai-trinity-e38c1c0/tests/unit/test_ent127_setup_url.py :49
got = describe_setup_url("https://xn--pple-43d.com/") - punycode (IDN homograph) host in endpoint Abilityai-trinity-e38c1c0/tests/unit/test_ent399_ipv6_origin.py :162
"https://xn--bcher-kva.example.com/a2a") is True - punycode (IDN homograph) host in endpoint Abilityai-trinity-e38c1c0/tests/unit/test_whatsapp_adapter.py :205
assert not _is_twilio_media_url("https://xn--mms-twiliocdn.com/x")