github Python analyzed 509fdb2

adriannoes/asap-protocol

github

Protocol for agent-to-agent communication with stateful orchestration, MCP-compatible and a public marketplace to discover and register agents.

maintainer
adriannoes
licence
Apache-2.0
first seen
2026-06-08
last seen
2026-07-19
releases · 30d
0
short id

Drift inferred · capture-to-capture

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

capabilities 3 tools
transport stdio · http counts 3 tools · 0 res · 0 prompts permission surface via code analysis

tools

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

analyzed commit 509fdb2 · analyzer v33 · 21h ago

skills & prompt files 13

danger signals8

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

code files: 827

filesystem 104

  • fs (weak) asap-protocol-asap-protocol-509fdb2/.cursor/skills/skill-creator/scripts/init_skill.py :4 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/asap-compliance/asap_compliance/config.py :7 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/asap-compliance/tests/test_mcp_auth.py :6 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/examples/mcp_auth_bridge/client.py :27 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/examples/nemo_agent_toolkit_asap/asap_mcp_server.py :27 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/examples/nemo_agent_toolkit_asap/smoke_asap_side.py :23 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/examples/openapi_petstore/main.py :8 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/examples/starters/_forward_smoke.py :7 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/examples/starters/mcp-auth-bridge/run.py :6 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/examples/starters/openapi-provider/run.py :6 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/examples/workflow_asap_connector/main.py :12 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/check_auto_registration_merge_eligible.py :28 from pathlib import Path
show 28 more
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/diversify_registry_asap_versions.py :18 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/export_schemas.py :11 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/generate_types.py :12 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/lib/registry_io.py :13 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/lint_no_transport_growth.py :30 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/process_registration.py :19 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/process_removal.py :20 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/process_revocation.py :21 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/regenerate_signed_fixtures.py :14 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/seed_registry.py :14 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/telemetry/aggregate.py :33 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/telemetry/collect_github.py :26 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/telemetry/collect_npm.py :15 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/telemetry/collect_pypi.py :19 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/telemetry/collect_registry.py :20 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/validate_registry.py :20 from pathlib import Path
  • fs (weak) asap-protocol-asap-protocol-509fdb2/scripts/validate_revoked.py :15 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/src/asap/adapters/openapi/factory.py :8 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/src/asap/adapters/openapi/spec_loader.py :8 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/src/asap/auth/webauthn_store.py :20 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/src/asap/cli/audit_export.py :10 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/src/asap/cli/delegation.py :8 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/src/asap/cli/keys.py :5 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/src/asap/cli/manifest.py :6 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/src/asap/cli/schemas.py :6 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/src/asap/cli/trace.py :8 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/src/asap/crypto/keys.py :8 from pathlib import Path
  • fs asap-protocol-asap-protocol-509fdb2/src/asap/economics/delegation_storage.py :18 from pathlib import Path

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

shell / exec 14

  • shell (weak) asap-protocol-asap-protocol-509fdb2/examples/starters/_forward_smoke.py :5 import subprocess
  • shell (weak) asap-protocol-asap-protocol-509fdb2/scripts/generate_types.py :11 import subprocess
  • shell (weak) asap-protocol-asap-protocol-509fdb2/src/asap/examples/agent_failover.py :23 import subprocess # nosec B404
  • shell (weak) asap-protocol-asap-protocol-509fdb2/src/asap/examples/run_demo.py :11 import subprocess # nosec B404
  • shell asap-protocol-asap-protocol-509fdb2/src/asap/registry/bot_pr.py :15 import subprocess # nosec B404
  • shell (weak) asap-protocol-asap-protocol-509fdb2/tests/examples/test_agent_failover.py :11 import subprocess
  • shell (weak) asap-protocol-asap-protocol-509fdb2/tests/examples/test_forward_smoke.py :6 import subprocess
  • shell (weak) asap-protocol-asap-protocol-509fdb2/tests/examples/test_mcp_auth_bridge_example.py :12 import subprocess
  • shell (weak) asap-protocol-asap-protocol-509fdb2/tests/examples/test_nemo_agent_toolkit_asap.py :12 import subprocess
  • shell (weak) asap-protocol-asap-protocol-509fdb2/tests/examples/test_run_demo.py :7 import subprocess
  • shell (weak) asap-protocol-asap-protocol-509fdb2/tests/examples/test_typescript_consumer_smoke.py :7 import subprocess
  • shell (weak) asap-protocol-asap-protocol-509fdb2/tests/observability/test_jaeger_tracing.py :12 import subprocess
show 2 more
  • shell (weak) asap-protocol-asap-protocol-509fdb2/tests/registry/test_bot_pr.py :5 import subprocess
  • shell (weak) asap-protocol-asap-protocol-509fdb2/tests/scripts/test_seed_registry.py :68 import subprocess

network 128

  • net asap-protocol-asap-protocol-509fdb2/asap-compliance/asap_compliance/validators/handshake.py :7 from urllib.parse import urljoin
  • net asap-protocol-asap-protocol-509fdb2/asap-compliance/asap_compliance/validators/mcp_auth.py :9 import httpx
  • net asap-protocol-asap-protocol-509fdb2/asap-compliance/asap_compliance/validators/sla.py :10 import httpx
  • net asap-protocol-asap-protocol-509fdb2/asap-compliance/asap_compliance/validators/state.py :14 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/asap-compliance/tests/conftest.py :7 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/asap-compliance/tests/test_handshake.py :7 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/asap-compliance/tests/test_sla.py :7 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/asap-compliance/tests/test_state.py :7 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/asap-compliance/tests/test_state_integration.py :7 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/benchmarks/benchmark_crypto.py :16 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/benchmarks/benchmark_transport.py :25 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/benchmarks/memory_test.py :48 import httpx
show 28 more
  • net (weak) asap-protocol-asap-protocol-509fdb2/examples/openapi_petstore/main.py :11 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/examples/workflow_asap_connector/main.py :15 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/examples/workflow_asap_connector/mock_upstream.py :8 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/scripts/lib/safe_url.py :10 import socket
  • net (weak) asap-protocol-asap-protocol-509fdb2/scripts/process_registration.py :21 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/scripts/telemetry/aggregate.py :35 from urllib.parse import urlparse
  • net (weak) asap-protocol-asap-protocol-509fdb2/scripts/telemetry/collect_github.py :29 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/scripts/telemetry/collect_npm.py :16 from urllib.parse import quote
  • net (weak) asap-protocol-asap-protocol-509fdb2/scripts/telemetry/collect_registry.py :22 from urllib.parse import urlparse
  • net asap-protocol-asap-protocol-509fdb2/src/asap/adapters/openapi/factory.py :10 from urllib.parse import urljoin
  • net asap-protocol-asap-protocol-509fdb2/src/asap/adapters/openapi/handler.py :9 from urllib.parse import quote
  • net asap-protocol-asap-protocol-509fdb2/src/asap/adapters/openapi/spec_loader.py :10 from urllib.parse import urlparse
  • net asap-protocol-asap-protocol-509fdb2/src/asap/auth/introspection.py :15 import httpx
  • net asap-protocol-asap-protocol-509fdb2/src/asap/auth/jwks.py :14 import httpx
  • net asap-protocol-asap-protocol-509fdb2/src/asap/auth/middleware.py :16 import httpx
  • net asap-protocol-asap-protocol-509fdb2/src/asap/auth/oauth2.py :14 import httpx
  • net asap-protocol-asap-protocol-509fdb2/src/asap/auth/oidc.py :14 from urllib.parse import urlparse
  • net asap-protocol-asap-protocol-509fdb2/src/asap/cli/compliance_check.py :9 import httpx
  • net asap-protocol-asap-protocol-509fdb2/src/asap/client/cache.py :7 import httpx
  • net asap-protocol-asap-protocol-509fdb2/src/asap/client/http_client.py :9 import httpx
  • net asap-protocol-asap-protocol-509fdb2/src/asap/client/market.py :8 import httpx
  • net asap-protocol-asap-protocol-509fdb2/src/asap/client/revocation.py :11 import httpx
  • net asap-protocol-asap-protocol-509fdb2/src/asap/discovery/dnssd.py :14 import socket
  • net asap-protocol-asap-protocol-509fdb2/src/asap/discovery/registry.py :15 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/src/asap/examples/a2h_approval.py :26 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/src/asap/examples/agent_failover.py :32 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/src/asap/examples/run_demo.py :16 import httpx
  • net (weak) asap-protocol-asap-protocol-509fdb2/src/asap/examples/secure_agent.py :30 import httpx

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

secrets 4

  • secrets asap-protocol-asap-protocol-509fdb2/apps/registry-bot/src/registry_bot/app.py :24 token = os.environ.get("GITHUB_TOKEN", "").strip()
  • secrets (weak) asap-protocol-asap-protocol-509fdb2/scripts/telemetry/aggregate.py :580 os.environ.get("TELEMETRY_GITHUB_TOKEN", "").strip()
  • secrets asap-protocol-asap-protocol-509fdb2/src/asap/mcp/serve.py :134 default=os.environ.get("ASAP_AUTH_TOKEN"),
  • secrets asap-protocol-asap-protocol-509fdb2/src/asap/registry/bot_pr.py :97 github_token: str = field(default_factory=lambda: os.environ.get("GITHUB_TOKEN", ""))

database 3

  • db asap-protocol-asap-protocol-509fdb2/src/asap/auth/jti_replay_cache.py :13 from redis import Redis
  • db asap-protocol-asap-protocol-509fdb2/src/asap/transport/rate_limit.py :209 import redis # noqa: F401
  • db (weak) asap-protocol-asap-protocol-509fdb2/tests/cli/test_audit_export.py :162 import sqlite3

tool registrations 3

  • asap_invoke asap-protocol-asap-protocol-509fdb2/src/asap/mcp/serve.py :73
  • asap_discover asap-protocol-asap-protocol-509fdb2/src/asap/mcp/serve.py :82
  • _whitelist_invoke asap-protocol-asap-protocol-509fdb2/src/asap/mcp/serve.py :106

declared dependencies 52

  • mcp@>=1.28.1
  • aiosqlite@>=0.20
  • cryptography@>=50.0.0,<51
  • jcs@>=0.2.0
  • jsonschema@>=4.23.0
  • pydantic@>=2.12.5,<3
  • fastapi@>=0.136.1
  • httpx@>=0.28.1
  • authlib@>=1.6.12,<2
  • joserfc@>=1.6.7,<2
  • uvicorn@>=0.34
  • python-ulid@>=3.0
show 28 more
  • packaging@>=25.0
  • limits@>=3.0
  • structlog@>=24.1
  • typer@>=0.21.1
  • watchfiles@>=0.21.0
  • websockets@>=12.0
  • brotli@>=1.2.0
  • opentelemetry-api@>=1.20
  • opentelemetry-sdk@>=1.20
  • opentelemetry-instrumentation-fastapi@>=0.41
  • opentelemetry-instrumentation-httpx@>=0.41
  • opentelemetry-exporter-otlp-proto-grpc@>=1.20
  • asgi-lifespan@>=2.1.0
  • pytest@>=9.0.3
  • pytest-asyncio@>=0.24
  • pytest-cov@>=6.0
  • pytest-benchmark@>=5.1
  • pytest-xdist@>=3.5.0
  • mypy@>=1.19.1
  • types-jsonschema@>=4.0.0
  • ruff@>=0.14.14
  • pip-audit@>=2.7
  • fakeredis@>=2.26.0
  • ghp-import@>=2.1.0
  • mkdocs-material@>=9.7.7
  • mkdocstrings@>=0.27
  • pymdown-extensions@>=11.0.1
  • python-engineio@>=4.13.2

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

cursor-plugin 4

  • opaque (low) asap-protocol-asap-protocol-509fdb2/.cursor/README.md bundled .cursor/ plugin descriptor (asap-protocol-asap-protocol-509fdb2/.cursor/README.md) — presence-detected; review the descriptor
  • opaque (low) asap-protocol-asap-protocol-509fdb2/.cursor/rules/agent-clean-code.mdc bundled .cursor/ plugin descriptor (asap-protocol-asap-protocol-509fdb2/.cursor/rules/agent-clean-code.mdc) — presence-detected; review the descriptor
  • opaque (low) asap-protocol-asap-protocol-509fdb2/.cursor/settings.json bundled .cursor/ plugin descriptor (asap-protocol-asap-protocol-509fdb2/.cursor/settings.json) — presence-detected; review the descriptor
  • opaque (low) asap-protocol-asap-protocol-509fdb2/.cursor/skills/code-quality-review/SKILL.md bundled .cursor/ plugin descriptor (asap-protocol-asap-protocol-509fdb2/.cursor/skills/code-quality-review/SKILL.md) — presence-detected; review the descriptor