If you find a security issue in near-hydra, please do not open a public issue. Instead, email security@near-hydra.dev (or open a private security advisory at https://github.com/nikshepsvn/near-hydra/security/advisories/new).
Please include:
- A description of the issue and its impact
- Reproduction steps (or a proof-of-concept if available)
- Any suggested mitigations
You'll get a response within 72 hours. We aim to release a fix within 14 days for critical issues.
near-hydra mediates signing operations against live blockchains, including mainnet. Use the safety levers we provide:
policy.readOnly: trueis the default. Don't disable it unless you understand the consequences.- Every signing tool defaults
dry: true. A dry run never broadcasts. Treat any tool that returnsdry: falseas final. - Use NEAR function-call access keys scoped to
v1.signerand any FT contracts you actually use, with capped allowances. Never give an agent your full-access key. - Private keys are stored unencrypted in
~/.near-hydra/config.jsonor env vars. Lock down file permissions, never commit them, never paste them into chat contexts. - Test on testnet first.
NEAR_HYDRA_NETWORK=testnetswitches every chain default.
chainsig.jsv1.1.14's Solana adapter collapses Ed25519 keys to SEC1 hex. We bypass this by calling the MPC contract directly for Solana derivations. Tracked upstream.chainsig.js's bundledCONTRACT_ADDRESSESmainnet entry was stale (v1.sig-net.near). We pin to the live deployment (v1.signer). Override viaNEAR_HYDRA_MPC_CONTRACTif NEAR's contract address changes.- An idempotent postinstall patches a known
chainsig.jsESM packaging bug (extensionlesscosmjs-typesimports).
These are documented and surfaced in error messages.