
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@zeroledger/vycrypt
Advanced tools
Crypto primitives for ZeroLedger Protocol - ECDH encryption, stealth addresses, and post-quantum security.
⚠️ Warning: Software provided as-is. Not audited for production use.
npm install @zeroledger/vycrypt
import { encrypt, decrypt } from "@zeroledger/vycrypt/crypt.js";
import { generatePrivateKey, privateKeyToAccount } from "viem/accounts";
const privKey = generatePrivateKey();
const account = privateKeyToAccount(privKey);
const encrypted = encrypt("Hello, World!", account.publicKey);
const decrypted = decrypt(privKey, encrypted);
import { generateQuantumKeyPair, encryptQuantum, decryptQuantum } from "@zeroledger/vycrypt/qcrypt.js";
// Random key pair
const keyPair = generateQuantumKeyPair();
// Or deterministic from seed
const keys = generateQuantumKeyPair("my-passphrase");
const encrypted = encryptQuantum("Secret data", keyPair.publicKey);
const decrypted = decryptQuantum(keyPair.secretKey, encrypted);
import { createStealth, deriveStealthAccount } from "@zeroledger/vycrypt/stealth/index.js";
import { generatePrivateKey, privateKeyToAccount } from "viem/accounts";
import { toHex } from "viem";
const privateKey = generatePrivateKey();
const pubKey = privateKeyToAccount(privateKey).publicKey;
const { stealthAddress, random } = createStealth(pubKey);
const account = deriveStealthAccount(privateKey, toHex(random));
/crypt.js)encrypt(data: string, publicKey: Hex): HexECDH encryption with ephemeral keys and AES-256-GCM. Max 254 bytes input.
decrypt(privateKey: Hash, encodedData: Hex): stringDecrypt data encrypted with encrypt().
/qcrypt.js)generateQuantumKeyPair(seed?: string): QuantumKeyPairGenerate ML-KEM-768 key pair. Optional seed for deterministic generation.
{ publicKey: Hex, secretKey: Hex }encryptQuantum(data: string, publicKey: Hex): HexQuantum-resistant encryption using ML-KEM-768 + AES-256-GCM. Max 254 bytes input.
decryptQuantum(secretKey: Hex, encodedData: Hex): stringDecrypt quantum-encrypted data.
/stealth/index.js)createStealth(publicKey: Hex): { stealthAddress: string, random: bigint }Generate a stealth address with cryptographically secure random.
deriveStealthAccount(privateKey: Hex, random: Hex): AccountDerive private key for stealth address. Returns viem Account.
mulPublicKey(publicKey: Hex, scalar: bigint, isCompressed?: boolean): HexMultiply public key by scalar on secp256k1 curve.
mulPrivateKey(privateKey: Hex, scalar: bigint): HexMultiply private key by scalar (modulo curve order).
{
".": "./index.js", // Main exports
"./crypt.js": "./crypt.js", // Classic encryption
"./qcrypt.js": "./qcrypt.js", // Quantum encryption
"./stealth/index.js": "./stealth/index.js" // Stealth addresses
}
# Run all tests
npm test
# Validate build and ESM imports
npm run test:build
# Type checking
npm run typecheck
# Linting
npm run lint
Test coverage: 128 tests covering encryption, stealth addresses, edge cases, and build validation.
| Package | Version | Purpose |
|---|---|---|
@noble/ciphers | ^2.0.1 | AES-256-GCM encryption |
@noble/post-quantum | ^0.5.2 | ML-KEM-768 (Kyber) |
viem | ^2.38.6 | Ethereum utilities, secp256k1, hashing |
Note: vycryp re-exports
@noble/curvesand@noble/hashesfrom Viem for compatibility.
npm run build
Outputs:
index.js, crypt.js, qcrypt.js - Main modulesstealth/ - Stealth address modules*.d.ts - TypeScript declarations*.js.map - Source mapsnpm test and npm run test:build passSEE LICENSE IN LICENSE
FAQs
Crypto primitives for ZeroLedger Protocol
We found that @zeroledger/vycrypt demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.