pstack-pulse
Fail
Audited by Gen Agent Trust Hub on Oct 8, 2026
Risk Level: HIGHPERSISTENCEDYNAMIC_EXECUTIONDATA_EXFILTRATIONCOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
- [PERSISTENCE]: The skill's
installcommand creates and registers a macOS LaunchAgent (located at~/Library/LaunchAgents/dev.pstack.pulse.plist). This ensures that the monitoring daemon starts automatically whenever the user logs in and continues to run in the background across system restarts. - [DYNAMIC_EXECUTION]: The monitoring daemon periodically (every 2 seconds) attempts to execute a Node.js script found at a computed path relative to the current working directory of an active agent session. Specifically, in
scripts/lib/io.mjs, therailOffunction executesnode .agents/pstack/plan-page.mjsif it exists in the repository root. This execution happens automatically in the background, allowing a malicious repository to achieve code execution on the user's machine if the agent is used to open or edit that repository. - [DATA_EXFILTRATION]: The skill collects and transmits sensitive session data—including session titles, current working directories, and terminal transcripts—to the external API
activitysmith.com. The skill also recommends usingtailscale funnelto expose a local web server (serving session information and transcripts) to the public internet. - [COMMAND_EXECUTION]: The skill extensively uses
spawnSyncand custom wrappers to execute shell commands. This includes managing system services vialaunchctl, interacting with the macOS Keychain viasecurity, querying local databases viasqlite3, and performing variousgitoperations. These operations are performed by both the installation script and the background daemon. - [INDIRECT_PROMPT_INJECTION]: The daemon is designed to ingest and process untrusted data from external sources, creating an attack surface for indirect prompt injection.
- Ingestion points: The
readRolloutfunction inscripts/lib/io.mjsreads content from session transcript files, andreadFindingsreads from.decisions.tsvfiles within project directories. - Boundary markers: None. The skill parses these files directly to determine session state and findings.
- Capability inventory: The daemon has the ability to execute arbitrary shell commands and Node.js scripts as identified in the Command Execution and Dynamic Execution findings.
- Sanitization: There is minimal sanitization; content from transcripts is parsed as JSON, and fields are clipped for display, but the presence of specific markers in the transcript triggers logic changes in the daemon.
Recommendations
- AI detected serious security threats
Audit Metadata