github Python analyzed 0be6770

dep0we/atomic-agents-stack

github

AI agents that live in your folder, not someone else's database. Vault-native, MIT-licensed. 21 spec docs + Python reference implementation.

maintainer
dep0we
license
MIT
first seen
2026-06-04
last seen
2026-07-28
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged committed secret ×2, dynamic code execution ×3 in dep0we/atomic-agents-stack
  2. HIGH code analysis flagged dynamic code execution ×2 in dep0we/atomic-agents-stack
  3. HIGH code analysis flagged dynamic code execution ×2 in dep0we/atomic-agents-stack
  4. HIGH code analysis flagged dynamic code execution ×2 in dep0we/atomic-agents-stack
  5. HIGH code analysis flagged dynamic code execution ×2 in dep0we/atomic-agents-stack
  6. HIGH code analysis flagged dynamic code execution ×5 in dep0we/atomic-agents-stack
  7. HIGH code analysis flagged dynamic code execution ×5 in dep0we/atomic-agents-stack
  8. HIGH code analysis flagged dynamic code execution ×4 in dep0we/atomic-agents-stack
  9. HIGH code analysis flagged dynamic code execution ×4 in dep0we/atomic-agents-stack
  10. HIGH code analysis flagged dynamic code execution ×4 in dep0we/atomic-agents-stack
  11. HIGH code analysis flagged dynamic code execution ×4 in dep0we/atomic-agents-stack
capabilities 0 tools
transport stdio · http 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 0be6770 · analyzer v28 · 2d ago

skills & prompt files 12

danger signals6

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

code files: 434

filesystem 115

  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_capture.py :23 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_cascade.py :40 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_costs.py :12 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_goal_impl.py :18 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_io.py :14 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_locks.py :37 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_model.py :13 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_platform.py :8 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_roster.py :24 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_schema.py :10 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_tools.py :12 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/_versioning.py :30 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/advisor/recommend.py :62 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/advisor/score.py :46 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/advisor/targets.py :75 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/agent.py :24 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/agent_registry/__init__.py :59 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/agent_registry/filesystem.py :71 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/bundle.py :36 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/cli.py :47 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/conductor/__main__.py :64 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/conductor/playbook.py :76 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/conductor/run.py :80 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/conductor/types.py :31 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/conversation/__init__.py :64 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/conversation/filesystem.py :110 - per-turn file absent between listing and open (TOCTOU) → skip (continue)
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/__init__.py :8 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/__main__.py :6 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/activity.py :17 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/alert_state.py :41 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/attention.py :48 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/costs.py :14 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/goals.py :16 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/memory.py :16 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/quality.py :14 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/render.py :22 import shutil
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/render_agent_detail.py :27 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/render_monitor.py :23 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/serve.py :37 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/delegate.py :17 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/deploy/_exposure.py :22 import shutil
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/deploy/_launchd.py :24 import shutil
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/deploy/_planner.py :46 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/deploy/_ports.py :21 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/doctor.py :72 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/dream.py :49 import shutil
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/eval.py :9 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/exceptions.py :898 and ``open()``) → skip (``continue``)
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/export/filesystem.py :24 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/goal/__init__.py :50 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/goal/coordinator.py :64 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/goal/filesystem.py :77 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/idempotency/__init__.py :50 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/idempotency/backend.py :21 by O_EXCL file creation: the first caller to open(path, O_EXCL) wins FRESH;
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/idempotency/filesystem.py :18 on the lease file. Under concurrent callers, exactly one open() succeeds
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/init/wizard.py :17 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/journal/__init__.py :41 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/journal/filesystem.py :87 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/journal/types.py :50 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/judge/_revise.py :422 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/judge/escalation.py :66 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/judge/mandate_check.py :1163 # flag explicitly; an omitted flag must over-block, never fail-open (#512).
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/judge/rules.py :26 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/judges_md.py :39 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/locks/__init__.py :39 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/locks/backend.py :29 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/locks/filesystem.py :40 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/logs/__init__.py :42 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/logs/filesystem.py :44 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/logs/sqlite.py :71 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/manage/__init__.py :41 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/manage/_routine.py :102 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/manage/apply_rec.py :85 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/manage/govern.py :37 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/manage/set_model.py :102 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/mandate/backend.py :52 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/mandate/filesystem.py :72 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/mandates_md.py :50 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/mcp.py :35 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/mcp_registry/__init__.py :61 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/mcp_registry/filesystem.py :20 import shutil
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/memory/__init__.py :25 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/memory/backend.py :18 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/memory/filesystem.py :27 import shutil
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/memory/pgvector.py :102 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/memory/postgres.py :148 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/migrate.py :58 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/migration/filesystem.py :37 import shutil
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/outcome/__init__.py :62 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/outcome/_outcome_impl.py :13 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/outcome/filesystem.py :54 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/outcome/types.py :24 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/persona/backend.py :36 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/persona/filesystem.py :69 import shutil
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/persona_link_md.py :34 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/policy/backend.py :73 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/policy/filesystem.py :48 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/policy_md.py :79 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/profile/__init__.py :43 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/profile/filesystem.py :51 import shutil
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/profile/sqlite.py :65 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/queue/__init__.py :48 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/queue/filesystem.py :98 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/registry/__init__.py :43 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/registry/filesystem.py :82 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/registry/sqlite.py :76 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/review.py :35 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/secret_backend/filesystem.py :27 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/serve/_app.py :18 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/serve/_config.py :17 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/serve/_runner.py :22 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/serve/_server.py :17 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/skills.py :42 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/tuning.py :13 from pathlib import Path
  • fs dep0we-atomic-agents-stack-0be6770/atomic_agents/types.py :6 from pathlib import Path

shell / exec 3

  • shell dep0we-atomic-agents-stack-0be6770/atomic_agents/deploy/_exposure.py :23 import subprocess
  • shell dep0we-atomic-agents-stack-0be6770/atomic_agents/deploy/_launchd.py :25 import subprocess
  • shell dep0we-atomic-agents-stack-0be6770/atomic_agents/secret_backend/filesystem.py :105 import subprocess

network 17

  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/render.py :23 import urllib.parse
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/render_agent_detail.py :25 import urllib.parse
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/dashboard/serve.py :38 from urllib.parse import urlparse
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/deploy/_ports.py :20 import socket
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/deploy/_verify.py :26 import socket
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/doctor.py :1370 from urllib.parse import urlparse
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/init/constants.py :467 from urllib.parse import urlparse, urlunparse
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/init/wizard.py :1906 import httpx as _httpx_mod
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/locks/redis.py :58 from urllib.parse import urlparse
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/logs/postgres.py :141 from urllib.parse import parse_qsl, urlencode, urlparse
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/logs/sqlite.py :73 from urllib.parse import urlparse
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/mcp_registry/http.py :40 from urllib.parse import urlencode
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/memory/postgres.py :150 from urllib.parse import parse_qsl, unquote, urlencode, urlparse
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/persona/filesystem.py :74 from urllib.parse import parse_qs, urlparse
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/profile/sqlite.py :67 from urllib.parse import urlparse
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/registry/filesystem.py :53 handler modules (e.g., ``requests.post(...)`` at import time) trip
  • net dep0we-atomic-agents-stack-0be6770/atomic_agents/registry/sqlite.py :77 from urllib.parse import parse_qsl, urlparse

secrets 2

  • secrets dep0we-atomic-agents-stack-0be6770/atomic_agents/embedding/registry.py :149 ``api_key=os.environ.get('OPENAI_API_KEY')`` directly would bypass the
  • secrets dep0we-atomic-agents-stack-0be6770/atomic_agents/mcp_registry/http.py :1756 auth_token = os.environ.get("ATOMIC_AGENTS_MCP_SERVER_REGISTRY_AUTH_TOKEN") or None

database 6

  • db dep0we-atomic-agents-stack-0be6770/atomic_agents/judge/mandate_check.py :45 import sqlite3
  • db dep0we-atomic-agents-stack-0be6770/atomic_agents/locks/redis.py :482 import redis as _redis_pkg
  • db dep0we-atomic-agents-stack-0be6770/atomic_agents/logs/sqlite.py :66 import sqlite3
  • db dep0we-atomic-agents-stack-0be6770/atomic_agents/memory/postgres.py :119 (paramstyle='qmark' from sqlite3). Every parameterized statement uses %s.
  • db dep0we-atomic-agents-stack-0be6770/atomic_agents/profile/sqlite.py :61 import sqlite3
  • db dep0we-atomic-agents-stack-0be6770/atomic_agents/registry/sqlite.py :70 import sqlite3

declared dependencies 18

  • mcp@>=1.0.0
  • anthropic@>=0.40
  • opentelemetry-api@>=1.20,<2.0
  • python-frontmatter@>=1.1
  • pyyaml@>=6.0
  • rich@>=13.0
  • openai@>=1.30
  • google-genai@>=1.0
  • jsonschema@>=4.0
  • redis@>=5.0,<9.0
  • pgvector@>=0.3.0
  • httpx@>=0.27
  • starlette@>=1.0.1
  • uvicorn@>=0.20
  • google-cloud-secret-manager@>=2.16
  • opentelemetry-sdk@>=1.20,<2.0
  • opentelemetry-exporter-otlp-proto-http@>=1.20,<2.0
  • pytest@>=8.0

cursor-plugin 2

  • opaque (low) dep0we-atomic-agents-stack-0be6770/.cursor/BUGBOT.md bundled .cursor/ plugin descriptor (dep0we-atomic-agents-stack-0be6770/.cursor/BUGBOT.md) — presence-detected; review the descriptor
  • opaque (low) dep0we-atomic-agents-stack-0be6770/.cursor/rules/memory.mdc bundled .cursor/ plugin descriptor (dep0we-atomic-agents-stack-0be6770/.cursor/rules/memory.mdc) — presence-detected; review the descriptor