Back to skill

Security audit

Meta

Security checks for vulnerabilities and agentic risk

Overview

The Meta-reading workflow fits its purpose, but its setup can execute unverified remote installers without a clear approval step.

Review and install a verified CLI separately before enabling the skill, including its automatic skill-installation behavior. Connect only the Meta permissions you need and understand that OOMOL mediates account access. The concrete concern is uncontrolled setup behavior; credential theft and destructive Meta actions are not supported by the inspected artifact. External installers and backend behavior remain unverified.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (7)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The supplied command performs remote installation rather than searching or reading Meta data. No Meta access or dependency relationship is shown that would establish this as a supporting implementation detail. The downloaded script's contents are unavailable, so its additional behavior cannot be determined.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

Authentication can support data access, but it is the entire behavior of the supplied chunk, with no demonstrated connection to Meta or implementation of searching and reading data. The supplied code therefore has a materially different primary purpose from the description.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

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

md
## Available actions

- `get_current_user` — Retrieve the current Meta Graph API user for the connected access token.
- `get_insights` — Retrieve Meta Ads insights for an ad account, campaign, ad set, or ad object.
- `list_ad_accounts` — List Meta ad accounts available to the connected access token.
- `list_campaigns` — List campaigns under one Meta ad account with optional delivery status filters.

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

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

md
- `get_current_user` — Retrieve the current Meta Graph API user for the connected access token.
- `get_insights` — Retrieve Meta Ads insights for an ad account, campaign, ad set, or ad object.
- `list_ad_accounts` — List Meta ad accounts available to the connected access token.
- `list_campaigns` — List campaigns under one Meta ad account with optional delivery status filters.

## Safety

External Script Fetching

High
Category
Supply Chain
Confidence
99% confidence
Finding

Piping an unpinned HTTPS download directly into bash executes whatever the installer endpoint returns with the agent process's local privileges. HTTPS protects transport but does not prevent a compromised publisher or distribution endpoint from delivering code that steals accessible data or alters the system; this overlaps with SQP-2.

Content

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

Fallback setup executes remotely downloaded installation scripts without warning about local system changes or remote-code execution.

Medium
Category
Output Handling
Confidence
97% confidence
Finding

The fallback directs an agent to execute remotely fetched shell or PowerShell code without first obtaining approval for installation and local system changes. Although conditional on a missing CLI, it turns a read-oriented Meta request into local code execution whose behavior is not constrained by the skill.

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 79)May include surrounding context.

md
- **`OOMOL_INSUFFICIENT_CREDIT`** — OOMOL billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.

- **HTTP 402 without `OOMOL_INSUFFICIENT_CREDIT`** — the third-party account itself has no active plan or credit. Report the provider error message as is; do not ask the user to recharge OOMOL.

## Resources