Logo officiel du MASTR MASTR Soutenir le travail
Sommaire
← Accueil du wiki

Technical reference

Solana CPI: follow permissions into the called program

One instruction can call another program using accounts and privileges from the original request.

Source-based reference · Updated 12 September 2026

Les enquêtes et les fiches de référence sont publiées en anglais. La navigation est disponible en sept langues.

Dans cet article
  1. The inner call
  2. Why the outer label is incomplete
  3. Inspect the recipient of authority
  4. Sources

The inner call

A cross-program invocation lets one Solana program invoke another. Account privileges propagate under runtime rules: a caller cannot simply turn a read-only account into a writable account or invent a user's signature. PDA signing provides a separate, checked mechanism for the deriving program.

Why the outer label is incomplete

The first instruction shown by a frontend may not describe every effect of the transaction. Its called programs can transfer tokens or modify supplied accounts within the permitted authority. A review stopping at the outer program name misses that call path.

Inspect the recipient of authority

Verify the invoked program ID and the accounts passed into it. Then trace writable and signer privileges through inner instructions. If application code accepts an arbitrary program account where it intended a known token or system program, runtime privilege rules alone do not prove the application's business intent was preserved. The finding should identify the missing program-identity or account constraint.

Sources

Lectures associées

MASTR

Soutenir la recherche indépendante

Les enquêtes, les preuves originales et les guides sont en accès libre. Les dons volontaires contribuent au financement de la recherche et au maintien des outils MASTR.

Ouvrir le portefeuille