Back to skill

Security audit

Detect & Refresh Ad Copy Fatigue with AI Analysis

Security checks for vulnerabilities and agentic risk

Overview

The skill is purpose-aligned for ad campaign analysis, but it asks users to grant broad ad-platform access and enables scheduled alerts and live ad-test changes without enough scoping or safeguards.

Review before installing. Use read-only ad scopes where possible, avoid granting LinkedIn organization-admin access unless a specific required feature justifies it, keep Slack alerts limited to private channels, and require manual approval before any Zapier or ad-platform workflow creates or changes live ads.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:255
Finding

Excessive LinkedIn Organization Administration Permission

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 255
Vulnerability Type: Excessive privilege request
Risk Level: Medium

markdown
- Requires `administer_organization` permission

Technical Analysis

The skill primarily describes read-oriented campaign performance analysis, including retrieving advertising metrics and detecting copy fatigue. However, it requires LinkedIn's administer_organization permission, which grants organization-administration capabilities beyond those needed for read-only advertising analytics.

This violates the principle of least privilege. The broader authorization also increases the security impact of the optional automated A/B testing and third-party workflow features described elsewhere in the skill. Although the package contains no executable implementation and no evidence that this permission is actively abused, users following the documented setup could grant an agent or integration unnecessary administrative access.

Attack Path

  1. A user follows the skill's configuration instructions and authorizes LinkedIn access.
  2. The integration receives a token containing organization-administration privileges.
  3. The token is made available to the configured agent, OAuth client, or connected automation service.
  4. If that component, its workflow, or the token is compromised, the administrative scope can be used for operations beyond campaign-performance analysis.
  5. The attacker may retain access until the token expires or the user explicitly revokes the authorization.

Impact Assessment

A compromised integration could potentially exercise LinkedIn organization-level capabilities beyond the skill's stated analytical purpose. The precise operations available depend on LinkedIn's current scope definitions, token configuration, organization role assignments, and API enforcement.

The affected scope includes organizations connected through the authorized LinkedIn ac ...[truncated 229 chars]

Remediation
View remediation

Remediation Suggestions

  1. Replace administer_organization with the narrowest LinkedIn advertising-reporting or analytics scope that supports the required read operations.
  2. Document every requested OAuth scope, the feature that needs it, and whether it permits reading or writing.
  3. Separate read-only fatigue analysis from optional campaign-modification functionality.
  4. Require a distinct authorization flow and explicit user confirmation before granting any write or organization-administration scope.
  5. Use short-lived access tokens where supported and provide documented revocation and rotation procedures.
  6. Restrict tokens to the required advertising accounts and organizations rather than granting account-wide access.
  7. Add an authorization check before every modifying operation and display the exact proposed changes for user approval.
  8. Avoid exposing tokens to third-party automation platforms unless necessary; when required, use scoped credentials and audit all resulting API activity.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
Findings (4)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
API_KEY"],"bins":["python3","curl"]},"os":["macos","linux","win32"],"files":["SKILL.md"],"emoji":"📊"}}

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill requires multiple high-privilege ad platform API keys and an OpenAI key, but the description and setup guidance do not clearly warn users that campaign data will be transmitted to external services and accessed across connected ad accounts. This creates a real security and privacy risk because users may supply broad credentials without understanding the scope of access, data sharing, or retention implications.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill describes recurring scans and Slack alerts that may automatically send campaign metrics, fatigue scores, and suggested copy changes to Slack without clearly warning users that operational marketing data will be transmitted to a third-party messaging platform on a schedule. This is dangerous because sensitive business performance data could be exposed to unintended recipients or retained in Slack channels beyond the user's expectations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill advertises automatic A/B test setup and creation of test variants in live ad platforms without prominently warning that it can modify production advertising assets. This is dangerous because users may unintentionally authorize live changes that affect spend, compliance, brand messaging, or campaign performance if suggestions are deployed automatically without review.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.