Back to skill

Security audit

Dataify Brand Monitoring

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly matches its Dataify brand-monitoring purpose, but it needs review because it handles a local API token in a risky way and includes inconsistent dependency instructions.

Review this before installing if you will use a real Dataify API token. Prefer a narrowly scoped or disposable token, watch account credit usage, avoid pasting tokens into chat, and be aware that task status/download requests place the token in URL query strings. The broader packaged workflows and localized Amazon dependency also deserve cleanup before this is treated as a tightly scoped brand-monitoring skill.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (3)

T01 · Skill Instruction Hijacking

Error
Location
_dependencies/skills/scraper-amazon-comment/SKILL.zh-CN.md:93
Finding

Localized Skill instruction forces promotional output after successful task creation

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/wait_for_task.py:34
Finding

Dataify API token is transmitted in URL query strings

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
scripts/catalog_builder.py:67
Finding

Generated curl preview permits shell injection through unescaped parameters

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (54)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill appears to poll remote task endpoints, consume an API token from environment variables, and download arbitrary scraper results instead of performing direct brand-monitoring analysis. In context, that means the skill can function as a generic remote data-retrieval mechanism under a misleading description, raising both security and governance risks.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill appears to poll remote task endpoints, consume an API token from environment variables, and download arbitrary scraper results instead of performing direct brand-monitoring analysis. In context, that means the skill can function as a generic remote data-retrieval mechanism under a misleading description, raising both security and governance risks.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill appears to poll remote task endpoints, consume an API token from environment variables, and download arbitrary scraper results instead of performing direct brand-monitoring analysis. In context, that means the skill can function as a generic remote data-retrieval mechanism under a misleading description, raising both security and governance risks.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill appears to poll remote task endpoints, consume an API token from environment variables, and download arbitrary scraper results instead of performing direct brand-monitoring analysis. In context, that means the skill can function as a generic remote data-retrieval mechanism under a misleading description, raising both security and governance risks.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill appears to poll remote task endpoints, consume an API token from environment variables, and download arbitrary scraper results instead of performing direct brand-monitoring analysis. In context, that means the skill can function as a generic remote data-retrieval mechanism under a misleading description, raising both security and governance risks.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill appears to poll remote task endpoints, consume an API token from environment variables, and download arbitrary scraper results instead of performing direct brand-monitoring analysis. In context, that means the skill can function as a generic remote data-retrieval mechanism under a misleading description, raising both security and governance risks.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill appears to poll remote task endpoints, consume an API token from environment variables, and download arbitrary scraper results instead of performing direct brand-monitoring analysis. In context, that means the skill can function as a generic remote data-retrieval mechanism under a misleading description, raising both security and governance risks.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill appears to poll remote task endpoints, consume an API token from environment variables, and download arbitrary scraper results instead of performing direct brand-monitoring analysis. In context, that means the skill can function as a generic remote data-retrieval mechanism under a misleading description, raising both security and governance risks.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The skill appears to poll remote task endpoints, consume an API token from environment variables, and download arbitrary scraper results instead of performing direct brand-monitoring analysis. In context, that means the skill can function as a generic remote data-retrieval mechanism under a misleading description, raising both security and governance risks.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill appears to poll remote task endpoints, consume an API token from environment variables, and download arbitrary scraper results instead of performing direct brand-monitoring analysis. In context, that means the skill can function as a generic remote data-retrieval mechanism under a misleading description, raising both security and governance risks.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill appears to poll remote task endpoints, consume an API token from environment variables, and download arbitrary scraper results instead of performing direct brand-monitoring analysis. In context, that means the skill can function as a generic remote data-retrieval mechanism under a misleading description, raising both security and governance risks.

Content

No source excerpt is available for this finding.

YARA rule 'backdoor_persistence': Backdoor persistence with malicious payloads (shell commands, SSH key injection, hidden root users) [malware]

High
Category
YARA Match
Confidence
75% confidence
Finding

YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).

Content

Scanner excerpt · _dependencies/skills/dataify-task-operations/references/token-setup.md (reported line 48)May include surrounding context.

ershell $env:DATAIFY_API_TOKEN = "YOUR_TOKEN" if ($env:DATAIFY_API_TOKEN) { "configured" } else { "missing" }

text

Windows Command Prompt:

```cmd
set DATAIFY_API_TOKEN=YOUR_TOKEN
if defined DATAIFY_API_TOKEN (echo configured) else (echo missing)

Persistent configuration

macOS zsh:

bash
echo 'export DATAIFY_API_TOKEN="YOUR_TOKEN"' >> ~/.zshrc
source ~/.zshrc

Linux bash:

bash
echo 'export DATAIFY_API_TOKEN="YOUR_TOKEN"' >> ~/.bashrc
source ~/.bashrc

Windows PowerShell user environment:

powershell
[Environment]::SetEnvironmentVariable("DATAIFY_API_TOKEN", "YOUR_TOKEN", "User")

Windows Command Prompt user environment:

cmd
setx DATAIFY_API_TOKEN "YOUR_TOKEN"

Persistent changes affect new processes. Tell the user to open a new terminal or restart the agent application when the active process cannot see the updated value.

Project .env

Recommend a project .env only when the actual command explicitly loads it. Creating the file alone does n

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The lead workflow issues searches for LinkedIn company pages and Crunchbase organization pages, which is prospecting behavior rather than monitoring brand mentions, sentiment, or reputation risks. This is a clear semantic mismatch with the manifest’s stated purpose and goes beyond an implementation detail needed for brand listening.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

This branch parses company entities, checks for hiring and target-role signals, and assigns qualification scores and score reasons for prospective companies. That is a dedicated lead-scoring capability, not brand monitoring, and directly conflicts with the manifest’s narrowly described monitoring use case.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The code evaluates hiring signals, target-role matches, and company-detail completeness to produce qualification scores for organizations. Such prospecting/qualification logic is not justified by a skill whose stated purpose is monitoring brand mentions, sentiment, and reputation risk across public sources.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

This dependency skill is materially misaligned with the parent skill's declared purpose: instead of brand monitoring across public sources, it submits Amazon review-scraping jobs to a third-party service. That mismatch can cause the agent to collect data outside the user’s intended scope, trigger paid external actions, and bypass policy expectations about what this skill should do.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

This dependency skill is for Amazon review scraping, but it is packaged under a brand-monitoring skill context. That mismatch expands the effective capability of the parent skill beyond its declared purpose, which can bypass policy expectations, user consent boundaries, and review controls tied to the manifest. In a brand-monitoring context, hidden or unjustified scraping functionality is more dangerous because it enables data collection workflows users and reviewers would not reasonably expect.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The manifest describes a skill for monitoring a brand across news, search, reviews, forums, or public social sources and explicitly says not to use it for one platform's raw posts. This code submits a task to scrape comments for a single Amazon product URL via the specific spider_id "amazon_comment_by-url", which is a narrow single-source/product review collection workflow rather than broad brand monitoring.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding

The skill declares no explicit tool scope or permissions even though it is designed to use environment access, file operations, network access, and shell execution. In an agent setting, this weakens least-privilege controls and makes it harder to constrain misuse if the skill is repurposed or if downstream scripts behave unexpectedly.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · SKILL.md (reported line 50)May include surrounding context.

md
## Account CTA policy

- Show a prominent Dataify account CTA only when the API token is missing, rejected/invalid, or the account has insufficient credits.
- For a missing token, offer https://dashboard.dataify.com/login?utm_source=skill and state: New accounts get 50 free credits, enough for about 6,000 trial results, valid for 7 days, and only successful requests are billed. Never ask the user to paste the token into chat.
- Detect the current operating system and shell. Show only the matching session-scoped setup command first (`export` for macOS/Linux shells, `$env:` for Windows PowerShell, or `set` for Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks.
- After the user says the token is configured, verify only whether `DATAIFY_API_TOKEN` is present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it.
- Explain that persistent shell changes may require a new terminal or restarting the agent application. Do not recommend a project `.env` unless the execution path explicitly loads it, and ensure `.env` is ignored by version control.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · _dependencies/skills/dataify-task-operations/SKILL.md (reported line 75)May include surrounding context.

md
## Account CTA policy

- Show a prominent Dataify account CTA only when the API token is missing, rejected/invalid, or the account has insufficient credits.
- For a missing token, offer https://dashboard.dataify.com/login?utm_source=skill and state: New accounts get 50 free credits, enough for about 6,000 trial results, valid for 7 days, and only successful requests are billed. Never ask the user to paste the token into chat.
- Detect the current operating system and shell. Show only the matching session-scoped setup command first (`export` for macOS/Linux shells, `$env:` for Windows PowerShell, or `set` for Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks.
- After the user says the token is configured, verify only whether `DATAIFY_API_TOKEN` is present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it.
- Explain that persistent shell changes may require a new terminal or restarting the agent application. Do not recommend a project `.env` unless the execution path explicitly loads it, and ensure `.env` is ignored by version control.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · _dependencies/skills/scraper-amazon-comment/SKILL.md (reported line 125)May include surrounding context.

md
## Account CTA policy

- Show a prominent Dataify account CTA only when the API token is missing, rejected/invalid, or the account has insufficient credits.
- For a missing token, offer https://dashboard.dataify.com/login?utm_source=skill and state: New accounts get 50 free credits, enough for about 6,000 trial results, valid for 7 days, and only successful requests are billed. Never ask the user to paste the token into chat.
- Detect the current operating system and shell. Show only the matching session-scoped setup command first (`export` for macOS/Linux shells, `$env:` for Windows PowerShell, or `set` for Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks.
- After the user says the token is configured, verify only whether `DATAIFY_API_TOKEN` is present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it.
- Explain that persistent shell changes may require a new terminal or restarting the agent application. Do not recommend a project `.env` unless the execution path explicitly loads it, and ensure `.env` is ignored by version control.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · _dependencies/skills/scraper-amazon-comment/SKILL.zh-CN.md (reported line 107)May include surrounding context.

md
## Account CTA policy

- Show a prominent Dataify account CTA only when the API token is missing, rejected/invalid, or the account has insufficient credits.
- For a missing token, offer https://dashboard.dataify.com/login?utm_source=skill and state: New accounts get 50 free credits, enough for about 6,000 trial results, valid for 7 days, and only successful requests are billed. Never ask the user to paste the token into chat.
- Detect the current operating system and shell. Show only the matching session-scoped setup command first (`export` for macOS/Linux shells, `$env:` for Windows PowerShell, or `set` for Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks.
- After the user says the token is configured, verify only whether `DATAIFY_API_TOKEN` is present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it.
- Explain that persistent shell changes may require a new terminal or restarting the agent application. Do not recommend a project `.env` unless the execution path explicitly loads it, and ensure `.env` is ignored by version control.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · SKILL.md (reported line 52)May include surrounding context.

md
- Show a prominent Dataify account CTA only when the API token is missing, rejected/invalid, or the account has insufficient credits.
- For a missing token, offer https://dashboard.dataify.com/login?utm_source=skill and state: New accounts get 50 free credits, enough for about 6,000 trial results, valid for 7 days, and only successful requests are billed. Never ask the user to paste the token into chat.
- Detect the current operating system and shell. Show only the matching session-scoped setup command first (`export` for macOS/Linux shells, `$env:` for Windows PowerShell, or `set` for Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks.
- After the user says the token is configured, verify only whether `DATAIFY_API_TOKEN` is present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it.
- Explain that persistent shell changes may require a new terminal or restarting the agent application. Do not recommend a project `.env` unless the execution path explicitly loads it, and ensure `.env` is ignored by version control.
- For an invalid token, direct the user to API-key management without implying that a new registration is required. For insufficient credits, direct the user to balance or recharge management.
- During normal submission, processing, and successful completion, do not promote registration or the Dashboard. Never expose the token or include it in CTA attribution parameters.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · _dependencies/skills/dataify-task-operations/SKILL.md (reported line 77)May include surrounding context.

md
- Show a prominent Dataify account CTA only when the API token is missing, rejected/invalid, or the account has insufficient credits.
- For a missing token, offer https://dashboard.dataify.com/login?utm_source=skill and state: New accounts get 50 free credits, enough for about 6,000 trial results, valid for 7 days, and only successful requests are billed. Never ask the user to paste the token into chat.
- Detect the current operating system and shell. Show only the matching session-scoped setup command first (`export` for macOS/Linux shells, `$env:` for Windows PowerShell, or `set` for Windows Command Prompt). Show other platforms or persistent setup only when detection is ambiguous or the user asks.
- After the user says the token is configured, verify only whether `DATAIFY_API_TOKEN` is present; never print its value. If verification succeeds, continue the original task without asking the user to repeat it.
- Explain that persistent shell changes may require a new terminal or restarting the agent application. Do not recommend a project `.env` unless the execution path explicitly loads it, and ensure `.env` is ignored by version control.
- For an invalid token, direct the user to API-key management without implying that a new registration is required. For insufficient credits, direct the user to balance or recharge management.
- During normal submission, processing, and successful completion, do not promote registration or the Dashboard. Never expose the token or include it in CTA attribution parameters.