github Python re-analysis due

Agience/agience-prism-py

github

The Agience developer SDK for Python. An environment adapter.

maintainer
Agience
license
Apache-2.0
first seen
2026-09-03
last seen
2026-09-04
releases · 30d
1
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 1 tools
transport stdio · streamable-http · http counts 1 tools · 0 res · 0 prompts permission surface via README inference

tools

  • echo
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 101f1b3 · analyzer v33 · 5d ago

danger signals1

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

code files: 93

filesystem 22

  • fs Agience-agience-prism-py-101f1b3/src/prism/adaptive_cut.py :209 with open(path, "a", encoding="utf-8") as f:
  • fs Agience-agience-prism-py-101f1b3/src/prism/carriers.py :29 from pathlib import Path
  • fs Agience-agience-prism-py-101f1b3/src/prism/cli.py :53 from pathlib import Path
  • fs Agience-agience-prism-py-101f1b3/src/prism/envelope.py :44 v = open(path).read().strip()
  • fs Agience-agience-prism-py-101f1b3/src/prism/host/auth.py :32 from pathlib import Path
  • fs Agience-agience-prism-py-101f1b3/src/prism/reach.py :28 the sealed body too, so a forged cleartext link is caught on open (AEAD-authenticated).
  • fs Agience-agience-prism-py-101f1b3/src/prism/runner.py :85 from pathlib import Path
  • fs Agience-agience-prism-py-101f1b3/src/prism/trust/authority_trust.py :29 from pathlib import Path
  • fs Agience-agience-prism-py-101f1b3/src/prism/trust/key_manager.py :20 from pathlib import Path
  • fs Agience-agience-prism-py-101f1b3/src/prism/trust/opsign.py :42 from pathlib import Path
  • fs Agience-agience-prism-py-101f1b3/src/prism/trust/service_identity.py :26 from pathlib import Path
  • fs Agience-agience-prism-py-101f1b3/src/prism/vectors/__init__.py :65 Returns a `pathlib.Path` for an ordinary (unzipped) install, which is every install this
  • fs (weak) Agience-agience-prism-py-101f1b3/tests/host/test_auth.py :123 # Empty dir + no other creds → open (nothing enforced).
  • fs (weak) Agience-agience-prism-py-101f1b3/tests/test_contract_install_is_pure.py :25 import pathlib
  • fs (weak) Agience-agience-prism-py-101f1b3/tests/test_duplicate_basenames_cannot_shadow.py :31 import pathlib
  • fs (weak) Agience-agience-prism-py-101f1b3/tests/test_process_authors_single_home.py :28 import pathlib
  • fs (weak) Agience-agience-prism-py-101f1b3/tests/test_rounding.py :21 import pathlib
  • fs (weak) Agience-agience-prism-py-101f1b3/tests/test_runner_groups.py :27 from pathlib import Path
  • fs (weak) Agience-agience-prism-py-101f1b3/tests/test_vectors_package.py :22 import pathlib
  • fs (weak) Agience-agience-prism-py-101f1b3/tests/test_wire_extra.py :35 import pathlib
  • fs (weak) Agience-agience-prism-py-101f1b3/tests/trust/test_scopes.py :24 import pathlib
  • fs (weak) Agience-agience-prism-py-101f1b3/tests/trust/test_server_auth.py :440 import pathlib

shell / exec 3

  • shell (weak) Agience-agience-prism-py-101f1b3/tests/test_contract_install_is_pure.py :26 import subprocess
  • shell (weak) Agience-agience-prism-py-101f1b3/tests/test_wire_extra.py :36 import subprocess
  • shell (weak) Agience-agience-prism-py-101f1b3/tests/trust/test_server_auth.py :466 import subprocess

network 7

  • net Agience-agience-prism-py-101f1b3/src/prism/cli.py :84 import httpx
  • net Agience-agience-prism-py-101f1b3/src/prism/envelope.py :529 import socket
  • net Agience-agience-prism-py-101f1b3/src/prism/host/host.py :225 import httpx
  • net Agience-agience-prism-py-101f1b3/src/prism/server/client.py :17 import httpx
  • net Agience-agience-prism-py-101f1b3/src/prism/trust/server_auth.py :27 default is `urllib.request` on a worker thread, which is stdlib, so an install that asked only for
  • net (weak) Agience-agience-prism-py-101f1b3/tests/server/test_client_routing.py :4 Pure unit tests — httpx.AsyncClient is monkeypatched, no network."""
  • net (weak) Agience-agience-prism-py-101f1b3/tests/trust/test_server_auth.py :435 the exchange is an injected seam whose default is `urllib.request`.

secrets 3

  • secrets Agience-agience-prism-py-101f1b3/src/prism/cli.py :73 return os.getenv("AGIENCE_TOKEN") or os.getenv("AGIENCE_API_KEY") or None
  • secrets Agience-agience-prism-py-101f1b3/src/prism/host/host.py :12 host = Host("agience-prism", api_key=os.getenv("EMBEDDINGS_SERVER_API_KEY"))
  • secrets Agience-agience-prism-py-101f1b3/src/prism/server/server.py :42 api_key=api_key or os.getenv("AGIENCE_API_KEY"),

declared dependencies 12

  • mcp@>=1.6.0
  • python-jose@>=3.3
  • cryptography@>=42
  • fastapi@>=0.110
  • uvicorn@>=0.27
  • httpx@>=0.27
  • pyjwt@>=2.8
  • numpy@>=1.24
  • agience-prism@*
  • pytest@>=8.0
  • pytest-asyncio@>=0.24
  • ruff@>=0.4