AIMarket Hub — federated capability catalog, channels, invoke API, and plugins.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http
verified
reported
listed in the official MCP registry counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 2994d16 · analyzer v33 · 4d ago
danger signals9
- suspicious endpoint 169.254.169.254 (cloud metadata) alexar76-aimarket-hub-2994d16/tests/test_api.py :538
"http://169.254.169.254", # AWS metadata - suspicious endpoint 93.184.216.34 alexar76-aimarket-hub-2994d16/tests/test_api.py :598
assert _url_is_safe("http://93.184.216.34/x") is True - suspicious endpoint 169.254.169.254 (cloud metadata) alexar76-aimarket-hub-2994d16/tests/test_federated_invoke.py :472
None, post_error=ValueError("unsafe outbound URL: http://169.254.169.254/x"), - suspicious endpoint 108.165.32.182 alexar76-aimarket-hub-2994d16/tests/test_one_hub_one_peer_row.py :46
db.upsert_peer(_peer("http://108.165.32.182:9083", KEY, "Competing Lab Hub"), status="active") - suspicious endpoint 169.254.169.254 (cloud metadata) alexar76-aimarket-hub-2994d16/tests/test_outbound_capped_post.py :112
await safe_post_capped("http://169.254.169.254/latest", json={}, max_bytes=CAP) - suspicious endpoint 93.184.216.34 alexar76-aimarket-hub-2994d16/tests/test_outbound_pinning.py :20
assert target == "http://93.184.216.34/x" - suspicious endpoint 169.254.169.254 (cloud metadata) alexar76-aimarket-hub-2994d16/tests/test_studio_run.py :100
"executor": "http://169.254.169.254/latest/meta-data", - suspicious endpoint 93.184.216.34 alexar76-aimarket-hub-2994d16/tests/test_supply_chain_admission.py :55
auditor_url="https://93.184.216.34/invoke", - suspicious endpoint 169.254.169.254 (cloud metadata) alexar76-aimarket-hub-2994d16/tests/test_supply_chain_admission.py :263
auditor_url="https://169.254.169.254/latest/meta-data",
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 213
filesystem 85
- fs alexar76-aimarket-hub-2994d16/aimarket_hub/acex_audit.py :19
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/acex_ipo.py :36
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/api.py :6073
with open(registry_path) as f: - fs alexar76-aimarket-hub-2994d16/aimarket_hub/api_models.py :168
# channels.open() refuses an on-chain-verified deposit without it (unless the - fs alexar76-aimarket-hub-2994d16/aimarket_hub/auto_listing.py :19
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/capital_pricing.py :6
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/chain_net.py :162
with open(path, encoding="utf-8") as fh: - fs alexar76-aimarket-hub-2994d16/aimarket_hub/channels.py :46
succeeds, and open() hands THEM the channel_secret that authorizes debits (the - fs alexar76-aimarket-hub-2994d16/aimarket_hub/cli.py :23
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/config.py :8
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/database.py :15
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/dataset_exporter.py :26
from pathlib import Path
show 28 more
- fs alexar76-aimarket-hub-2994d16/aimarket_hub/db_backend.py :27
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/deposit_claims.py :19
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/escrow_bridge/store.py :35
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/factory_products_loader.py :9
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/factory_wallet.py :14
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/sandbox_trials.py :32
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/semantic_search.py :30
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/signing.py :15
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/tee_attestation.py :169
_NITRO_ROOT_CERT_PEM = open(env_cert).read() - fs alexar76-aimarket-hub-2994d16/aimarket_hub/validator.py :11
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/aimarket_hub/verified_settlement.py :291
that could not be verified. Opting into fail-open (capture on indeterminate, for - fs alexar76-aimarket-hub-2994d16/aimarket_hub/zk_groth16.py :43
import shutil - fs (weak) alexar76-aimarket-hub-2994d16/examples/hello-capability/server.py :9
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/plugins/aimarket-provenance/aimarket_provenance/_awr.py :24
from pathlib import Path - fs alexar76-aimarket-hub-2994d16/plugins/aimarket-provenance/aimarket_provenance/storage.py :49
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/plugins/aimarket-provenance/tests/conftest.py :15
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/plugins/aimarket-provenance/tests/test_awr_dependency.py :7
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/plugins/aimarket-provenance/tests/test_provenance_plugin.py :6
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/plugins/aimarket-provenance/tests/test_storage.py :8
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/scripts/generate_coverage_badge.py :8
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/scripts/generate_static_badge.py :7
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/scripts/migrate_sqlite_to_postgres.py :13
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/scripts/split_aliased_sqlite_db.py :48
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/tests/test_a2a.py :5
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/tests/test_acex_audit.py :5
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/tests/test_acex_ipo.py :8
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/tests/test_acex_ipo_api.py :11
from pathlib import Path - fs (weak) alexar76-aimarket-hub-2994d16/tests/test_api.py :7
from pathlib import Path
45 more not shown — this panel samples each group; the count above is the real total.
shell / exec 4
- shell alexar76-aimarket-hub-2994d16/aimarket_hub/escrow_bridge/signer.py :28
import subprocess - shell alexar76-aimarket-hub-2994d16/aimarket_hub/zk_groth16.py :45
import subprocess - shell (weak) alexar76-aimarket-hub-2994d16/tests/test_escrow_bridge_chain.py :24
import subprocess - shell (weak) alexar76-aimarket-hub-2994d16/tests/test_price_rendering.py :17
import subprocess
network 32
- net alexar76-aimarket-hub-2994d16/aimarket_hub/api.py :26
from urllib.parse import urlparse - net alexar76-aimarket-hub-2994d16/aimarket_hub/chain_net.py :66
import urllib.error - net alexar76-aimarket-hub-2994d16/aimarket_hub/cli.py :386
import httpx - net alexar76-aimarket-hub-2994d16/aimarket_hub/crawler.py :17
from urllib.parse import urlparse - net alexar76-aimarket-hub-2994d16/aimarket_hub/database.py :493
from urllib.parse import urlparse - net alexar76-aimarket-hub-2994d16/aimarket_hub/deposit_verify.py :145
import httpx - net alexar76-aimarket-hub-2994d16/aimarket_hub/discovery_glue.py :41
import httpx - net alexar76-aimarket-hub-2994d16/aimarket_hub/escrow_bridge/signer.py :29
import urllib.error - net alexar76-aimarket-hub-2994d16/aimarket_hub/factory_wallet.py :115
import httpx - net alexar76-aimarket-hub-2994d16/aimarket_hub/federation_assay.py :29
from urllib.parse import urlparse - net alexar76-aimarket-hub-2994d16/aimarket_hub/lottery_entitlement.py :11
from urllib.parse import urlsplit, urlunsplit - net alexar76-aimarket-hub-2994d16/aimarket_hub/lumen_client.py :26
import httpx
show 20 more
- net alexar76-aimarket-hub-2994d16/aimarket_hub/mcp_gateway.py :231
import httpx - net alexar76-aimarket-hub-2994d16/aimarket_hub/mcp_packager.py :154
CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:3100/health')" - net alexar76-aimarket-hub-2994d16/aimarket_hub/outbound_http.py :7
from urllib.parse import urlparse, urlunparse - net alexar76-aimarket-hub-2994d16/aimarket_hub/publish.py :35
from urllib.parse import urlparse - net alexar76-aimarket-hub-2994d16/aimarket_hub/realm.py :40
from urllib.parse import urlparse - net alexar76-aimarket-hub-2994d16/aimarket_hub/supply_chain_admission.py :26
from urllib.parse import urlparse - net alexar76-aimarket-hub-2994d16/aimarket_hub/verified_settlement.py :99
import httpx - net (weak) alexar76-aimarket-hub-2994d16/tests/test_acex_ipo_api.py :29
"""Stand-in for httpx.AsyncClient so paid invokes don't need a live factory.""" - net (weak) alexar76-aimarket-hub-2994d16/tests/test_api.py :63
import socket - net (weak) alexar76-aimarket-hub-2994d16/tests/test_channels.py :1470
import httpx - net (weak) alexar76-aimarket-hub-2994d16/tests/test_crawler_stream_security.py :5
import socket - net (weak) alexar76-aimarket-hub-2994d16/tests/test_deposit_verify_live.py :28
resp = httpx.post( - net (weak) alexar76-aimarket-hub-2994d16/tests/test_escrow_bridge_chain.py :23
import socket - net (weak) alexar76-aimarket-hub-2994d16/tests/test_escrow_bridge_mirror.py :359
import urllib.request - net (weak) alexar76-aimarket-hub-2994d16/tests/test_federated_invoke.py :28
import httpx - net (weak) alexar76-aimarket-hub-2994d16/tests/test_mcp_gateway.py :25
import httpx - net (weak) alexar76-aimarket-hub-2994d16/tests/test_outbound_capped_post.py :11
import socket - net (weak) alexar76-aimarket-hub-2994d16/tests/test_outbound_pinning.py :3
import socket - net (weak) alexar76-aimarket-hub-2994d16/tests/test_supply_chain_admission.py :54
# dialled here — httpx.AsyncClient is monkeypatched in every test that uses this. - net (weak) alexar76-aimarket-hub-2994d16/tests/test_verified_settlement.py :37
import httpx as real_httpx
secrets 10
- secrets alexar76-aimarket-hub-2994d16/aimarket_hub/api.py :918
_ADMIN_TOKEN = os.environ.get("AIMARKET_ADMIN_TOKEN", "").strip() - secrets alexar76-aimarket-hub-2994d16/aimarket_hub/capability_nft.py :642
key = os.environ.get("AIMARKET_NFT_OWNER_KEY", "").strip() - secrets alexar76-aimarket-hub-2994d16/aimarket_hub/channels.py :122
_DEFAULT_TOKEN = os.getenv("AIMARKET_PAYMENT_TOKEN", "USDC") - secrets alexar76-aimarket-hub-2994d16/aimarket_hub/cli.py :395
token = (args.token or os.environ.get("AIMARKET_PUBLISH_TOKEN", "")).strip() - secrets alexar76-aimarket-hub-2994d16/aimarket_hub/config.py :47
os.getenv("AIMARKET_FEDERATION_JUDGE_KEY", "").strip() - secrets alexar76-aimarket-hub-2994d16/aimarket_hub/escrow_bridge/escrow_verify.py :125
symbol = (os.environ.get("AIMARKET_PAYMENT_TOKEN", "USDC") or "USDC").strip().upper() - secrets alexar76-aimarket-hub-2994d16/aimarket_hub/factory_wallet.py :100
token = os.getenv("AIMARKET_PAYMENT_TOKEN", "") - secrets alexar76-aimarket-hub-2994d16/aimarket_hub/supply_chain_admission.py :224
auditor_pubkey = os.getenv("AIMARKET_SUPPLY_CHAIN_AUDITOR_PUBKEY", "").strip() - secrets alexar76-aimarket-hub-2994d16/aimarket_hub/supply_security.py :1323
chain=_stake_chain(), token=os.getenv("AIMARKET_PAYMENT_TOKEN", "USDC"), - secrets alexar76-aimarket-hub-2994d16/aimarket_hub/verified_settlement.py :315
return os.environ.get("AIMARKET_VERIFY_METIS_KEY", "").strip() or \
database 16
- db alexar76-aimarket-hub-2994d16/aimarket_hub/acex_audit.py :16
import sqlite3 - db alexar76-aimarket-hub-2994d16/aimarket_hub/acex_ipo.py :32
import sqlite3 - db alexar76-aimarket-hub-2994d16/aimarket_hub/channels.py :110
import sqlite3 - db alexar76-aimarket-hub-2994d16/aimarket_hub/database.py :12
import sqlite3 - db alexar76-aimarket-hub-2994d16/aimarket_hub/db_backend.py :23
import sqlite3 - db alexar76-aimarket-hub-2994d16/aimarket_hub/escrow_bridge/store.py :31
import sqlite3 - db alexar76-aimarket-hub-2994d16/aimarket_hub/factory_products_loader.py :8
import sqlite3 - db alexar76-aimarket-hub-2994d16/aimarket_hub/zk_groth16.py :44
import sqlite3 - db (weak) alexar76-aimarket-hub-2994d16/plugins/aimarket-provenance/tests/test_storage.py :6
import sqlite3 - db (weak) alexar76-aimarket-hub-2994d16/scripts/migrate_sqlite_to_postgres.py :12
import sqlite3 - db (weak) alexar76-aimarket-hub-2994d16/scripts/split_aliased_sqlite_db.py :45
import sqlite3 - db (weak) alexar76-aimarket-hub-2994d16/tests/test_channels.py :4
import sqlite3
show 4 more
- db (weak) alexar76-aimarket-hub-2994d16/tests/test_db_backend.py :16
import sqlite3 - db (weak) alexar76-aimarket-hub-2994d16/tests/test_escrow_bridge_chain.py :407
import sqlite3 - db (weak) alexar76-aimarket-hub-2994d16/tests/test_escrow_bridge_mirror.py :15
import sqlite3 - db (weak) alexar76-aimarket-hub-2994d16/tests/test_federated_invoke.py :1536
import sqlite3
declared dependencies 20
- httpx@>=0.28
- fastapi@>=0.115
- uvicorn@>=0.34
- pydantic@>=2.10
- cryptography@>=44
- jsonschema@>=4.23
- prometheus_client@>=0.21
- pytest@>=8
- pytest-asyncio@>=0.25
- pytest-httpx@>=0.35
- eth-utils@>=5
- eth-account@>=0.13
show 8 more
- dilithium-py@>=1.4.0
- psycopg@>=3.2,<4
- aimarket-safety@>=2.0
- aimarket-reputation@>=2.0
- aimarket-channels@>=2.0
- aimarket-tee@>=2.0
- aimarket-mcp-packager@>=2.0
- aimarket-hub@*