Context
Skills are one of the highest-priority items for organizations to bring into their agentic systems right now. Across agents from Copilot, to ChatGPT, to Claude, and even other AI in vendors like Zoom, Skills are now a staple feature. Skills encode domain-specific knowledge and are comprised of text and code that improve an agent’s capability to perform a specific task.
The catch? Skills are largely distributed via online marketplaces. Due to the nature of untrusted third-party code and prompts being input to highly capable AI systems with access to sensitive data, vetting untrusted Skills has become a focal point for secure adoption.
When it comes to vetting Skills, not all Skills carry the same risk; for example, a text-only Skill is typically lower risk than a Skill that contains bundled code. The most pressing need to assess Skills, across our customers, has come from Skills that involve external packages or external URLs (e.g., communication with third parties).
The PromptArmor Threat Intel Team analyzed 1,046,413 unique Skills from leading Skill marketplaces. 52.1% of Skills invoked external packages or involved external URLs. Below, we analyze what these external sources were used for and what the risks are for organizations evaluating requests to use Skills.
What are Skills doing with external URLs and packages?
Below, we break down what Skills are doing with external URLs and packages.
Across the population of Skills, we have categorized the external URLs that are referenced.
We note that even if a Skill was flagged for containing a URL to a legitimate service like GitHub, which one’s organization may utilize, that does not absolve all concerns. For example, we identified Skills that retrieved malicious payloads from public GitHub repositories.
We also categorized the packages that are used by Skills.
Skills largely relied on Python and NPM packages, with very few packages relying on other package managers.
What is the Risk of Skills calling external URLs and importing packages?
External URLs and packages have several distinct risks:
- A Skill can manipulate an agent to interact with a malicious service (e.g., download malware, exfiltrate data, etc.).
- A Skill can interact with legitimate services with data processing, retention, and residency postures that have not been evaluated by your organization.
- Third parties can change what is returned for a package or URL after a Skill has been approved.
Cyber Risks: Skills manipulating agents to interact with malicious services
Across cybersecurity history, users have been warned about the risks of importing untrusted packages and visiting untrusted websites. From malware installation to data exfiltration to phishing, there are many vectors for exploitation that hinge on a victim running code from or interacting with an untrusted external data source.
When agents invoke Skills, the risks are exacerbated. This is because agents are predisposed to trust and follow content in Skills. What’s more, agents have limited background on the tasks they are performing relative to human users, making them more susceptible to manipulation than a human user would be when faced with the same untrusted package or URL. Furthering this risk, Skills are utilized by non-technical users who are less prepared to identify cybersecurity risks from external URLs and packages.
Malicious Skills can exploit an agentic system to harm the user in several ways. The most common way is via an indirect prompt injection. Text in the Skill can manipulate the agent to take harmful actions (e.g., send data to an untrusted URL, download and run malware, etc.).
The other major way a malicious Skill can harm a user is through code bundled with the Skill. Bundled code that comes with a Skill can contain malware. The agent may then run this code without identifying the risks (often, the Skill.md front-matter will be benign, leading the agent to run downstream code without fully analyzing it).
Data Processing Risks: Skills interact with legitimate services that have not been evaluated by your organization
Beyond overtly malicious Skills, there is a data privacy concern related to untrusted package and URL access. When an agent interacts with an external service, data from the agent’s environment (e.g., chat history, uploaded files, data from connectors, and plugins, etc.) can be exposed to the external service, which has not been vetted or approved by an organization.
This means that sensitive internal data is transferred to third parties with different data-processing and retention guarantees and different data residencies.
As an example, some Skills instruct the agent to invoke another third-party AI service. Are the prompts trained on? Subject to human abuse monitoring and review? Retained, maybe in a derivative or aggregated form? Organization admins are left in the dark.
Examples from the Analysis:
Background: The Marketplaces
We gathered Skills from six marketplaces: SkillsMP, Claude Marketplaces, skills.sh, ClawHub, Composio, and LobeHub. Below is the number of Skills we gathered from each:
In total we gathered about 1.95 million Skills. Deduplicated by content, 1,046,565 were unique. ~46% of Skills were duplicated (published more than once within a marketplace, or multiple times across marketplaces).
