linkedin-growth

Warn

Audited by Gen Agent Trust Hub on Sep 8, 2026

Risk Level: MEDIUMPERSISTENCECOMMAND_EXECUTIONEXTERNAL_DOWNLOADSDATA_EXFILTRATIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
  • [PERSISTENCE]: The skill is designed to run as a background service. The scripts/schedule.mjs script installs persistent tasks using platform-native schedulers, including launchd (macOS), systemd-user (Linux), cron (Linux), and schtasks (Windows). These tasks execute the scripts/tick.mjs heartbeat on a periodic basis, allowing for autonomous code execution.
  • [COMMAND_EXECUTION]: The skill makes extensive use of the child_process.spawn and spawnSync APIs to orchestrate workflows. It executes the external linkedin CLI tool and various internal Node.js scripts to perform operations on LinkedIn and manage the local SQLite database.
  • [EXTERNAL_DOWNLOADS]: The scripts/doctor.mjs health check script can trigger an npm install command to download and install dependencies from the public NPM registry if the --fix flag is provided.
  • [DATA_EXFILTRATION]: The scripts/migrate-notion.mjs utility reads a sensitive authentication token from the local filesystem (.notion-token) and transmits it to an external API (api.notion.com) to fetch database contents during migration operations.
  • [INDIRECT_PROMPT_INJECTION]: The lead qualification process ingests untrusted data from LinkedIn profiles (such as names, job titles, and headlines) and passes them to a sub-agent for classification against an Ideal Customer Profile (ICP). This creates a vulnerability surface where malicious content in a profile could influence the agent's logic.
  • Ingestion points: LinkedIn search results are retrieved via linkedin-cli in scripts/import.mjs and stored in temporary JSON files.
  • Boundary markers: No explicit delimiters or instructions to ignore embedded commands were found in the config/qualification-prompt.md template or related scripts.
  • Capability inventory: The skill has the ability to execute shell commands, perform network operations via the LinkedIn CLI, and write to the local filesystem and database.
  • Sanitization: The skill lacks evidence of escaping, filtering, or sanitizing LinkedIn profile data before it is interpolated into the prompts used by the qualification sub-agent.
  • [DYNAMIC_EXECUTION]: The scripts/query.mjs script allows for the execution of arbitrary SQL queries provided via the --sql flag. While it includes a containsWrite function intended to restrict the script to read-only operations, the regex-based validation of SQL strings can potentially be bypassed.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Sep 8, 2026, 06:56 AM
Security Audit — agent-trust-hub — linkedin-growth