AgentStack
SKILL verified MIT Self-run

Account Abstraction

skill-keep-starknet-strange-starknet-agentic-account-abstraction · by keep-starknet-strange

Starknet account abstraction correctness and security guidance for validate/execute paths, nonces, signatures, and session policies.

No reviews yet
0 installs
6 views
0.0% view→install

Install

$ agentstack add skill-keep-starknet-strange-starknet-agentic-account-abstraction

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution Used

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Account Abstraction? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Account Abstraction

When to Use

  • Reviewing account contract validation and execution paths.
  • Designing session-key policy boundaries.
  • Validating nonce and signature semantics.

When NOT to Use

  • General contract authoring not involving account semantics.

Quick Start

  1. Confirm __validate__ enforces lightweight, bounded checks.
  2. Confirm __execute__ enforces policy and selector boundaries.
  3. Verify replay protections (nonce/domain separation) for all signature paths.
  4. Add regression tests for each fixed session-key or policy finding.
  5. Run cairo-auditor for final AA/security pass before merge.

Core Focus

  • __validate__ constraints and DoS resistance.
  • __execute__ policy enforcement correctness.
  • Replay protection and domain separation.
  • Privileged selector and self-call protection.

Workflow

  • Main account-abstraction workflow: [default workflow](workflows/default.md)

References

  • Module index: [references index](references/README.md)

starknet.js Example

import { Account, CallData, RpcProvider } from "starknet";

const provider = new RpcProvider({ nodeUrl: process.env.STARKNET_RPC! });
const account = new Account(provider, process.env.ACCOUNT_ADDRESS!, process.env.PRIVATE_KEY!);

// Validate preview (debug-only): inspect __validate__ behavior with the current nonce.
const nonce = await account.getNonce();
const call = { contractAddress: process.env.TARGET!, entrypoint: "set_limit", calldata: CallData.compile({ value: 7 }) };
await provider.callContract({
  contractAddress: account.address,
  entrypoint: "__validate__",
  calldata: CallData.compile({ calls: [call], nonce }),
});

// Execute path: real transaction that triggers __execute__ and nonce checks.
const tx = await account.execute([call]);
await provider.waitForTransaction(tx.transaction_hash);

Error Codes and Recovery

| Code | Condition | Recovery | | --- | --- | --- | | AA-001 | __validate__ is too expensive or stateful | Remove heavy logic from validation; add a test that caps validation steps. | | AA-002 | __execute__ allows blocked selectors/self-calls | Enforce selector filters and self-call checks; add authorized/unauthorized regression tests. | | AA-003 | Nonce or domain mismatch causes replay risk | Normalize nonce source/hash domain; add replay and cross-domain tests. | | AA-999 | Unexpected runtime panic | Capture calldata + caller context, reproduce in unit tests, then escalate to cairo-auditor. |

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.