Skip to content
cccskills
FreePublished on GitHub

pump-security

Defense-in-depth security across Rust, TypeScript, and Bash for the Pump SDK — cryptographic key handling, memory zeroization, secure file I/O, input validation, privilege management, dependency auditing, and a 60+ item security checklist.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md3.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Security Practices — Cryptographic Safety, Memory Zeroization & Hardened I/O

Defense-in-depth security across Rust, TypeScript, and Bash: key handling, memory zeroization, secure file I/O, input validation, privilege management, and dependency auditing.

Memory Zeroization

Rust

use zeroize::Zeroize;

struct SecureBytes(Vec<u8>);

impl Drop for SecureBytes {
    fn drop(&mut self) {
        self.0.zeroize();
    }
}

TypeScript

try {
    // ... use secretKey
} finally {
    secretKey.fill(0);
    // Best-effort: GC may have copied the buffer
}

Shell

shred -u "$keypair_file" 2>/dev/null || rm -P "$keypair_file"

RNG Quality

LanguageSourceVerification
RustOsRngVerify via solana-sdk internals
TypeScriptcrypto.getRandomValuesNode.js built-in CSPRNG
Shellsolana-keygenDelegates to Rust OsRng

Keypair Integrity Verification

  1. Re-derive public key from secret key
  2. Compare derived key with stored public key
  3. Sign a test message with the keypair
  4. Verify the signature with the public key
  5. Validate Base58 encoding roundtrip

Secure File I/O

  • Set permissions to 0o600 before writing content (race-free on Unix)
  • Use O_CREAT | O_EXCL to prevent overwrites
  • Write to temp file + atomic rename for crash safety
  • Never write secret keys to stdout unless explicitly requested

Input Validation

InputValidation
Base58 addressRegex: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
File pathsReject .., prevent traversal
Tool inputsZod schemas in MCP server
Shell argumentsQuoted variables, no eval

Security Checklist Summary (60+ items)

Key categories:

  • Cryptographic library allowlist
  • Memory zeroization in all code paths
  • File permission enforcement
  • Input validation and sanitization
  • Error message information leakage prevention
  • Dependency auditing (cargo audit, npm audit)
  • No network calls during key generation
  • Secret key never in logs, error messages, or telemetry

Attack Vectors to Test

VectorDefense
Weak RNGOnly CSPRNG (OsRng / crypto.getRandomValues)
Memory dumpZeroize on drop/finally
File permission leak0o600 enforcement
Path traversalInput validation
Shell injectionQuoted variables, no eval
Dependency supply chaincargo audit, npm audit

Patterns to Follow

  • Always use approved crypto libraries: solana-sdk, @solana/web3.js, solana-keygen
  • Zeroize key material in all code paths (success, error, early return)
  • Set file permissions before writing content
  • Validate all inputs at the boundary (CLI args, API inputs, file paths)
  • Never log or display secret keys
  • Run dependency audits in CI

Common Pitfalls

  • JavaScript fill(0) is best-effort — GC may relocate buffers
  • Rust String types may leave copies in memory — use Vec<u8> with Zeroize
  • chmod after write has a race window — prefer fchmod or umask
  • Error messages must not include secret key material
  • cargo audit may miss recently disclosed CVEs — supplement with manual review

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.

The English summary is being prepared. Showing the original description.

x402agent/SolanaOS9Updated Jul 23, 2026

Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks SolanaOS to add a note, list notes, search notes, or manage note folders.

The English summary is being prepared. Showing the original description.

x402agent/SolanaOS9Updated Jul 23, 2026

Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.

The English summary is being prepared. Showing the original description.

x402agent/SolanaOS9Updated Jul 23, 2026

Create, search, and manage Bear notes via grizzly CLI.

The English summary is being prepared. Showing the original description.

x402agent/SolanaOS9Updated Jul 23, 2026

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

The English summary is being prepared. Showing the original description.

x402agent/SolanaOS9Updated Jul 23, 2026

blucli

Free

BluOS CLI (blu) for discovery, playback, grouping, and volume.

The English summary is being prepared. Showing the original description.

x402agent/SolanaOS9Updated Jul 23, 2026

See all skills by x402agent

Report a problem with this skill