twenty-crm
Pass
Audited by Gen Agent Trust Hub on Apr 8, 2026
Risk Level: SAFECOMMAND_EXECUTIONDATA_EXFILTRATION
Full Analysis
- [COMMAND_EXECUTION]: The skill executes shell scripts and Python one-liners to construct API requests. It uses Python's
json.dumpsto process user-supplied parameters like names and search terms before sending them to the API. - [COMMAND_EXECUTION]:
scripts/twenty-config.shcontains a hardcoded absolute file path (/Users/jhumanj/clawd/config/twenty.env) for configuration. This hardcoded path creates a dependency on a specific local user directory, which may lead to execution failures or unauthorized access if not properly configured on other systems. - [COMMAND_EXECUTION]:
scripts/twenty-create-company.shwrites company payload data to a static temporary file path (/tmp/twenty_create_company.json). The use of static paths in/tmpwithout unique identifiers or restricted permissions is a security risk on multi-user systems as it can lead to data leakage or symlink-based race conditions. - [DATA_EXFILTRATION]: The skill transmits CRM data and authentication tokens to a user-defined remote endpoint (
TWENTY_BASE_URL). While this is the intended purpose of the CRM integration, it constitutes a data egress point that should be monitored. - [COMMAND_EXECUTION]: Ingestion points for untrusted data include search terms and company names in
twenty-find-companies.shandtwenty-create-company.sh. While Python'sjson.dumpsprovides some sanitization, the skill lacks explicit boundary markers or instructions to the agent to ignore embedded commands in the processed CRM data.
Audit Metadata