← Back to search

io.github.bolyra/gateway

bolyra Scanned 2d ago

Gate MCP tool calls so only authorized agents can call sensitive tools — Bolyra ZKP authentication middleware for Model Context Protocol servers, over stdio or HTTP.

? Not scanned yet

Versions

0.2.1latest
first seen Jun 30, 2026

Tools 0

No tools indexed yet.

Permissions 5

network medium
Server uses network capabilities via: fetch(), https
filesystem low
Server uses filesystem capabilities via: fs, fs sync ops, open(), os, path, pathlib, shutil, tempfile
shell high
Server uses shell capabilities via: child_process, execSync(), spawn(), spawnSync(), subprocess
database medium
Server uses database capabilities via: redis
env_vars low
Server uses env_vars capabilities via: os.environ, process.env

Scan Findings 132

medium
Suspicious package name: react-dom dependency_analyzer · 60%
info
pyproject.toml metadata manifest_parser · 100%
info
Transport: stdio manifest_parser · 90%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Excessive dependency count: 109 direct dependencies dependency_analyzer · 90%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.0.0 (GHSA-w48q-cv73-mx4w) dependency_analyzer · 95%
medium
Vulnerable dependency: yaml@2.7.0 (GHSA-48c2-rrv3-qjmp) dependency_analyzer · 95%
medium
Vulnerable dependency: yaml@2.4.0 (GHSA-48c2-rrv3-qjmp) dependency_analyzer · 95%
medium
Vulnerable dependency: ai@4.3.0 (GHSA-rwvc-j5jr-mgvh) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (GHSA-2g6r-c272-w58r) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (GHSA-5chr-fjjv-38qv) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (GHSA-6qv9-48xg-fc7f) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (GHSA-926x-3r5x-gfhw) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (GHSA-c67j-w6g6-q2cm) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (GHSA-pjwx-r37v-7724) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (GHSA-qh6h-p6c9-ff54) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (PYSEC-2026-1517) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (PYSEC-2026-1518) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (PYSEC-2026-2193) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (PYSEC-2026-2562) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (PYSEC-2026-2563) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (PYSEC-2026-2564) dependency_analyzer · 95%
medium
Vulnerable dependency: langchain-core@0.2.0 (PYSEC-2026-373) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0.0 (GHSA-mr82-8j83-vxmv) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0.0 (PYSEC-2026-1812) dependency_analyzer · 95%
medium
Buffer.from base64 in bolyra-bolyra-030884b/spec/conformance-runner.js:1398 entropy_analyzer · 75%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/scripts/bench_breakdown.js:16 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/scripts/bench_agent_groth16.js:15 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/scripts/bench_spawn.js:37 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/scripts/bench_native_wtns.js:17 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/scripts/bench_delegation_groth16.js:18 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/scripts/bench_rapidsnark.js:19 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/scripts/benchmark-plonk.js:80 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/test/AgentPolicy.test.js:43 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/test/ModelInstanceBinding.test.js:21 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/test/ModelInstanceBinding.test.js:25 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/test/ModelInstanceBinding.test.js:29 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/test/Delegation.test.js:63 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/circuits/test/Delegation.test.js:145 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/contracts/scripts/delegation-demo-onchain.js:128 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/contracts/scripts/delegation-demo-onchain.js:134 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/contracts/scripts/delegation-demo-onchain.js:140 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/contracts/test/E2EHandshake.test.js:76 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/contracts/test/E2EDelegation.test.js:107 entropy_analyzer · 70%
medium
Buffer.from base64 in bolyra-bolyra-030884b/integrations/mcp/test/dev-delegation-chain.test.ts:158 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/integrations/mcp/src/server-http.ts:102 entropy_analyzer · 75%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/integrations/gateway/test/headers.test.ts:50 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/integrations/gateway/test/headers.test.ts:75 entropy_analyzer · 70%
medium
Buffer.from base64 in bolyra-bolyra-030884b/integrations/gateway/src/middleware.ts:75 entropy_analyzer · 75%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/integrations/receipts/test/instance.test.ts:241 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/integrations/payment-protocols/test/stripe-acp.test.ts:274 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/integrations/mpp-payments/test/classical.test.ts:183 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/integrations/cli/test/verify.e2e.test.ts:389 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/integrations/cli/test/verify/binding.test.ts:80 entropy_analyzer · 70%
medium
Buffer.from base64 in bolyra-bolyra-030884b/integrations/cli/src/commands/run.ts:197 entropy_analyzer · 75%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/integrations/hosted-verify/test/worker.spec.ts:53 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/integrations/hosted-verify/test/worker.spec.ts:242 entropy_analyzer · 70%
medium
Buffer.from base64 in bolyra-bolyra-030884b/integrations/ai/src/utils.ts:32 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/delegation/src/keys.ts:74 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/delegation/test/conformance/status-list.test.ts:50 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/delegation/test/conformance/status-list.test.ts:55 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/delegation/test/conformance/sd-jwt.test.ts:25 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/delegation/test/conformance/sd-jwt.test.ts:30 entropy_analyzer · 75%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:27 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:28 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:32 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:33 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:37 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:38 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:46 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:47 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:48 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:49 entropy_analyzer · 70%
critical
AWS Secret Access Key found in bolyra-bolyra-030884b/examples/mcp-demo/recordings/bolyra-mcp-demo.cast secret_scanner · 90%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:50 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:51 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:52 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:53 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:54 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:55 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:56 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:57 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:58 entropy_analyzer · 70%
critical
AWS Access Key ID found in bolyra-bolyra-030884b/examples/mcp-demo/demo-data/STOLEN-API-KEYS.txt secret_scanner · 95%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:59 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:60 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_standards_architect_proof_envelope_content_type/sdk/test/envelope.test.ts:61 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_004_standards_architect_did_resolution_algorithm/sdk/test/resolver.test.ts:24 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_004_standards_architect_did_resolution_algorithm/sdk/test/resolver.test.ts:28 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_004_standards_architect_did_resolution_algorithm/sdk/test/resolver.test.ts:32 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_004_standards_architect_did_resolution_algorithm/sdk/test/resolver.test.ts:34 entropy_analyzer · 70%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_004_standards_architect_did_resolution_algorithm/sdk/src/didDocument.ts:104 entropy_analyzer · 75%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_proof_envelope_codec/sdk/test/envelope.test.ts:45 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_proof_envelope_codec/sdk/test/envelope.test.ts:46 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_proof_envelope_codec/sdk/test/envelope.test.ts:47 entropy_analyzer · 70%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_session_token_offchain/sdk/test/session/SessionTokenVerifier.test.ts:63 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_session_token_offchain/sdk/test/session/SessionTokenVerifier.test.ts:113 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_session_token_offchain/sdk/test/session/SessionTokenVerifier.test.ts:136 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_session_token_offchain/sdk/test/session/SessionTokenIssuer.test.ts:48 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_session_token_offchain/sdk/test/session/SessionTokenIssuer.test.ts:60 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_session_token_offchain/sdk/test/session/SessionTokenIssuer.test.ts:74 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_session_token_offchain/sdk/test/session/SessionTokenIssuer.test.ts:110 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_session_token_offchain/sdk/test/session/SessionTokenIssuer.test.ts:145 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_006_sdk_designer_session_token_offchain/sdk/src/session/SessionTokenVerifier.ts:30 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_002_framework_integrator_session_token_offchain/sdk/src/session.ts:77 entropy_analyzer · 75%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_000_formal_verifier_circuit_invariant_properties/test/invariants/nullifier_uniqueness.test.js:20 entropy_analyzer · 70%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_003_sdk_designer_session_token_offchain/sdk/test/session.test.ts:103 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/protocol-autoresearch/experiments/tier2_003_sdk_designer_session_token_offchain/sdk/src/session.ts:102 entropy_analyzer · 75%
medium
Buffer.from base64 in bolyra-bolyra-030884b/examples/verified-actions-demo/src/gateway-host.ts:178 entropy_analyzer · 75%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/examples/receipt-scoring-kit/src/generate.ts:160 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/examples/receipt-scoring-kit/src/generate.ts:176 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/sdk-python/tests/test_envelope.py:38 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/sdk/test/eddsa-verify.test.ts:10 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/sdk/test/eddsa-verify.test.ts:51 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/sdk/test/identity-edge-cases.test.ts:149 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/sdk/test/envelope.test.ts:159 entropy_analyzer · 70%
medium
Hex string literal (>50 chars) in bolyra-bolyra-030884b/sdk/test/envelope.test.ts:160 entropy_analyzer · 70%
info
package.json metadata manifest_parser · 100%
info
Required env vars (79) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 80%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
medium
Permission: database access detected permission_analyzer · 80%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 1489 components sbom_generator · 100%
critical
Database URL with Password found in bolyra-bolyra-030884b/registry/docker-compose.yml secret_scanner · 85%
critical
AWS Access Key ID found in bolyra-bolyra-030884b/examples/mcp-demo/recordings/bolyra-mcp-demo.cast secret_scanner · 95%
critical
AWS Secret Access Key found in bolyra-bolyra-030884b/examples/mcp-demo/demo-data/STOLEN-API-KEYS.txt secret_scanner · 90%
critical
GitHub Personal Access Token found in bolyra-bolyra-030884b/examples/mcp-demo/demo-data/STOLEN-API-KEYS.txt secret_scanner · 95%
critical
Database URL with Password found in bolyra-bolyra-030884b/examples/mcp-demo/demo-data/STOLEN-API-KEYS.txt secret_scanner · 85%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%