Skip to content

chain: add an RPC method allowlist for chain requests #50

Description

@mfw78

Modules can call any JSON-RPC method via chain::request(chain_id, method, params); there is no allowlist ("No method allowlist, no re-encoding of params"). If the engine is configured with an RPC endpoint that exposes signing methods (eth_sign, eth_signTransaction, personal_unlockAccount), a malicious module could sign arbitrary transactions. Production endpoints are read-only in practice, so this is primarily operational. Fix: at minimum warn on dangerous methods, or document that operators must use read-only endpoints.

File: crates/nexum-engine/src/host/impls/chain.rs (approx lines 12-35)

Metadata

Metadata

Assignees

No one assigned

    Labels

    component/chainalloy provider, chain host backend, RPC middlewareimportedImported from the pre-GitHub (Linear-era) code-review backlog.p2-annoyingNot broken, but annoying enough to matter.securitySandbox escape, capability leak, or key-handling risk.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions