Build1 publisher3 min readPublished
Wake Forest study traces skill credential leaks to the gap between instructions and code
Ying Zhang told Lets Data Science that a useful review of a third-party agent skill follows an API key from the instruction that asks for it to the function that receives it and on to where it lands.
The Engineer · Build desk

What happened
- Ying Zhang of Wake Forest University told Lets Data Science that reviewing an AI skill means checking what it claims to do, what its code does, and how the model interprets and executes the instructions.
- In that sample the team found 520 affected skills carrying 1,708 issues, splitting them into 437 classified as vulnerable and 83 classified as malicious.
- Zhang corrected an overbroad reading of the work, saying static analysis remains useful and the gap is the relationship between written instructions and executable code.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- decision A team vetting a skill now has a step it can actually perform: open the description and the script together and match the instruction that asks for the key to the function that receives it.
- constraint Intent cannot be settled from source alone, so a reviewer working only from code can report a leak but cannot support the stronger accusation an incident report needs.
- exposure Consumers who pulled a forked copy stay exposed after a marketplace takedown, because the copy does not learn that the original changed.
- contradiction The 3.1 percent flagged rate invites reuse as a population figure, and the study's own framing rules that out by tying the count to one sample and one detection method.
The two halves of a skill fail together. The written workflow helps an agent decide what to do, and the scripts determine what happens when those operations run [4]. The secret in the middle is a credential: an API key or access token that lets software act on an account's behalf [5]. An agent needs that key to reach a service, the skill tells it how to complete the task, and the script makes the connection [2].
So the check Ying Zhang, an assistant professor of computer science at Wake Forest University, describes is a trace [1]. A reference to a credential can be legitimate; the question is whether its use matches the declared task and whether it is exposed elsewhere [7]. That means following the key through the whole process: why the instructions request it, how the code handles it, and where it appears during execution [3]. In practice a reviewer has to connect which instruction causes a credential to be supplied, which function receives it, and whether its eventual destination makes sense for the task [11].
Asked whether static scanners are structurally unable to see these problems, Zhang told LDS: "However, we would not say that purely static scanners are structurally blind to these vulnerabilities" [8]. Static analysis can identify some leakage patterns [9]. What code-only analysis can miss is the security consequence of a mismatch or interaction between the instructions and program behavior, and her proposed direction is analysis that follows the workflow and movement of data across both [9][10].
The numbers are a sample. The researchers took a February 12 snapshot of 170,226 SkillsMP skills and sampled 17,022, about one in ten [12][1]. The 520 affected skills they identified are 3.1 percent of that sample, and the 1,708 issues work out to about 3.3 per flagged skill [13][2][3]. Of the 520, the paper classifies 437 as vulnerable and 83, or 16 percent, as malicious [14][4]. The source states plainly that these figures describe the study's sample and detection process, not a count of every unsafe skill available today [15].
Assigning intent is where runtime comes in. The vulnerable-versus-malicious call depends on runtime behavior and code inspection [16]. A developer might expose sensitive information through debugging code, and an agent might misinterpret instructions and reveal information during execution [17]. Without sufficient evidence of deliberate credential theft, the researchers classified those cases as vulnerable [18]. An exposed secret needs attention either way, but the evidence needed to call a developer's work deliberately malicious is different from the evidence that a leak occurred [19].
Zhang says the malicious skills found through the team's disclosure process were removed from SkillsMP [20]. A fork is a separate copy of a repository that can continue to exist after the original changes [21]. Removing a file upstream does not update every copy already in circulation [22]. In my view that makes rotating the credential the only remediation that reaches copies you cannot enumerate. Zhang recommends automated security checks before distribution, together with ways to flag or withdraw skills [23].
What to watch
- Whether SkillsMP adds automated checks before distribution and a way to flag or withdraw a listing, as Zhang recommends.
- Whether anyone ships an instruction-to-code data flow analyser a team can run in CI, and what its false positive rate is on real skills.
- A snapshot taken after February 12 that would show whether the 3.1 percent flagged rate in the sample moves once disclosure has run its course.