T08 · Insecure Dependencies
- Location
scripts/package.json:6- Finding
Non-Reproducible npm Installation Uses an Unlocked Dependency Range
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill does what it says: it logs FlashRev email send records into a user-configured Notion database, with some privacy and dependency-installation cautions.
Install only if you are comfortable copying campaign email metadata and a 300-character body preview into Notion. Use a Notion integration limited to the intended database, avoid logging sensitive campaigns unless appropriate, and prefer a pinned dependency plus package-lock.json or npm ci before broader use.
scripts/package.json:6Non-Reproducible npm Installation Uses an Unlocked Dependency Range
The skill sends detailed email records to Notion, including recipient addresses, subject lines, body previews, timestamps, and error details, but it does not clearly disclose that this data is being transmitted to a third-party service. This is dangerous because users may unknowingly export personal, confidential, or regulated communications data outside the primary mail workflow, creating privacy, compliance, and data leakage risk.
Referenced artifact was not completely inspected
node scripts/notion-push.js --campaign CAMPAIGN_ID
Referenced artifact was not completely inspected
node scripts/notion-push.js --campaign CAMPAIGN_ID
Referenced artifact was not completely inspected
node scripts/notion-push.js --campaign CAMPAIGN_ID
Referenced artifact was not completely inspected
node scripts/notion-push.js --campaign CAMPAIGN_ID
The skill requires access to sensitive environment-backed configuration (NOTION_TOKEN, NOTION_DATABASE_ID) and instructs execution of a Node script, but it does not declare an explicit tool scope or permissions boundary. That creates ambiguity about what the skill is allowed to access and makes unintended secret use or over-broad execution harder to audit and constrain.
The trigger language is broad enough to activate on common requests like viewing sent emails, campaign logs, or searching outreach history, which can cause this skill to run in more situations than the user intended. In context, that increases the chance of unnecessary access to email metadata and accidental transmission or processing of sensitive campaign information.
The dependency uses a caret range (^2.2.15), which allows automatic installation of newer minor and patch versions instead of a fully pinned artifact. This creates supply-chain risk because a compromised upstream release or unexpected behavioral change could be pulled into an environment that handles email audit data and Notion credentials.
"description": "Pushes FlashRev send-log entries into a Notion database",
"type": "module",
"dependencies": {
"@notionhq/client": "^2.2.15"
},
"engines": {
"node": ">=18"