Back to skill

Security audit

McKinsey Research

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent market-research workflow, but users should be aware it can run web research, spawn sub-agents, and save business analysis files locally.

Install through a trusted, pinned channel when possible rather than an unpinned npx or mutable git reference. Before running the skill, expect it to use web research, launch multiple sub-agents, and save local report/data files; avoid providing credentials, API keys, or confidential financial details that should not persist in the workspace.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
README.md:29
Finding

Unpinned Third-Party Installer and Skill Source

Content
View full analysis

Vulnerability Details

File Location: README.md:29-35
Vulnerability Type: Unpinned package execution and mutable supply-chain source
Risk Level: Medium

Vulnerable Code

markdown
## Installation

### Universal (Works with all platforms)

```bash
npx skills add Abdullah4AI/mckinsey-research
text

### Technical Analysis

The documented installation procedure invokes the third-party `skills` npm package through `npx` without specifying an exact package version or integrity digest. Depending on the local npm configuration and cache state, `npx` can retrieve and execute the package version currently resolved by the registry.

The Skill source is also identified by a mutable GitHub repository reference rather than a reviewed commit hash or signed release. Consequently, both the installer behavior and installed Skill content may change after this audit without any corresponding change to the reviewed artifact.

No evidence indicates that the currently reviewed project or documented package is malicious. The vulnerability is the absence of immutable dependency and source pinning, which creates a supply-chain attack opportunity.

### Attack Path

1. An attacker compromises the npm package, its publisher account, the package registry resolution path, or the referenced GitHub repository.
2. The attacker publishes malicious installer code or modifies the repository content referenced by the installation command.
3. A user follows the documented `npx skills add Abdullah4AI/mckinsey-research` instruction.
4. `npx` resolves and executes the altered installer package, which then obtains the mutable Skill source.
5. Malicious code executes with the privileges of the user running the installation command or malicious Skill instructions are installed into the user's agent environment.

### Impact Assessment

Successful exploitation could execute arbitrary code with the installing user's privileges. This may permit access to files, credentials, environmen
...[truncated 420 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the skills npm package to an exact reviewed version rather than allowing registry resolution to select the current release.
  2. Use a lockfile and npm integrity metadata wherever the installation workflow supports them.
  3. Pin the Skill source to a reviewed Git commit hash or immutable signed release tag.
  4. Publish and verify release checksums or cryptographic signatures before installation.
  5. Avoid running the installation command with administrative privileges.
  6. Document the expected package publisher, repository owner, commit hash, and verification procedure.
  7. Add automated dependency and provenance checks to detect package ownership changes, unexpected release modifications, and integrity mismatches.
  8. Prefer an installation mechanism that downloads verified content without executing a mutable package during installation.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (8)

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README advertises very broad automatic triggering based on generic phrases like 'market research' or 'competitive analysis' across English and Arabic. In agent ecosystems, overly broad trigger guidance can cause the skill to activate in situations where a simpler, safer, or more appropriate tool should be used, increasing the chance of unnecessary tool use, excessive data collection, and unintended delegation to sub-agents/web tools.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill persists multiple artifacts and writes to shared log/feedback files (data/reports.jsonl, data/feedback.json) without any explicit user-facing disclosure in the skill description or delivery flow. This creates a privacy and transparency issue: business-sensitive inputs, market plans, and optional financial data may be stored beyond the immediate session, and users are not warned that their information will be retained in files.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The natural-language schema value ar|en suggests the skill only supports or records two specific languages, but this file provides no indication that users can choose their language or that the restriction is justified by a documented regional scope. Under the policy, forcing a specific language or locale without user opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

Line L17 directs that narrative in reports should be in Arabic while keeping brand names and technical terms in English. This imposes a language/locale preference in natural-language guidance without stating that the user can choose the report language or that the constraint is optional or region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

SQP-3 applies to all file types and covers language or locale policy violations. The statement 'Arabic-first UX is expected' can be read as prescribing a specific language approach without mentioning user choice, opt-in, or context limiting it to region-specific market guidance.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The prompt instructs the model to act as a senior partner at McKinsey and to format output as a McKinsey-style strategy deck summary. This imposes a specific organizational/communication style on all outputs with no user opt-in or alternative, which can conflict with language/locale/style choice policies when such constraints are not justified.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

This markdown file includes advice that English-only products face adoption friction, which pushes a specific language/locale direction. Because markdown files should warn about behaviors that may affect user experience or policy-sensitive choices, this line would benefit from clarifying that language choice should be based on user or market requirements rather than imposed universally.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.