vskill 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/agents/agents-registry.d.ts +48 -37
  2. package/dist/agents/agents-registry.js +206 -261
  3. package/dist/agents/agents-registry.js.map +1 -1
  4. package/dist/agents/agents-registry.test.d.ts +1 -0
  5. package/dist/agents/agents-registry.test.js +203 -0
  6. package/dist/agents/agents-registry.test.js.map +1 -0
  7. package/dist/api/client.js +9 -1
  8. package/dist/api/client.js.map +1 -1
  9. package/dist/api/client.test.d.ts +1 -0
  10. package/dist/api/client.test.js +204 -0
  11. package/dist/api/client.test.js.map +1 -0
  12. package/dist/blocklist/blocklist.d.ts +23 -0
  13. package/dist/blocklist/blocklist.js +116 -0
  14. package/dist/blocklist/blocklist.js.map +1 -0
  15. package/dist/blocklist/blocklist.test.d.ts +1 -0
  16. package/dist/blocklist/blocklist.test.js +259 -0
  17. package/dist/blocklist/blocklist.test.js.map +1 -0
  18. package/dist/blocklist/types.d.ts +18 -0
  19. package/dist/blocklist/types.js +5 -0
  20. package/dist/blocklist/types.js.map +1 -0
  21. package/dist/commands/add.d.ts +2 -0
  22. package/dist/commands/add.js +221 -6
  23. package/dist/commands/add.js.map +1 -1
  24. package/dist/commands/add.test.d.ts +1 -0
  25. package/dist/commands/add.test.js +682 -0
  26. package/dist/commands/add.test.js.map +1 -0
  27. package/dist/commands/blocklist.d.ts +1 -0
  28. package/dist/commands/blocklist.js +87 -0
  29. package/dist/commands/blocklist.js.map +1 -0
  30. package/dist/commands/blocklist.test.d.ts +1 -0
  31. package/dist/commands/blocklist.test.js +158 -0
  32. package/dist/commands/blocklist.test.js.map +1 -0
  33. package/dist/commands/remove.d.ts +7 -0
  34. package/dist/commands/remove.js +91 -0
  35. package/dist/commands/remove.js.map +1 -0
  36. package/dist/commands/remove.test.d.ts +1 -0
  37. package/dist/commands/remove.test.js +164 -0
  38. package/dist/commands/remove.test.js.map +1 -0
  39. package/dist/commands/submit.d.ts +1 -1
  40. package/dist/commands/submit.js +26 -16
  41. package/dist/commands/submit.js.map +1 -1
  42. package/dist/commands/submit.test.d.ts +1 -0
  43. package/dist/commands/submit.test.js +74 -0
  44. package/dist/commands/submit.test.js.map +1 -0
  45. package/dist/index.js +21 -2
  46. package/dist/index.js.map +1 -1
  47. package/dist/lockfile/lockfile.test.d.ts +1 -0
  48. package/dist/lockfile/lockfile.test.js +196 -0
  49. package/dist/lockfile/lockfile.test.js.map +1 -0
  50. package/dist/lockfile/types.d.ts +8 -0
  51. package/dist/marketplace/index.d.ts +2 -0
  52. package/dist/marketplace/index.js +2 -0
  53. package/dist/marketplace/index.js.map +1 -0
  54. package/dist/marketplace/marketplace.d.ts +34 -0
  55. package/dist/marketplace/marketplace.js +51 -0
  56. package/dist/marketplace/marketplace.js.map +1 -0
  57. package/dist/marketplace/marketplace.test.d.ts +1 -0
  58. package/dist/marketplace/marketplace.test.js +103 -0
  59. package/dist/marketplace/marketplace.test.js.map +1 -0
  60. package/dist/scanner/index.d.ts +4 -0
  61. package/dist/scanner/index.js +4 -0
  62. package/dist/scanner/index.js.map +1 -1
  63. package/dist/scanner/patterns.test.d.ts +1 -0
  64. package/dist/scanner/patterns.test.js +353 -0
  65. package/dist/scanner/patterns.test.js.map +1 -0
  66. package/dist/scanner/repo-scanner.d.ts +30 -0
  67. package/dist/scanner/repo-scanner.js +190 -0
  68. package/dist/scanner/repo-scanner.js.map +1 -0
  69. package/dist/scanner/tier1.test.d.ts +1 -0
  70. package/dist/scanner/tier1.test.js +182 -0
  71. package/dist/scanner/tier1.test.js.map +1 -0
  72. package/dist/scanner/tier2-llm.d.ts +28 -0
  73. package/dist/scanner/tier2-llm.js +130 -0
  74. package/dist/scanner/tier2-llm.js.map +1 -0
  75. package/dist/scanner/types.d.ts +58 -0
  76. package/dist/scanner/types.js +5 -0
  77. package/dist/scanner/types.js.map +1 -0
  78. package/dist/security/index.d.ts +2 -0
  79. package/dist/security/index.js +2 -0
  80. package/dist/security/index.js.map +1 -0
  81. package/dist/security/platform-security.d.ts +17 -0
  82. package/dist/security/platform-security.js +34 -0
  83. package/dist/security/platform-security.js.map +1 -0
  84. package/dist/security/platform-security.test.d.ts +1 -0
  85. package/dist/security/platform-security.test.js +92 -0
  86. package/dist/security/platform-security.test.js.map +1 -0
  87. package/dist/settings/index.d.ts +2 -0
  88. package/dist/settings/index.js +2 -0
  89. package/dist/settings/index.js.map +1 -0
  90. package/dist/settings/settings.d.ts +16 -0
  91. package/dist/settings/settings.js +73 -0
  92. package/dist/settings/settings.js.map +1 -0
  93. package/dist/settings/settings.test.d.ts +1 -0
  94. package/dist/settings/settings.test.js +103 -0
  95. package/dist/settings/settings.test.js.map +1 -0
  96. package/dist/utils/__tests__/paths.test.d.ts +1 -0
  97. package/dist/utils/__tests__/paths.test.js +22 -0
  98. package/dist/utils/__tests__/paths.test.js.map +1 -0
  99. package/dist/utils/__tests__/validation.test.d.ts +1 -0
  100. package/dist/utils/__tests__/validation.test.js +49 -0
  101. package/dist/utils/__tests__/validation.test.js.map +1 -0
  102. package/dist/utils/browser.d.ts +6 -0
  103. package/dist/utils/browser.js +37 -0
  104. package/dist/utils/browser.js.map +1 -0
  105. package/dist/utils/paths.d.ts +5 -0
  106. package/dist/utils/paths.js +13 -0
  107. package/dist/utils/paths.js.map +1 -0
  108. package/dist/utils/validation.d.ts +14 -0
  109. package/dist/utils/validation.js +34 -0
  110. package/dist/utils/validation.js.map +1 -0
  111. package/package.json +5 -2
  112. package/scripts/preuninstall.cjs +58 -0
@@ -1,12 +1,16 @@
1
1
  // ---------------------------------------------------------------------------
2
- // vskill add -- install a skill from GitHub with security scanning
2
+ // vskill add -- install a skill from GitHub or local plugin directory
3
3
  // ---------------------------------------------------------------------------
4
- import { mkdirSync, writeFileSync } from "node:fs";
5
- import { join } from "node:path";
4
+ import { mkdirSync, writeFileSync, readFileSync, existsSync, cpSync, chmodSync, readdirSync, } from "node:fs";
5
+ import { join, resolve } from "node:path";
6
6
  import { createHash } from "node:crypto";
7
+ import { resolveTilde } from "../utils/paths.js";
7
8
  import { detectInstalledAgents } from "../agents/agents-registry.js";
8
9
  import { ensureLockfile, writeLockfile } from "../lockfile/index.js";
9
10
  import { runTier1Scan } from "../scanner/index.js";
11
+ import { getPluginSource, getPluginVersion } from "../marketplace/index.js";
12
+ import { checkBlocklist } from "../blocklist/blocklist.js";
13
+ import { checkPlatformSecurity } from "../security/index.js";
10
14
  import { bold, green, red, yellow, dim, cyan, spinner, } from "../utils/output.js";
11
15
  async function fetchSkillContent(url) {
12
16
  const spin = spinner("Fetching skill");
@@ -33,8 +37,187 @@ async function fetchSkillContent(url) {
33
37
  return process.exit(1);
34
38
  }
35
39
  }
40
+ // ---------------------------------------------------------------------------
41
+ // Blocklist enforcement
42
+ // ---------------------------------------------------------------------------
43
+ function printBlockedError(entry) {
44
+ console.error(red(bold("\n BLOCKED: Known-malicious skill")));
45
+ console.error(red(` Skill: "${entry.skillName}"`));
46
+ console.error(red(` Threat: ${entry.threatType} (${entry.severity})`));
47
+ console.error(red(` Reason: ${entry.reason}`));
48
+ console.error(dim("\n Use --force to override (NOT recommended)"));
49
+ }
50
+ function printBlockedWarning(entry) {
51
+ const line = (s) => console.error(red(s));
52
+ line("");
53
+ line(" +-------------------------------------------------+");
54
+ line(" | WARNING: Installing a known-malicious skill! |");
55
+ line(" | |");
56
+ line(` | Skill: "${entry.skillName}"`);
57
+ line(` | Threat: ${entry.threatType} (${entry.severity})`);
58
+ line(` | Reason: ${entry.reason}`);
59
+ line(" | |");
60
+ line(" | This skill is on the malicious skills blocklist. |");
61
+ line(" | Proceeding because --force was specified. |");
62
+ line(" +-------------------------------------------------+");
63
+ line("");
64
+ }
65
+ // ---------------------------------------------------------------------------
66
+ // Plugin directory installation (local path)
67
+ // ---------------------------------------------------------------------------
68
+ /**
69
+ * Resolve the plugin subdirectory from marketplace.json.
70
+ * Returns the absolute path to the plugin's source directory.
71
+ */
72
+ function resolvePluginDir(basePath, pluginName) {
73
+ const marketplacePath = join(basePath, ".claude-plugin", "marketplace.json");
74
+ if (!existsSync(marketplacePath))
75
+ return null;
76
+ const content = readFileSync(marketplacePath, "utf-8");
77
+ const source = getPluginSource(pluginName, content);
78
+ if (!source)
79
+ return null;
80
+ return resolve(basePath, source);
81
+ }
82
+ /**
83
+ * Collect all file contents from a plugin directory for security scanning.
84
+ * Concatenates content from all readable files.
85
+ */
86
+ function collectPluginContent(pluginDir) {
87
+ const files = readdirSync(pluginDir, { recursive: true });
88
+ const parts = [];
89
+ for (const file of files) {
90
+ const fullPath = join(pluginDir, file);
91
+ try {
92
+ const content = readFileSync(fullPath, "utf-8");
93
+ parts.push(`--- ${file} ---\n${content}`);
94
+ }
95
+ catch {
96
+ // Skip unreadable files (directories, binary, etc.)
97
+ }
98
+ }
99
+ return parts.join("\n");
100
+ }
101
+ /**
102
+ * Fix permissions on hook scripts (.sh files) in the installed directory.
103
+ */
104
+ function fixHookPermissions(targetDir) {
105
+ const files = readdirSync(targetDir, { recursive: true });
106
+ for (const file of files) {
107
+ if (file.endsWith(".sh")) {
108
+ chmodSync(join(targetDir, file), 0o755);
109
+ }
110
+ }
111
+ }
112
+ /**
113
+ * Install a plugin from a local directory.
114
+ */
115
+ async function installPluginDir(basePath, pluginName, opts) {
116
+ // Resolve the plugin subdirectory from marketplace.json
117
+ const pluginDir = resolvePluginDir(basePath, pluginName);
118
+ if (!pluginDir) {
119
+ console.error(red(`Plugin "${pluginName}" not found in marketplace.json\n`) +
120
+ dim(`Checked: ${join(basePath, ".claude-plugin", "marketplace.json")}`));
121
+ process.exit(1);
122
+ }
123
+ // Blocklist check (before scanning)
124
+ const blocked = await checkBlocklist(pluginName);
125
+ if (blocked && !opts.force) {
126
+ printBlockedError(blocked);
127
+ process.exit(1);
128
+ }
129
+ if (blocked && opts.force) {
130
+ printBlockedWarning(blocked);
131
+ }
132
+ // Collect all file content for scanning
133
+ console.log(dim("\nCollecting plugin files for security scan..."));
134
+ const content = collectPluginContent(pluginDir);
135
+ // Run tier1 scan on all plugin content
136
+ console.log(dim("Running security scan..."));
137
+ const scanResult = runTier1Scan(content);
138
+ const verdictColor = scanResult.verdict === "PASS"
139
+ ? green
140
+ : scanResult.verdict === "CONCERNS"
141
+ ? yellow
142
+ : red;
143
+ console.log(`${bold("Score:")} ${verdictColor(String(scanResult.score))}/100 ` +
144
+ `${bold("Verdict:")} ${verdictColor(scanResult.verdict)}\n`);
145
+ if (scanResult.findings.length > 0) {
146
+ console.log(dim(`Found ${scanResult.findings.length} issue${scanResult.findings.length === 1 ? "" : "s"}: ` +
147
+ `${scanResult.criticalCount} critical, ${scanResult.highCount} high, ${scanResult.mediumCount} medium`));
148
+ }
149
+ // Decision based on verdict
150
+ if (scanResult.verdict === "FAIL" && !opts.force) {
151
+ console.error(red("\nScan FAILED. Refusing to install.\n") +
152
+ dim("Use --force to install anyway (not recommended)."));
153
+ process.exit(1);
154
+ }
155
+ if (scanResult.verdict === "CONCERNS" && !opts.force) {
156
+ console.error(yellow("\nScan found CONCERNS. Refusing to install.\n") +
157
+ dim("Use --force to install anyway."));
158
+ process.exit(1);
159
+ }
160
+ if (scanResult.verdict === "FAIL" && opts.force) {
161
+ console.log(yellow("\n--force: installing despite FAIL verdict.\n"));
162
+ }
163
+ if (scanResult.verdict === "CONCERNS" && opts.force) {
164
+ console.log(yellow("\n--force: installing despite CONCERNS.\n"));
165
+ }
166
+ // Detect installed agents
167
+ const agents = await detectInstalledAgents();
168
+ if (agents.length === 0) {
169
+ console.error(red("No AI agents detected. Run ") +
170
+ cyan("vskill init") +
171
+ red(" first."));
172
+ process.exit(1);
173
+ }
174
+ // Read version from marketplace.json
175
+ const marketplacePath = join(basePath, ".claude-plugin", "marketplace.json");
176
+ const marketplaceContent = readFileSync(marketplacePath, "utf-8");
177
+ const version = getPluginVersion(pluginName, marketplaceContent) || "0.0.0";
178
+ // Install: recursively copy plugin directory to cache
179
+ const sha = createHash("sha256").update(content).digest("hex").slice(0, 12);
180
+ const locations = [];
181
+ for (const agent of agents) {
182
+ const cacheDir = join(opts.global ? resolveTilde(agent.globalSkillsDir) : join(process.cwd(), agent.localSkillsDir), pluginName);
183
+ try {
184
+ mkdirSync(cacheDir, { recursive: true });
185
+ cpSync(pluginDir, cacheDir, { recursive: true });
186
+ fixHookPermissions(cacheDir);
187
+ locations.push(`${agent.displayName}: ${cacheDir}`);
188
+ }
189
+ catch (err) {
190
+ console.error(yellow(`Failed to install to ${agent.displayName}: `) +
191
+ dim(err.message));
192
+ }
193
+ }
194
+ // Update lockfile
195
+ const lock = ensureLockfile();
196
+ lock.skills[pluginName] = {
197
+ version,
198
+ sha,
199
+ tier: "SCANNED",
200
+ installedAt: new Date().toISOString(),
201
+ source: `local:${basePath}`,
202
+ };
203
+ lock.agents = agents.map((a) => a.id);
204
+ writeLockfile(lock);
205
+ // Print summary
206
+ console.log(green(`\nInstalled ${bold(pluginName)} to ${locations.length} agent${locations.length === 1 ? "" : "s"}:\n`));
207
+ for (const loc of locations) {
208
+ console.log(` ${dim(">")} ${loc}`);
209
+ }
210
+ console.log(dim(`\nSHA: ${sha} | Version: ${version}`));
211
+ }
212
+ // ---------------------------------------------------------------------------
213
+ // Main entry point
214
+ // ---------------------------------------------------------------------------
36
215
  export async function addCommand(source, opts) {
37
- // Parse owner/repo
216
+ // Plugin directory mode: local path with --plugin
217
+ if (opts.pluginDir && opts.plugin) {
218
+ return installPluginDir(opts.pluginDir, opts.plugin, opts);
219
+ }
220
+ // GitHub mode: owner/repo
38
221
  const parts = source.split("/");
39
222
  if (parts.length !== 2) {
40
223
  console.error(red("Invalid source format. Use: ") + cyan("owner/repo"));
@@ -47,6 +230,39 @@ export async function addCommand(source, opts) {
47
230
  const url = `https://raw.githubusercontent.com/${owner}/${repo}/main/${skillSubpath}`;
48
231
  // Fetch SKILL.md
49
232
  const content = await fetchSkillContent(url);
233
+ // Blocklist check (before scanning)
234
+ const skillName = opts.skill || repo;
235
+ const blocked = await checkBlocklist(skillName, undefined);
236
+ if (blocked && !opts.force) {
237
+ printBlockedError(blocked);
238
+ process.exit(1);
239
+ }
240
+ if (blocked && opts.force) {
241
+ printBlockedWarning(blocked);
242
+ }
243
+ // Platform security check (best-effort, non-blocking on network error)
244
+ const platformSecurity = await checkPlatformSecurity(skillName);
245
+ if (platformSecurity && platformSecurity.hasCritical && !opts.force) {
246
+ const criticalProviders = platformSecurity.providers
247
+ .filter((p) => p.status === "FAIL" && p.criticalCount > 0)
248
+ .map((p) => p.provider);
249
+ console.error(red("\n BLOCKED: External security scan found CRITICAL findings"));
250
+ console.error(red(` Providers: ${criticalProviders.join(", ")}`));
251
+ console.error(red(` Report: https://verified-skill.com${platformSecurity.reportUrl}`));
252
+ console.error(dim("\n Use --force to override (NOT recommended)"));
253
+ return process.exit(1);
254
+ }
255
+ if (platformSecurity && platformSecurity.hasCritical && opts.force) {
256
+ console.error(yellow("\n WARNING: External scans found CRITICAL findings"));
257
+ const criticalProviders = platformSecurity.providers
258
+ .filter((p) => p.status === "FAIL" && p.criticalCount > 0)
259
+ .map((p) => p.provider);
260
+ console.error(yellow(` Providers: ${criticalProviders.join(", ")}`));
261
+ console.error(yellow(" --force: proceeding despite CRITICAL findings\n"));
262
+ }
263
+ if (platformSecurity && platformSecurity.overallVerdict === "PENDING") {
264
+ console.log(dim("\n External scans are pending. Proceeding with install.\n"));
265
+ }
50
266
  // Run tier1 scan
51
267
  console.log(dim("\nRunning security scan..."));
52
268
  const scanResult = runTier1Scan(content);
@@ -87,12 +303,11 @@ export async function addCommand(source, opts) {
87
303
  process.exit(1);
88
304
  }
89
305
  // Install to each agent
90
- const skillName = opts.skill || repo;
91
306
  const sha = createHash("sha256").update(content).digest("hex").slice(0, 12);
92
307
  const locations = [];
93
308
  for (const agent of agents) {
94
309
  const baseDir = opts.global
95
- ? agent.globalSkillsDir
310
+ ? resolveTilde(agent.globalSkillsDir)
96
311
  : join(process.cwd(), agent.localSkillsDir);
97
312
  const skillDir = join(baseDir, skillName);
98
313
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};