Repository navigation
Audit: remote content, written keys, look-alike names, whole-folder update diff - #23
Merged
Merged
Conversation
…diff every file on update A skill that reads content at a URL is reported: that content can change after the review, and a pinned commit does not pin it. Keys written in a skill are reported, cut to their first characters. The catalog names the far more installed skill a name could be taken for. The update diff now compares the other text files of the folder, with their new warning signs.
devohmycode
force-pushed
the
feat/vetting-signals
branch
from
November 10, 2026 14:50
452a364 to
3f9e08e
Compare
devohmycode
marked this pull request as ready for review
November 10, 2026 15:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Four additions to the security audit, from what a review of a third-party skill should cover.
What changes
remoteContent, medium). A line where the skill fetches, reads or downloads something at a URL is reported: what is served there can change after the review, and pinning the skill to a commit does not pin it. A line that already matches "downloads and runs code" or "sends data" is reported under that sign only.hardcodedKey, medium):sk-…,ghp_…,github_pat_…,AKIA…,xox?-…,AIza…, private key blocks. The report shows the key cut to its first characters; placeholders are ignored.lookalike, medium). From the catalog: a name, or an owner's name for a skill of the same name, one character away from a skill installed at least 1,000 times and 20 times more. Shown by the install audit (CLI, tree, web),show,show_skilland the web preview, with the skill it resembles.updateDiffcompares the other text files too: files added, changed or removed are listed byupdate, shown in the tree's preview under theSKILL.md, and returned byoutdated_skillsasfiles_changed. New warning signs carry their file.The three new labels are translated in the nine languages.
Limits
remoteContentis a pattern: a plain documentation link after "read" or "load" is flagged too. This changes one existing expectation: a docs table holdingcurl https://…/llms.txtused to be quiet and is now reported.design-system/design-systems). The threshold was then raised to 8 characters; the rate was not measured again.Tests
npm run typecheckandnpm run buildpass.npm test: 279 pass.