github Python analyzed 1589aec

AuthPlane/python-sdk

v0.4.0
github

Python SDK for protecting MCP servers and OAuth 2.1 resource servers with tokens issued by the Authplane authorization server. Includes framework adapters (e.g. MCP, FastMCP).

maintainer
AuthPlane
licence
Apache-2.0
first seen
2026-06-16
last seen
2026-08-31
releases · 30d
2
short id

Drift inferred · capture-to-capture

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

capabilities 3 tools
transport streamable-http · sse counts 3 tools · 0 res · 0 prompts permission surface via code analysis

tools

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

analyzed commit 1589aec · analyzer v33 · 1d ago

danger signals2

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

code files: 103

filesystem 3

  • fs (weak) AuthPlane-python-sdk-1589aec/conformance-tests/conftest.py :62 from pathlib import Path
  • fs (weak) AuthPlane-python-sdk-1589aec/conformance-tests/test_catalog_alignment.py :6 from pathlib import Path
  • fs (weak) AuthPlane-python-sdk-1589aec/tests/test_issuer_identity.py :10 from pathlib import Path

network 28

  • net AuthPlane-python-sdk-1589aec/authplane-fastmcp/authplane_fastmcp/_prm.py :27 from urllib.parse import urlsplit
  • net AuthPlane-python-sdk-1589aec/authplane-fastmcp/authplane_fastmcp/verifier.py :12 from urllib.parse import urlsplit
  • net AuthPlane-python-sdk-1589aec/authplane-fastmcp/demo/mcpserver.py :10 from urllib.parse import urlparse
  • net (weak) AuthPlane-python-sdk-1589aec/authplane-fastmcp/tests/conftest.py :13 from httpx import ASGITransport, AsyncClient
  • net (weak) AuthPlane-python-sdk-1589aec/authplane-fastmcp/tests/test_integration.py :11 from urllib.parse import urlsplit
  • net AuthPlane-python-sdk-1589aec/authplane-mcp/authplane_mcp/_prm.py :27 from urllib.parse import urlsplit
  • net AuthPlane-python-sdk-1589aec/authplane-mcp/authplane_mcp/verifier.py :11 from urllib.parse import urlsplit
  • net AuthPlane-python-sdk-1589aec/authplane-mcp/demo/mcpserver.py :9 from urllib.parse import urlparse
  • net (weak) AuthPlane-python-sdk-1589aec/authplane-mcp/tests/test_integration.py :16 from httpx import ASGITransport, AsyncClient
  • net AuthPlane-python-sdk-1589aec/authplane/client.py :7 import httpx
  • net AuthPlane-python-sdk-1589aec/authplane/dpop.py :14 from urllib.parse import SplitResult, urlsplit, urlunsplit
  • net AuthPlane-python-sdk-1589aec/authplane/internal/cache_headers.py :21 headers: HTTP response headers (case-insensitive mapping, e.g. httpx.Headers).
show 16 more
  • net AuthPlane-python-sdk-1589aec/authplane/internal/document_fetcher.py :5 import httpx
  • net AuthPlane-python-sdk-1589aec/authplane/internal/metadata.py :5 from urllib.parse import urlsplit
  • net AuthPlane-python-sdk-1589aec/authplane/internal/urls.py :3 from urllib.parse import urlsplit, urlunsplit
  • net AuthPlane-python-sdk-1589aec/authplane/net/http.py :7 from urllib.parse import quote, urlencode
  • net AuthPlane-python-sdk-1589aec/authplane/net/ip_validation.py :9 import socket
  • net AuthPlane-python-sdk-1589aec/authplane/net/ssrf.py :12 from urllib.parse import urlencode, urlsplit
  • net (weak) AuthPlane-python-sdk-1589aec/conformance-tests/test_jwt_and_dpop_conformance.py :10 import httpx
  • net (weak) AuthPlane-python-sdk-1589aec/conformance-tests/test_oauth_protocol_conformance.py :6 from urllib.parse import parse_qs
  • net (weak) AuthPlane-python-sdk-1589aec/tests/internal/test_jwks_fetcher.py :7 import httpx
  • net (weak) AuthPlane-python-sdk-1589aec/tests/net/test_ssrf.py :6 import httpx
  • net (weak) AuthPlane-python-sdk-1589aec/tests/net/test_ssrf_edge_cases.py :16 import httpx
  • net (weak) AuthPlane-python-sdk-1589aec/tests/oauth/test_introspection.py :5 from urllib.parse import quote
  • net (weak) AuthPlane-python-sdk-1589aec/tests/oauth/test_token_exchange.py :6 import httpx
  • net (weak) AuthPlane-python-sdk-1589aec/tests/test_protocol_and_http_edges.py :6 import httpx
  • net (weak) AuthPlane-python-sdk-1589aec/tests/verifier/test_revocation.py :370 import httpx
  • net (weak) AuthPlane-python-sdk-1589aec/tests/verifier/test_verifier.py :7 import httpx

secrets 2

  • secrets AuthPlane-python-sdk-1589aec/authplane-fastmcp/demo/mcpserver.py :30 client_secret = os.environ["CLIENT_SECRET"]
  • secrets AuthPlane-python-sdk-1589aec/authplane-mcp/demo/mcpserver.py :57 client_secret=os.environ["CLIENT_SECRET"],

tool registrations 5

  • add AuthPlane-python-sdk-1589aec/authplane-fastmcp/demo/mcpserver.py :46
  • multiply AuthPlane-python-sdk-1589aec/authplane-fastmcp/demo/mcpserver.py :51
  • add AuthPlane-python-sdk-1589aec/authplane-mcp/demo/mcpserver.py :71
  • multiply AuthPlane-python-sdk-1589aec/authplane-mcp/demo/mcpserver.py :77
  • consent_demo AuthPlane-python-sdk-1589aec/authplane-mcp/demo/mcpserver.py :83

declared dependencies 9

  • authlib@>=1.3
  • httpx@>=0.27
  • pytest@>=8.0
  • pytest-asyncio@>=0.23
  • respx@>=0.21
  • cryptography@>=42
  • coverage@>=7
  • pyright@>=1.1
  • ruff@>=0.16,<0.17