Back to skill

Security audit

solana-compression-dev

Security checks for vulnerabilities and agentic risk

Overview

This Solana development skill is mostly disclosed, but some included code patterns appear unsafe for user-owned accounts and the skill also relies on wallet/API access and mutable install steps.

Review the compressed-account examples before copying them into production, especially update, reinitialize, close, burn, and batch-create flows. Add explicit owner or delegation checks, derive addresses from signer- or tenant-bound seeds where appropriate, prefer localnet and disposable wallets, avoid funded mainnet keypairs, and pin any installed tooling or skill source to reviewed versions.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (4)

T09 · Insecure Skill Coding Practices

Error
Location
references/compressed-pdas.md:270
Finding
Missing Owner Authorization in the Compressed Account Update Template## Vulnerability Details **File Location**: `references/compressed-pdas.md:270-303` **Vulnerability Type**: Missing object-level authorization **Risk Level**: High ### Vulnerable Code ```rust pub fn update_account<'info>( ctx: Context<'_, '_, '_, 'info, GenericAnchorAccounts<'info>>, proof: ValidityProof, current_account: MyCompressedAccount, account_meta: CompressedAccountMeta, new_message: String, ) -> Result<()> { let light_cpi_accounts = CpiAccounts::new( ctx.accounts.signer.as_ref(), ctx.remaining_accounts, crate::LIGHT_CPI_SIGNER, ); // new_mut consumes input state and creates output state let mut my_compressed_account = LightAccount::<MyCompressedAccount>::new_mut( &crate::ID, &account_meta, current_account, )?; my_compressed_account.message = new_message.clone(); msg!( "Updated compressed account message to: {}", my_compressed_account.message ); LightSystemProgramCpi::new_cpi(LIGHT_CPI_SIGNER, proof) .with_light_account(my_compressed_account)? .invoke(light_cpi_accounts)?; Ok(()) } ``` ### Technical Analysis `MyCompressedAccount` contains an `owner` field, but the update handler does not verify that the stored owner equals `ctx.accounts.signer.key()`. The signer requirement proves only that some key authorized the transaction; it does not prove that the signer owns the compressed account being modified. The validity proof establishes that the supplied compressed-account state exists in the relevant Merkle tree. It does not provide application-level authorization. Likewise, `LightAccount::new_mut` reconstructs and transitions the supplied state but does not replace a program-specific owner check. Because compressed-account state and its metadata can be obtained through public blockchain RPC s ...[truncated 1334 chars]
Remediation
## Remediation Suggestions - Verify ownership before constructing the mutable light account: ```rust require_keys_eq!( current_account.owner, ctx.accounts.signer.key(), ErrorCode::Unauthorized ); ``` - Derive the expected compressed address from signer-bound seeds and the approved address tree, then verify that `account_meta.address` equals that derived address. - Do not rely on proof possession, transaction fee payment, or an arbitrary signer as authorization. - Apply explicit authorization checks to every mutable or destructive operation, including update, close, burn, and reinitialization. - Add negative tests proving that a second keypair cannot update an account owned by the original creator. - Where delegated updates are required, implement an explicit and narrowly scoped delegation record rather than weakening the owner check.

T09 · Insecure Skill Coding Practices

Error
Location
references/compressed-pdas.md:407
Finding
Compressed Account Reinitialization Is Not Bound to the Authorized Owner## Vulnerability Details **File Location**: `references/compressed-pdas.md:407-429` **Vulnerability Type**: Missing authorization for state reinitialization **Risk Level**: High ### Vulnerable Code ```rust pub fn reinit_account<'info>( ctx: Context<'_, '_, '_, 'info, GenericAnchorAccounts<'info>>, proof: ValidityProof, account_meta: CompressedAccountMeta, ) -> Result<()> { let light_cpi_accounts = CpiAccounts::new( ctx.accounts.signer.as_ref(), ctx.remaining_accounts, crate::LIGHT_CPI_SIGNER, ); // new_empty reconstructs zero-value input hash, creates default output let my_compressed_account = LightAccount::<MyCompressedAccount>::new_empty( &crate::ID, &account_meta, )?; msg!("Reinitializing closed compressed account"); LightSystemProgramCpi::new_cpi(LIGHT_CPI_SIGNER, proof) .with_light_account(my_compressed_account)? .invoke(light_cpi_accounts)?; Ok(()) } ``` ### Technical Analysis The handler accepts caller-controlled `account_meta` and a validity proof but does not establish that the signer is authorized to reinitialize the referenced address. A closed account is represented by zero/default state, so reconstructing that state with `new_empty` does not recover or validate its former owner. The proof demonstrates that the closed state exists. It does not establish which user may consume that state. Without deriving the expected address from signer-bound seeds or consulting a durable authorization record, any signer may attempt to reinitialize a closed address. ### Attack Path 1. A legitimate user closes a compressed account while retaining its persistent address for later reuse. 2. An attacker monitors public compressed-account state and identifies the closed account's zero-value state. 3. The attacker obtains a validity proof for that state fro ...[truncated 822 chars]
Remediation
## Remediation Suggestions - Recompute the expected compressed address using seeds that include the authorized signer's public key, then require equality with `account_meta.address`. - If reinitialization must preserve authorization independently of default account data, store a durable owner-to-address relationship that is not erased when the account is closed. - Consider requiring a separate authorization PDA or signed capability specifically granting reinitialization rights. - Reject reinitialization when no verifiable owner or delegated authority can be established. - Add adversarial tests in which an unrelated signer obtains a valid proof but is still rejected. - Clearly document that a Merkle inclusion proof proves state existence, not ownership or permission.

T09 · Insecure Skill Coding Practices

Warning
Location
references/compressed-pdas.md:485
Finding
Batch Address Derivation Uses a Global Non-User-Specific Namespace## Vulnerability Details **File Location**: `references/compressed-pdas.md:485-506` **Vulnerability Type**: Predictable address collision and account squatting **Risk Level**: Medium ### Vulnerable Code ```rust for i in 0..count { let tree_pubkey = address_tree_infos[i as usize] .get_tree_pubkey(&light_cpi_accounts) .map_err(|_| ErrorCode::AccountNotEnoughKeys)?; let (address, seed) = derive_address( &[b"batch", &[i]], &tree_pubkey, &crate::ID, ); address_params.push( address_tree_infos[i as usize] .into_new_address_params_assigned_packed(seed, Some(i)) ); let mut account = LightAccount::<MyCompressedAccount>::new_init( &crate::ID, Some(address), output_state_tree_index, ); account.owner = ctx.accounts.signer.key(); accounts.push(account); } ``` ### Technical Analysis The derived address depends only on: - The fixed string `batch` - A one-byte loop index - The selected address tree - The program ID It does not include the signer's public key or another tenant-specific namespace. Consequently, two users selecting the same tree and index derive the same compressed address. The first successful caller occupies that address, and subsequent creation attempts collide. Although each created account records the caller as `owner`, ownership is assigned only after deriving the globally shared address and does not prevent another caller from claiming it first. Use of a `u8` index further limits the namespace to 256 index values per tree and program. ### Attack Path 1. An attacker determines the address tree and program ID used by the application. 2. The attacker precomputes the addresses derived from `["batch", 0]` through `["batch", 255]`. 3. The attacker submits batch-creation transactions before legitimate users and becomes the record ...[truncated 850 chars]
Remediation
## Remediation Suggestions - Include a user- or tenant-specific value in the address seeds: ```rust let (address, seed) = derive_address( &[ b"batch", ctx.accounts.signer.key().as_ref(), &[i], ], &tree_pubkey, &crate::ID, ); ``` - For resources not naturally owned by the signer, include a validated unique resource identifier or application namespace. - Use a larger index or collision-resistant identifier if more than 256 entries may be needed. - Validate that all selected address trees are approved by the application. - Add multi-user tests proving that identical batch indices produce different addresses for different owners. - If globally unique indices are intentional, implement explicit allocation and authorization rather than allowing first-come, first-served claims.

T08 · Insecure Dependencies

Warning
Location
references/compressed-pdas.md:21
Finding
Unpinned Global Installation of the ZK Compression CLI## Vulnerability Details **File Location**: `references/compressed-pdas.md:21-28` **Vulnerability Type**: Unpinned globally installed dependency **Risk Level**: Medium ### Vulnerable Code ```markdown - ZK Compression CLI: latest (`npm install -g @lightprotocol/zk-compression-cli`) ``` ```bash # Install ZK compression CLI npm install -g @lightprotocol/zk-compression-cli ``` ### Technical Analysis The instructions install the current package release globally without an exact version or integrity lock. The code executed by this command can therefore change after the Skill has been reviewed. npm installation can execute package lifecycle scripts. A compromised package release, compromised maintainer account, malicious transitive dependency, or unexpectedly incompatible future release could execute code with the invoking user's privileges. Global installation also expands the effect beyond the current project and places executable files in a shared command path. The package name is consistent across the documentation, so there is no evidence of typosquatting in the audited files. The risk arises from unpinned mutable supply-chain content and global installation. ### Attack Path 1. An upstream package, maintainer account, publication process, or transitive dependency is compromised. 2. A malicious release becomes the version selected by npm for the unpinned package specification. 3. A user follows the Skill's documented global installation command. 4. npm downloads the changed package and may execute its lifecycle scripts during installation. 5. Malicious code runs with the user's privileges and installs or modifies a globally accessible executable. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privileges of the user running npm. Depending on that user's access, exposed assets could include project source code, environment variables, Solana configuration, RPC API k ...[truncated 270 chars]
Remediation
## Remediation Suggestions - Pin a reviewed exact package version rather than requesting the latest release: ```bash npm install --save-dev @lightprotocol/zk-compression-cli@EXACT_REVIEWED_VERSION ``` - Prefer project-local installation and invoke the binary through a locked package script. - Commit and enforce a package lockfile using reproducible installation such as `npm ci`. - Verify registry provenance, package signatures or attestations where available, and lockfile integrity hashes. - Review package lifecycle scripts and consider disabling scripts during installation when operationally possible. - Upgrade only through a controlled dependency-review process. - Avoid running package installation with elevated or administrative privileges.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (105)

Intent-Code Divergence

Medium
Confidence
96% confidence
Finding
The security section claims the skill only provides documentation and code patterns, but the workflow explicitly directs active execution, including builds, tests, subagent use, and failure-recovery loops. In context, this contradiction is dangerous because it can lower operator suspicion while the skill is actually designed to perform potentially costly or credential-using actions through shell tools and repeated automated attempts.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The skill states it only provides code patterns and documentation references, yet it declares use of `API_KEY` and a local Solana keypair file for devnet/mainnet workflows. That mismatch can mislead users into exposing sensitive credentials to an automated skill execution context, increasing the risk of credential misuse, wallet compromise, or unintended on-chain transactions.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The skill recommends installation via `npx skills add Lightprotocol/skills` without pinning an exact package version or immutable source revision. This creates a supply-chain risk: a later compromised or maliciously updated package could be fetched and executed at install time, which is especially sensitive in a skill that also authorizes shell tooling and developer workflows.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The activation hint is broad enough to trigger on generic tokens like "0x" or "error name," which can cause this reference skill to activate in many unrelated conversations. In an agent setting, over-broad activation can route user context to the wrong skill, causing unintended instruction injection surface expansion or confusing/debugging responses.

Whitespace Padding

Medium
Category
Prompt Injection
Content
> **Source:** [errors.rs](https://github.com/Lightprotocol/light-protocol/blob/604892ff3902292dd0b0b047cb0bfacc469ea0d4/programs/system/src/errors.rs#L133)

| Code | Hex    | Error                                           | Message                                                                                                                           |
| :--- | :----- | :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
| 6000 | 0x1770 | `SumCheckFailed`                                | "Sum check failed"                                                                                                                |
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| Code | Hex    | Error                                           | Message                                                                                                                           |
| :--- | :----- | :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
| 6000 | 0x1770 | `SumCheckFailed`                                | "Sum check failed"                                                                                                                |
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| Code | Hex    | Error                                           | Message                                                                                                                           |
| :--- | :----- | :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
| 6000 | 0x1770 | `SumCheckFailed`                                | "Sum check failed"                                                                                                                |
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| Code | Hex    | Error                                           | Message                                                                                                                           |
| :--- | :----- | :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
| 6000 | 0x1770 | `SumCheckFailed`                                | "Sum check failed"                                                                                                                |
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| Code | Hex    | Error                                           | Message                                                                                                                           |
| :--- | :----- | :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
| 6000 | 0x1770 | `SumCheckFailed`                                | "Sum check failed"                                                                                                                |
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| Code | Hex    | Error                                           | Message                                                                                                                           |
| :--- | :----- | :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
| 6000 | 0x1770 | `SumCheckFailed`                                | "Sum check failed"                                                                                                                |
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| Code | Hex    | Error                                           | Message                                                                                                                           |
| :--- | :----- | :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
| 6000 | 0x1770 | `SumCheckFailed`                                | "Sum check failed"                                                                                                                |
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| :--- | :----- | :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- |
| 6000 | 0x1770 | `SumCheckFailed`                                | "Sum check failed"                                                                                                                |
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6000 | 0x1770 | `SumCheckFailed`                                | "Sum check failed"                                                                                                                |
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6000 | 0x1770 | `SumCheckFailed`                                | "Sum check failed"                                                                                                                |
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
| 6007 | 0x1777 | `DeriveAddressError`                            | "DeriveAddressError"                                                                                                              |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
| 6007 | 0x1777 | `DeriveAddressError`                            | "DeriveAddressError"                                                                                                              |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
| 6007 | 0x1777 | `DeriveAddressError`                            | "DeriveAddressError"                                                                                                              |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6001 | 0x1771 | `SignerCheckFailed`                             | "Signer check failed"                                                                                                             |
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
| 6007 | 0x1777 | `DeriveAddressError`                            | "DeriveAddressError"                                                                                                              |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
| 6007 | 0x1777 | `DeriveAddressError`                            | "DeriveAddressError"                                                                                                              |
| 6008 | 0x1778 | `CompressedSolPdaUndefinedForCompressSol`       | "CompressedSolPdaUndefinedForCompressSol"                                                                                         |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6002 | 0x1772 | `CpiSignerCheckFailed`                          | "Cpi signer check failed"                                                                                                         |
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
| 6007 | 0x1777 | `DeriveAddressError`                            | "DeriveAddressError"                                                                                                              |
| 6008 | 0x1778 | `CompressedSolPdaUndefinedForCompressSol`       | "CompressedSolPdaUndefinedForCompressSol"                                                                                         |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
| 6007 | 0x1777 | `DeriveAddressError`                            | "DeriveAddressError"                                                                                                              |
| 6008 | 0x1778 | `CompressedSolPdaUndefinedForCompressSol`       | "CompressedSolPdaUndefinedForCompressSol"                                                                                         |
| 6009 | 0x1779 | `DecompressLamportsUndefinedForCompressSol`     | "DecompressLamportsUndefinedForCompressSol"                                                                                       |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6003 | 0x1773 | `ComputeInputSumFailed`                         | "Computing input sum failed."                                                                                                     |
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
| 6007 | 0x1777 | `DeriveAddressError`                            | "DeriveAddressError"                                                                                                              |
| 6008 | 0x1778 | `CompressedSolPdaUndefinedForCompressSol`       | "CompressedSolPdaUndefinedForCompressSol"                                                                                         |
| 6009 | 0x1779 | `DecompressLamportsUndefinedForCompressSol`     | "DecompressLamportsUndefinedForCompressSol"                                                                                       |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
| 6007 | 0x1777 | `DeriveAddressError`                            | "DeriveAddressError"                                                                                                              |
| 6008 | 0x1778 | `CompressedSolPdaUndefinedForCompressSol`       | "CompressedSolPdaUndefinedForCompressSol"                                                                                         |
| 6009 | 0x1779 | `DecompressLamportsUndefinedForCompressSol`     | "DecompressLamportsUndefinedForCompressSol"                                                                                       |
| 6010 | 0x177A | `CompressedSolPdaUndefinedForDecompressSol`     | "CompressedSolPdaUndefinedForDecompressSol"                                                                                       |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
| 6007 | 0x1777 | `DeriveAddressError`                            | "DeriveAddressError"                                                                                                              |
| 6008 | 0x1778 | `CompressedSolPdaUndefinedForCompressSol`       | "CompressedSolPdaUndefinedForCompressSol"                                                                                         |
| 6009 | 0x1779 | `DecompressLamportsUndefinedForCompressSol`     | "DecompressLamportsUndefinedForCompressSol"                                                                                       |
| 6010 | 0x177A | `CompressedSolPdaUndefinedForDecompressSol`     | "CompressedSolPdaUndefinedForDecompressSol"                                                                                       |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| 6004 | 0x1774 | `ComputeOutputSumFailed`                        | "Computing output sum failed."                                                                                                    |
| 6005 | 0x1775 | `ComputeRpcSumFailed`                           | "Computing rpc sum failed."                                                                                                       |
| 6006 | 0x1776 | `InvalidAddress`                                | "InvalidAddress"                                                                                                                  |
| 6007 | 0x1777 | `DeriveAddressError`                            | "DeriveAddressError"                                                                                                              |
| 6008 | 0x1778 | `CompressedSolPdaUndefinedForCompressSol`       | "CompressedSolPdaUndefinedForCompressSol"                                                                                         |
| 6009 | 0x1779 | `DecompressLamportsUndefinedForCompressSol`     | "DecompressLamportsUndefinedForCompressSol"                                                                                       |
| 6010 | 0x177A | `CompressedSolPdaUndefinedForDecompressSol`     | "CompressedSolPdaUndefinedForDecompressSol"                                                                                       |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Static analysis

No suspicious patterns detected.