github Python analyzed 8afb5a7

ashfulcra/fulcra-tools

github

Long-running AI agents coordinating over their human's own Fulcra account — shared bus, cross-model reviews, session continuity, load balancing. Unofficial, MIT.

maintainer
ashfulcra
licence
MIT
first seen
2026-08-12
last seen
2026-09-11
releases · 30d
2
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution in ashfulcra/fulcra-tools

tool count over time

08-12 12:37 now
2t
0t
capabilities 0 tools
transport 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 8afb5a7 · analyzer v33 · 2d ago

skills & prompt files 28

danger signals2

code evidence vcollect-v0.1.2-macos-arm64 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 1000

filesystem 268

  • fs ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/_snapshot.py :2 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/collect_plugin.py :17 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/notestore.py :19 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/reconcile_checkpoint.py :10 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/report.py :12 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/sync.py :14 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/vaultio.py :88 os.unlink(tmp)
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/tests/helpers/apple_notes_test_helpers.py :12 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/tests/test_notestore.py :4 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/tests/test_render_and_sync.py :7 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/apple-reminders/fulcra_apple_reminders/provider.py :9 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/attention/chrome/icons/_generate.py :18 from pathlib import Path
show 28 more
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/attention/scripts/cleanup_attention_dups.py :79 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/attention/tests/test_cleanup_attention_dups.py :11 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/_resources.py :17 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/cli.py :11 import shutil
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/config.py :17 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/config_leases.py :12 fd = os.open(path, os.O_CREAT | os.O_RDWR, 0o600)
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/control.py :20 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/daemon.py :261 conn = _db.open()
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/db.py :23 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/menubar_launcher.py :31 import shutil
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/quick_record_favorites.py :35 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/routes/plugins.py :9 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/runner.py :26 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/service_manager.py :10 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/state.py :105 conn = db.open()
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/web.py :33 from pathlib import Path
  • fs ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/worker.py :39 conn = db.open()
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/conftest.py :5 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_cli.py :4 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_config.py :6 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_control.py :8 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_daemon.py :4 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_db.py :22 conn = db.open()
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_docs_coverage.py :22 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_doctor.py :13 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_end_to_end.py :5 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_quick_record_favorites.py :17 from pathlib import Path
  • fs (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_registry_manifest.py :4 from pathlib import Path

228 more not shown — this panel samples each group; the count above is the real total.

shell / exec 92

  • shell ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/notestore.py :23 import subprocess
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/vaultio.py :17 import subprocess
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/writeback.py :22 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/tests/test_notestore.py :107 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/tests/test_writeback.py :4 import subprocess
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/apple-reminders/fulcra_apple_reminders/provider.py :7 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/apple-reminders/tests/test_provider.py :4 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/attention/scripts/cleanup_attention_dups.py :71 import subprocess
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/cli.py :322 import subprocess
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/credentials.py :10 import subprocess
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/daemon.py :12 import subprocess
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/menubar_launcher.py :32 import subprocess
show 28 more
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/routes/fulcra_auth.py :86 import subprocess
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/runner.py :9 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_config.py :324 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_db.py :11 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_fulcra_auth_epochs.py :2 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_fulcra_auth_url.py :22 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_fulcra_refresh.py :23 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_menubar_launcher.py :10 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_runner.py :274 import subprocess
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/coord_engine/cli.py :11470 import subprocess as _subprocess
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/coord_engine/transport.py :18 import subprocess
  • shell ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/coord_engine/wake_adapters.py :16 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_adapter_installers.py :21 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_adopt_bootstrap_pointer_fallback.py :7 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_adopt_cascade_preserves_the_client.py :19 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_adopt_claim_dedupe.py :18 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_adopt_fast_path_proves_the_pin.py :36 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_adopt_never_strips_the_store_client.py :29 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_adopt_ver_tracks_pin.py :21 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_adopt_version_floor.py :24 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_docs_install_pin.py :56 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_env_hermeticity.py :28 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_executable_scripts_run.py :32 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_installers.py :16 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_no_team_internals_guard.py :15 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_obligations_engine_absent.py :32 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_records_old_binary.py :14 import subprocess
  • shell (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_records_write.py :657 import subprocess

52 more not shown — this panel samples each group; the count above is the real total.

network 120

  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/tests/test_render_and_sync.py :429 from urllib.parse import urljoin
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/attention/scripts/cleanup_attention_dups.py :74 import urllib.error
  • net ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/cli.py :621 import httpx
  • net ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/control.py :16 import socket
  • net ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/daemon.py :17 import httpx
  • net ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/routes/_deps.py :15 import httpx
  • net ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/routes/definitions.py :47 if isinstance(exc, _web.httpx.HTTPStatusError):
  • net ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/routes/fulcra_auth.py :118 with _web.httpx.Client(timeout=10.0) as client:
  • net ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/routes/plugins.py :10 from urllib.parse import urlsplit
  • net ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/web.py :35 import httpx # noqa: F401 — re-exported for monkeypatching in tests; see module docstring
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/collect_test_helpers.py :19 """Minimal stand-in for ``httpx.Response``: a fixed JSON body, a settable
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_control.py :5 import socket
show 28 more
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_daemon.py :728 # subclass) sets base_url on the httpx.Client; the fake records `url`
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_daemon_delete_definition.py :69 import httpx as _h
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_doctor.py :483 import httpx
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_fulcra_auth_epochs.py :4 import httpx
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_fulcra_auth_url.py :97 """Mock httpx.Client whose GET returns 200 — same as test_fulcra_refresh."""
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_fulcra_refresh.py :168 """Minimal httpx.Response stand-in — just status_code is enough."""
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_web.py :729 """Return a mock httpx.Client context-manager whose GET returns 200."""
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_worker.py :377 import httpx
  • net ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/coord_engine/cli.py :29 import socket
  • net ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/coord_engine/transport.py :22 import urllib.error
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_atc_dash.py :13 import urllib.error
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_bus_tags.py :15 import urllib.error
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_transport.py :13 import urllib.error
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/tests/test_transport_http_read.py :21 monkeypatch.setattr(T.urllib.request, "urlopen", fake_open)
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-fold/tests/proof/fake_cli.py :3 import socket
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-fold/tests/proof/inside.py :6 import socket
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-fold/tests/proof/store_server.py :6 import socket
  • net ashfulcra-fulcra-tools-8afb5a7/packages/coord-tracker-bridge/coord_tracker_bridge/linear.py :12 import httpx
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/coord-tracker-bridge/tests/test_linear.py :5 import httpx
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/csv-importer/tests/test_export_cli.py :3 Mocks the Fulcra endpoint via httpx.MockTransport so the test runs
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/csv-importer/tests/test_general_use.py :7 import httpx
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/dayone/tests/conftest.py :6 import httpx
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/dayone/tests/test_cli.py :8 import httpx
  • net (weak) ashfulcra-fulcra-tools-8afb5a7/packages/dayone/tests/test_client.py :7 import httpx
  • net ashfulcra-fulcra-tools-8afb5a7/packages/fulcra-common/fulcra_common/annotations.py :67 import urllib.error
  • net ashfulcra-fulcra-tools-8afb5a7/packages/fulcra-common/fulcra_common/client.py :15 import urllib.error
  • net ashfulcra-fulcra-tools-8afb5a7/packages/fulcra-common/fulcra_common/ingest.py :235 `run_import`). Raises httpx.HTTPStatusError on non-2xx — caller
  • net ashfulcra-fulcra-tools-8afb5a7/packages/fulcra-common/fulcra_common/schema_check.py :45 ``httpx.HTTPStatusError`` on any non-2xx — so a caller distinguishes

80 more not shown — this panel samples each group; the count above is the real total.

secrets 13

  • secrets (weak) ashfulcra-fulcra-tools-8afb5a7/packages/attention/scripts/cleanup_attention_dups.py :101 tok = os.environ.get("FULCRA_ACCESS_TOKEN")
  • secrets ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/credentials.py :14 import keyring
  • secrets (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/conftest.py :92 import keyring.errors
  • secrets (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_credentials.py :4 import keyring
  • secrets ashfulcra-fulcra-tools-8afb5a7/packages/coord-engine/coord_engine/transport.py :431 env = os.environ.get("FULCRA_ACCESS_TOKEN")
  • secrets ashfulcra-fulcra-tools-8afb5a7/packages/coord-tracker-bridge/coord_tracker_bridge/cli.py :95 api_key = os.environ.get("LINEAR_API_KEY")
  • secrets ashfulcra-fulcra-tools-8afb5a7/packages/coord-tracker-bridge/tools/capture_inbox.py :129 api_key = os.environ.get("LINEAR_API_KEY")
  • secrets ashfulcra-fulcra-tools-8afb5a7/packages/fulcra-common/fulcra_common/annotations.py :532 env = os.environ.get("FULCRA_ACCESS_TOKEN")
  • secrets ashfulcra-fulcra-tools-8afb5a7/packages/fulcra-common/fulcra_common/client.py :184 env = os.environ.get("FULCRA_ACCESS_TOKEN")
  • secrets ashfulcra-fulcra-tools-8afb5a7/packages/gmail/fulcra_gmail/rules_routes.py :59 key = os.environ.get("ANTHROPIC_API_KEY")
  • secrets (weak) ashfulcra-fulcra-tools-8afb5a7/packages/media-helpers/tests/test_trakt_oauth.py :28 import keyring.errors
  • secrets (weak) ashfulcra-fulcra-tools-8afb5a7/scripts/smoke_trakt.py :273 import keyring.errors
show 1 more
  • secrets ashfulcra-fulcra-tools-8afb5a7/tools/answers-bridge/answers_bridge.py :36 key = os.environ.get("LINEAR_API_KEY", "").strip()

database 20

  • db ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/_snapshot.py :3 import sqlite3
  • db ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/collect_plugin.py :77 import sqlite3
  • db ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/fulcra_apple_notes/notestore.py :22 import sqlite3
  • db (weak) ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/tests/helpers/apple_notes_test_helpers.py :10 import sqlite3
  • db (weak) ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/tests/test_collect_plugin.py :2 import sqlite3
  • db (weak) ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/tests/test_notestore.py :96 import sqlite3
  • db (weak) ashfulcra-fulcra-tools-8afb5a7/packages/apple-notes/tests/test_render_and_sync.py :382 import sqlite3
  • db ashfulcra-fulcra-tools-8afb5a7/packages/collect/fulcra_collect/db.py :19 import sqlite3
  • db (weak) ashfulcra-fulcra-tools-8afb5a7/packages/collect/tests/test_db.py :10 import sqlite3
  • db ashfulcra-fulcra-tools-8afb5a7/packages/dayone/fulcra_dayone/collect_plugin.py :85 import sqlite3
  • db ashfulcra-fulcra-tools-8afb5a7/packages/dayone/fulcra_dayone/readers/local_db.py :6 import sqlite3
  • db (weak) ashfulcra-fulcra-tools-8afb5a7/packages/dayone/tests/dayone_test_helpers.py :4 import sqlite3
show 8 more
  • db (weak) ashfulcra-fulcra-tools-8afb5a7/packages/dayone/tests/test_local_db.py :4 import sqlite3
  • db ashfulcra-fulcra-tools-8afb5a7/packages/media-helpers/fulcra_media/apple_podcasts_health.py :22 import sqlite3
  • db ashfulcra-fulcra-tools-8afb5a7/packages/media-helpers/fulcra_media/importers/apple_podcasts.py :8 import sqlite3
  • db ashfulcra-fulcra-tools-8afb5a7/packages/media-helpers/fulcra_media/importers/apple_tv.py :66 import sqlite3
  • db ashfulcra-fulcra-tools-8afb5a7/packages/media-helpers/fulcra_media/plugins/apple_podcasts.py :43 import sqlite3
  • db (weak) ashfulcra-fulcra-tools-8afb5a7/packages/media-helpers/tests/fixtures/_build_apple_podcasts_fixture.py :5 import sqlite3
  • db (weak) ashfulcra-fulcra-tools-8afb5a7/packages/media-helpers/tests/test_apple_podcasts_health.py :12 import sqlite3
  • db (weak) ashfulcra-fulcra-tools-8afb5a7/packages/media-helpers/tests/test_apple_tv_importer.py :11 import sqlite3