github Python analyzed 9f0e37f

prismal-ai/prismal

github

Prism-inspired multi-agent orchestration framework built on LangGraph. Security-first, provider-agnostic, composable.

maintainer
prismal-ai
license
MIT
first seen
2026-06-06
last seen
2026-07-20
releases · 30d
5
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×2 in prismal-ai/prismal
capabilities 6 tools
transport streamable-http counts 6 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • datetime_convert
  • datetime_cron_next_run
  • datetime_get_system_time
  • datetime_get_timezone_info
  • datetime_list_timezones
  • datetime_validate_cron
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 9f0e37f · analyzer v28 · 3h ago

skills & prompt files 2

danger signals5

code evidence vprismal/v3.11.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 818

filesystem 75

  • fs prismal-ai-prismal-9f0e37f/prismal/agents/extension/providers.py :17 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/factory.py :26 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/file_manager.py :77 manually with `pathlib.Path(...).resolve()`.
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/graph.py :27 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/meta_learner.py :28 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/multimodal/audio_agent.py :11 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/multimodal/ingestion.py :20 import shutil
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/multimodal/video_agent.py :17 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/multimodal/vision_agent.py :11 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/network_supervisor.py :20 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/researcher.py :18 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/skill_creator.py :46 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/skill_manager.py :37 import shutil
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/skynet/roles.py :19 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/subgraphs/data_etl/loader_node.py :17 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/subgraphs/ml_pipeline/tools_ml.py :13 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/subgraphs/multimodal_pipeline/builder.py :26 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/subgraphs/registry.py :26 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/tool_registry.py :36 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/tools.py :223 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/agents/visualization.py :26 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/composition/config_sources.py :18 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/composition/runtime.py :48 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/core/config_source.py :27 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/core/logging.py :146 from pathlib import Path as _Path
  • fs prismal-ai-prismal-9f0e37f/prismal/core/users.py :36 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/data/duckdb_engine.py :12 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/data/polars_utils.py :14 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/eval/__main__.py :20 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/eval/redteam/loader.py :10 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/eval/types.py :12 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/events/file_watcher.py :33 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/identity/policy.py :26 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/identity/vault.py :24 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/mcp/__init__.py :9 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/mcp/client.py :14 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/memory/chat_session_store.py :14 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/memory/conversation_history.py :30 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/memory/long_term.py :39 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/memory/preferences.py :30 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/memory/profile.py :37 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/memory/session_registry.py :20 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/monitoring/cost_tracker.py :44 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/providers/cross_modal_embeddings.py :12 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/providers/stt.py :17 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/providers/tts.py :182 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/rag/__init__.py :29 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/rag/engine.py :18 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/rag/hierarchical.py :39 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/rag/loaders/audio_loader.py :16 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/rag/loaders/document_loader.py :12 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/rag/loaders/image_loader.py :16 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/rag/loaders/video_loader.py :17 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/rag/multi_vector.py :50 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/rag/multimodal.py :24 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/rag/stores/sqlite_vec.py :19 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/scheduler/cron_manager.py :26 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/scheduler/prefect_flows.py :20 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/security/action_interceptor.py :25 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/security/audit.py :22 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/security/filesystem_guard.py :5 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/security/guardrails.py :18 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/security/media_validator.py :24 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/security/nemo_rails.py :45 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/security/sanitizer.py :140 with Image.open(BytesIO(blob)) as img:
  • fs prismal-ai-prismal-9f0e37f/prismal/security/tool_policy.py :20 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/skills/available/calendar/skill.py :18 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/skills/available/code_executor/skill.py :26 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/skills/available/database_query/skill.py :25 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/skills/available/spec_driven_design/skill.py :5 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/skills/base.py :44 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/skills/manager.py :11 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/skills/remote_installer.py :25 from pathlib import Path # noqa: TC003 — used at runtime, not only in annotations
  • fs prismal-ai-prismal-9f0e37f/prismal/souls/base.py :15 from pathlib import Path
  • fs prismal-ai-prismal-9f0e37f/prismal/souls/manager.py :30 from pathlib import Path

shell / exec 4

  • shell prismal-ai-prismal-9f0e37f/prismal/agents/skill_creator.py :42 import subprocess
  • shell prismal-ai-prismal-9f0e37f/prismal/agents/tools.py :405 import subprocess
  • shell prismal-ai-prismal-9f0e37f/prismal/skills/available/code_executor/skill.py :23 import subprocess
  • shell prismal-ai-prismal-9f0e37f/prismal/skills/base.py :310 import subprocess

network 11

  • net prismal-ai-prismal-9f0e37f/prismal/a2a/client.py :27 from urllib.parse import urlparse
  • net prismal-ai-prismal-9f0e37f/prismal/agents/network_supervisor.py :40 import httpx
  • net prismal-ai-prismal-9f0e37f/prismal/events/webhook_dispatcher.py :12 import httpx
  • net prismal-ai-prismal-9f0e37f/prismal/identity/did.py :23 import httpx
  • net prismal-ai-prismal-9f0e37f/prismal/monitoring/otel.py :14 import socket
  • net prismal-ai-prismal-9f0e37f/prismal/rag/federated.py :41 import httpx
  • net prismal-ai-prismal-9f0e37f/prismal/scheduler/heartbeat_delivery.py :17 import httpx
  • net prismal-ai-prismal-9f0e37f/prismal/scheduler/notifier.py :17 import httpx
  • net prismal-ai-prismal-9f0e37f/prismal/skills/available/weather/skill.py :18 import httpx
  • net prismal-ai-prismal-9f0e37f/prismal/skills/available/web_search/skill.py :17 import urllib.parse
  • net prismal-ai-prismal-9f0e37f/prismal/skills/remote_installer.py :27 import httpx

secrets 3

  • secrets prismal-ai-prismal-9f0e37f/prismal/skills/available/email_reader/skill.py :175 and os.getenv("PRISMAL_EMAIL_PASSWORD")
  • secrets prismal-ai-prismal-9f0e37f/prismal/skills/available/weather/skill.py :131 api_key = os.getenv("PRISMAL_WEATHER_API_KEY", "")
  • secrets prismal-ai-prismal-9f0e37f/prismal/skills/available/web_search/skill.py :156 api_key = os.getenv("PRISMAL_GOOGLE_API_KEY", "")

database 11

  • db prismal-ai-prismal-9f0e37f/prismal/agents/factory.py :37 import sqlite3
  • db prismal-ai-prismal-9f0e37f/prismal/agents/graph.py :24 import sqlite3
  • db prismal-ai-prismal-9f0e37f/prismal/core/database.py :26 from sqlalchemy import event
  • db prismal-ai-prismal-9f0e37f/prismal/core/users.py :31 import sqlite3
  • db prismal-ai-prismal-9f0e37f/prismal/memory/chat_session_store.py :11 import sqlite3
  • db prismal-ai-prismal-9f0e37f/prismal/memory/long_term.py :31 import sqlite3
  • db prismal-ai-prismal-9f0e37f/prismal/memory/session_registry.py :17 import sqlite3
  • db prismal-ai-prismal-9f0e37f/prismal/monitoring/cost_tracker.py :40 import sqlite3
  • db prismal-ai-prismal-9f0e37f/prismal/rag/stores/sqlite_vec.py :29 import sqlite3
  • db prismal-ai-prismal-9f0e37f/prismal/scheduler/cron_manager.py :23 import sqlite3
  • db prismal-ai-prismal-9f0e37f/prismal/security/permissions.py :13 from sqlalchemy import DateTime, Index, String, delete, select

tool registrations 6

  • datetime_get_system_time prismal-ai-prismal-9f0e37f/prismal/mcp/servers/datetime_server.py :357
  • datetime_get_timezone_info prismal-ai-prismal-9f0e37f/prismal/mcp/servers/datetime_server.py :382
  • datetime_convert prismal-ai-prismal-9f0e37f/prismal/mcp/servers/datetime_server.py :416
  • datetime_cron_next_run prismal-ai-prismal-9f0e37f/prismal/mcp/servers/datetime_server.py :471
  • datetime_validate_cron prismal-ai-prismal-9f0e37f/prismal/mcp/servers/datetime_server.py :546
  • datetime_list_timezones prismal-ai-prismal-9f0e37f/prismal/mcp/servers/datetime_server.py :569

declared dependencies 76

  • langchain@>=1.3.9
  • langgraph@>=0.2.66
  • langchain-community@>=0.3.14
  • langchain-core@>=0.3.28
  • litellm@>=1.58.0
  • langchain-anthropic@>=1.4.6
  • langchain-openai@>=0.3.1
  • langchain-google-genai@>=2.0.8
  • langchain-litellm@>=0.6.1
  • langgraph-checkpoint-sqlite@>=2.0.1
  • polars@>=1.17.0
  • duckdb@>=1.1.3
  • pyarrow@>=19.0.0
  • sqlalchemy@>=2.0.36
  • alembic@>=1.14.0
  • aiosqlite@>=0.20.0
  • chromadb@>=0.6.2
  • soupsieve@>=2.8.4
  • pypdf@>=6.13.3
  • docx2txt@>=0.8
  • unstructured@>=0.21.5
  • t@drag ancient numba 0.53.1/llvmlite via the old dep tree — see CHANGELOG 3.10.1)
  • psycopg2-binary@>=2.9.10
  • asyncpg@>=0.30.0
  • langgraph-checkpoint-postgres@>=2.0.7
  • motor@>=3.6.0
  • beanie@>=1.27.0
  • torch@>=2.6
  • transformers@>=5.3.0
  • accelerate@>=1.2.1
  • ollama@>=0.4.4
  • langchain-ollama@>=0.2.1
  • matplotlib@>=3.9.4
  • plotly@>=5.24.1
  • pandas@>=2.2.3
  • flaml@>=2.3.0
  • scikit-learn@>=1.5.0
  • xgboost@>=2.1.0
  • lightgbm@>=4.5.0
  • shap@>=0.45.0
  • imbalanced-learn@>=0.12.0
  • optuna@>=3.6.0
  • onnx@>=1.22.0
  • onnxruntime@>=1.18.0
  • yfinance@>=0.2.50
  • pandas-ta@>=0.3.14b
  • tzdata@>=2024.1
  • ntplib@>=0.4.0
  • pip-audit@>=2.7.0
  • lancedb@>=0.15.0
  • sqlite-vec@>=0.1.6
  • langchain-qdrant@>=0.2.0
  • qdrant-client@>=1.12.0
  • langchain-postgres@>=0.0.13
  • httpx@>=0.28.1
  • httpx-sse@>=0.4.0
  • Pillow@>=12.3.0
  • ffmpeg-python@>=0.2.0
  • imagehash@>=4.3.1
  • faster-whisper@>=1.1.0
  • elevenlabs@>=1.13.0
  • open-clip-torch@>=2.30.0
  • guardrails-ai@>=0.10.2
  • pytest@>=8.3.4
  • pytest-asyncio@>=0.24.0
  • pytest-cov@>=6.0.0
  • pytest-mock@>=3.14.0
  • pytest-xdist@>=3.6.1
  • faker@>=33.1.0
  • respx@>=0.21.1
  • ruff@>=0.8.4
  • mypy@>=1.13.0
  • ty@>=0.0.1a5
  • docformatter@>=1.7.5
  • pyupgrade@>=3.19.0
  • pre-commit@>=4.0.1