toss-portfolio-state

Pass

Audited by Gen Agent Trust Hub on Oct 22, 2026

Risk Level: SAFECOMMAND_EXECUTIONPERSISTENCE
Full Analysis
  • [COMMAND_EXECUTION]: The script scripts/remote_portfolio_snapshot.ts uses Bun.spawn to execute local shell commands including ssh, scp, ssh-keygen, and ssh-copy-id. These are used to facilitate remote execution of the portfolio fetcher on a user-configured home server, which is a core feature of the skill.
  • [PERSISTENCE]: The setup command in scripts/remote_portfolio_snapshot.ts modifies the local ~/.ssh/config file to include a managed configuration directory and authorizes a device-specific Ed25519 key on the remote server. This is a documented persistence mechanism designed to allow the agent to maintain secure, passwordless access for remote snapshot retrieval.
  • [DATA_EXFILTRATION]: While the skill exports financial data, it implements comprehensive security measures in scripts/fetch_portfolio_snapshot.ts to prevent exfiltration of sensitive identifiers. A dedicated redactSensitive function masks account numbers and removes authentication tokens, secrets, and order IDs from all outputs and error messages. Furthermore, the remote fetch route explicitly blocks flags like --env-file and --base-url to prevent the redirection of server-side credentials to unauthorized endpoints.
  • [INDIRECT_PROMPT_INJECTION]: The skill's output contract in references/snapshot-contract.md explicitly addresses indirect injection risks. It defines a trust boundary where all strings returned from the Toss API are treated strictly as data, instructing downstream agents to never interpret or execute embedded instructions found in API responses or errors.
Audit Metadata
Risk Level
SAFE
Analyzed
Oct 22, 2026, 12:06 PM