If you discover a security vulnerability in this project, please report it responsibly.
Do not open a public GitHub issue for security vulnerabilities.
Instead, email: support@raintree.technology
Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
We will review reports as time permits. There are no guaranteed response times.
This policy covers:
- The
perpsCLI and its exchange adapters - The agent gateway HTTP server
- The credential vault and secret handling
- The onboarding and setup wizard flows
- Private keys and API secrets are stored encrypted in
~/.perp/credentials-vault.json. - The CLI is designed to avoid logging or outputting private keys or secrets, but no guarantees are made. Users are responsible for securing their own credentials and environments.
.envfiles containing credentials are gitignored by default.- The agent gateway requires explicit opt-in (
PERPS_AGENT_ALLOW_MAINNET=1) for mainnet execution.
This software is provided under the MIT License, without warranty of any kind. The authors and contributors accept no liability for financial losses, credential exposure, or any other damages arising from the use of this software. You are solely responsible for your own security practices and trading decisions.
Run pnpm audit to check for known vulnerabilities in the dependency tree.
- Direct dependencies — every package in
dependenciesanddevDependenciesshould be a well-known, actively maintained project. Prefer@noble/curvesand@noble/hashesfor cryptographic primitives (audited, no native deps). - Transitive vulnerabilities — some upstream packages (e.g.
near-api-js,pmxtjs) pull in legacy sub-dependencies with known advisories. These are outside our control but should be monitored for upstream fixes. - Typosquat checks — verify scoped packages (
@nktkas/hyperliquid,pmxtjs) against their official repos before upgrading.
| Use case | Package | Notes |
|---|---|---|
| secp256k1 signing | @noble/curves |
Audited, pure JS, actively maintained by Paul Miller |
| Keccak-256 hashing | @noble/hashes |
Same author, same audit lineage |
| Ed25519 (NEAR) | near-api-js (KeyPair) |
Official NEAR SDK |
| EVM signatures | viem |
Uses @noble/* internally |
| Advisory | Package | Via | Severity | Status |
|---|---|---|---|---|
| GHSA-3ppc-4f35-3m26 | minimatch <10.2.1 |
pmxtjs > jest > glob |
High | Awaiting upstream fix |
| GHSA-378v-28hj-76wf | bn.js <5.2.3 |
near-api-js > elliptic |
Moderate | Awaiting upstream migration |
| GHSA-848j-6mx2-7j84 | elliptic <=6.6.1 |
near-api-js, pmxtjs |
Low | No patch; elliptic appears unmaintained |
Security updates are applied to the latest release only.