Back to skill

Security audit

Kaspa Dev

Security checks across malware telemetry and agentic risk

Overview

This is a coherent Kaspa blockchain development skill, but its examples should be treated as risky sample code around real funds, private keys, and node operations.

Install only if you are comfortable reviewing blockchain sample code before running it. Use testnet or devnet first, never log or share real private keys or mnemonic phrases, avoid passing keys as command-line arguments, manually verify any mainnet broadcast, and review node/firewall commands before applying them to a server.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (14)

Lp3

Medium
Category
MCP Least Privilege
Confidence
81% confidence
Finding
The skill advertises and includes examples that perform network access and likely invoke local scripts/utilities, but it does not declare corresponding permissions. Undeclared capabilities reduce transparency and can cause an agent or user to invoke networked or file-writing behavior without an explicit trust decision, which is risky in a blockchain-development context where actions may affect wallets, transactions, or local artifacts.

Intent-Code Divergence

Medium
Confidence
98% confidence
Finding
The JavaScript quick-start example prints the private key to output, directly teaching an unsafe secret-handling pattern. In blockchain contexts, any leaked private key can immediately and irreversibly lead to theft of funds or unauthorized signing, and logs/terminal history often persist far beyond the demo session.

Intent-Code Divergence

Medium
Confidence
95% confidence
Finding
The documented 'Complete Example' appears to sign each input using a script derived from a transaction output indexed by the input outpoint index, rather than from the referenced UTXO's locking script. In a blockchain transaction builder, this can produce invalid signatures, failed broadcasts, or unsafe copy-paste implementations that mishandle funds logic; because this skill is specifically for Kaspa development and transaction construction, the misleading example is more dangerous than a generic code typo.

Description-Behavior Mismatch

Medium
Confidence
97% confidence
Finding
The script advertises that it can build and sign Kaspa transactions, but the signing path is only a placeholder that returns the original unsigned transaction. This is dangerous because users may believe a transaction has been signed and is ready for secure submission, leading to failed submissions or unsafe downstream handling in automation that assumes signing occurred.

Intent-Code Divergence

Medium
Confidence
96% confidence
Finding
The build_transaction docstring states that the function returns an unsigned or signed transaction, but _sign_transaction never signs and always returns the unsigned transaction. This mismatch creates a security-relevant integrity problem because callers may rely on the documented contract and submit or store transactions under the false assumption that private-key-based signing occurred.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The transaction example connects to a mainnet endpoint and submits a signed transaction without an explicit warning that it will create a real on-chain action. In a blockchain skill, omission of this warning increases the chance of accidental fund movement, fee expenditure, and irreversible mistakes by users copying the sample code.

Missing User Warnings

Medium
Confidence
82% confidence
Finding
The examples show live RPC balance/UTXO queries and transaction submission without clearly warning that these operations contact a node, may reveal wallet-related metadata, and in the case of submission can broadcast a transaction affecting real funds. In a blockchain development skill, omission of this warning increases the chance that users run examples against mainnet or production infrastructure without understanding the consequences.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The private key examples generate, serialize, and import WIF secrets without an explicit warning that WIF strings and raw private keys must be treated as highly sensitive credentials. In wallet and blockchain tooling, developers commonly copy examples verbatim; normalizing secret handling without warnings materially increases the risk of accidental exposure through logs, source control, screenshots, or shared snippets.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The example code prints a freshly generated private key directly to stdout, which exposes wallet secret material to terminal history, logs, screenshots, notebooks, and other user-visible outputs. In a blockchain development skill, users are likely to copy example code into real environments, so this pattern can lead to accidental key compromise and irreversible asset loss.

Missing User Warnings

Medium
Confidence
98% confidence
Finding
The complete example prints the mnemonic seed phrase, which is the root secret for the wallet and can be used to derive all associated private keys. Because blockchain transactions are irreversible, exposing the mnemonic through console output, logs, CI systems, or pasted transcripts can result in total wallet takeover and permanent loss of funds.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The firewall guidance changes network access policy but does not explicitly warn operators that applying these rules remotely can lock them out of SSH or unintentionally disrupt RPC/P2P availability. In a node-operations skill, users may copy commands directly onto production hosts, so omission of operational safety warnings creates a real risk of self-inflicted denial of service.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The troubleshooting step replaces the node data directory by moving it aside and restarting, which causes loss of the current local database state and a potentially lengthy re-sync. Although framed as a fix for corruption, the instructions do not clearly warn about downtime, storage impact, or confirm that wallet data is stored elsewhere, making destructive misuse plausible.

Missing User Warnings

Low
Confidence
86% confidence
Finding
Recommending `kill -9` as a generic fix encourages abrupt termination, which can interrupt writes, complicate troubleshooting, and increase the chance of data corruption or inconsistent service state. In blockchain node operations, force-killing a process should be a last resort, not presented without caution.

Missing User Warnings

High
Confidence
99% confidence
Finding
The script accepts a private key via a command-line argument, which is commonly exposed through shell history, process listings, logging, job runners, and monitoring tools. In a blockchain wallet context this is highly sensitive: disclosure of the WIF key can lead directly to wallet compromise and irreversible asset theft.

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.