circle-ir-ai 4.8.2 → 4.8.3
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.
- package/CHANGELOG.md +32 -0
- package/dist/skills/capability-mismatch.d.ts +16 -1
- package/dist/skills/capability-mismatch.d.ts.map +1 -1
- package/dist/skills/capability-mismatch.js +115 -10
- package/dist/skills/capability-mismatch.js.map +1 -1
- package/dist/skills/skill-analyzer.js +3 -1
- package/dist/skills/skill-analyzer.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,38 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [4.8.3] - 2026-08-27
|
|
9
|
+
|
|
10
|
+
### Fixed — skillsregistry#79: capability_mismatch disclosed-purpose + vuln-reframe false positives
|
|
11
|
+
|
|
12
|
+
`capability_mismatch` was the single largest false-flag driver (4,859 skills / 2,777
|
|
13
|
+
network-file-env "undisclosed capability" findings, ~70–85% FP on adjudication) —
|
|
14
|
+
bigger than #75 and #77 combined, and the dominant cause of the ~32% false
|
|
15
|
+
vulnerable/revoked flip on the 4.8.2 WS#18 sample. Two root causes, both fixed in
|
|
16
|
+
`skills/capability-mismatch.ts`:
|
|
17
|
+
|
|
18
|
+
- **Disclosed purpose wasn't visible (defect 1).** The declared capabilities the
|
|
19
|
+
LLM compared against came from *structured* taint extraction, which never
|
|
20
|
+
captures a purpose stated in SKILL.md *prose* ("weather using the National
|
|
21
|
+
Weather API"). So a weather/wallet/email/proxy skill showed `declared=none` +
|
|
22
|
+
`actual=fetch` → flagged undisclosed. Now the SKILL.md text is threaded into the
|
|
23
|
+
detector (`detectCapabilityMismatches(..., skillMdText)`), injected into the LLM
|
|
24
|
+
prompt as the skill purpose, and the prompt's "network access is ALWAYS a
|
|
25
|
+
mismatch" rule is replaced with "only surprising given the stated purpose."
|
|
26
|
+
- **Vulnerabilities re-framed as disclosure gaps (defect 2).** Many findings were
|
|
27
|
+
"the code contains a SQLi/SSRF/… not mentioned in SKILL.md" — a skill never
|
|
28
|
+
declares its own bugs; those are SAST findings, not capability mismatches.
|
|
29
|
+
- **Deterministic post-filter** (`suppressDisclosedCapabilityMismatches`, exported,
|
|
30
|
+
belt-and-suspenders vs. LLM non-compliance): drops undisclosed-capability
|
|
31
|
+
findings whose class the SKILL.md prose discloses (network/filesystem/env
|
|
32
|
+
lexicon) and findings that re-frame a vuln class. `data_mismatch` (declared
|
|
33
|
+
api.foo.com but calls evil.com) is never suppressed. Kill switch
|
|
34
|
+
`SKILL_DISCLOSED_CAPABILITY_GATE=0`.
|
|
35
|
+
|
|
36
|
+
Tests: `tests/capability-mismatch-disclosed-79.test.ts` (+7). Suite 1944 pass / 3
|
|
37
|
+
skipped; typecheck + build clean. The circle-pack `/api/analyze/skill` path is
|
|
38
|
+
wired the same way (lands in the circle-pack 4.8.3 leg).
|
|
39
|
+
|
|
8
40
|
## [4.8.2] - 2026-08-26
|
|
9
41
|
|
|
10
42
|
### Fixed — skillsregistry#77 (SR-feedback follow-up) + #75
|
|
@@ -10,5 +10,20 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { CircleIR } from 'circle-ir';
|
|
12
12
|
import type { SkillFinding, ExtractedArtifact } from './types.js';
|
|
13
|
-
export declare function detectCapabilityMismatches(skillMdIR: CircleIR, codeArtifacts: ExtractedArtifact[]
|
|
13
|
+
export declare function detectCapabilityMismatches(skillMdIR: CircleIR, codeArtifacts: ExtractedArtifact[],
|
|
14
|
+
/**
|
|
15
|
+
* The raw SKILL.md prose (skillsregistry#79). The declared capabilities the
|
|
16
|
+
* LLM compares against come from *structured* taint extraction, which never
|
|
17
|
+
* captures a purpose disclosed in prose ("weather using the National Weather
|
|
18
|
+
* API"). Passing the description lets both the prompt and the deterministic
|
|
19
|
+
* suppressor recognise a disclosed-purpose capability as NOT a mismatch.
|
|
20
|
+
*/
|
|
21
|
+
skillMdText?: string): Promise<SkillFinding[]>;
|
|
22
|
+
/**
|
|
23
|
+
* skillsregistry#79 — suppress the two disclosure false-positive classes. A
|
|
24
|
+
* `data_mismatch` (declared api.foo.com but code calls evil.com) is a genuinely
|
|
25
|
+
* surprising, kept signal and is never suppressed here. Kill switch:
|
|
26
|
+
* `SKILL_DISCLOSED_CAPABILITY_GATE=0`.
|
|
27
|
+
*/
|
|
28
|
+
export declare function suppressDisclosedCapabilityMismatches(findings: SkillFinding[], skillMdText: string): SkillFinding[];
|
|
14
29
|
//# sourceMappingURL=capability-mismatch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-mismatch.d.ts","sourceRoot":"","sources":["../../src/skills/capability-mismatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,WAAW,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAyBlE,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,QAAQ,EACnB,aAAa,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"capability-mismatch.d.ts","sourceRoot":"","sources":["../../src/skills/capability-mismatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAA0B,MAAM,WAAW,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAyBlE,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,QAAQ,EACnB,aAAa,EAAE,iBAAiB,EAAE;AAClC;;;;;;GAMG;AACH,WAAW,SAAK,GACf,OAAO,CAAC,YAAY,EAAE,CAAC,CAiGzB;AA4CD;;;;;GAKG;AACH,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,YAAY,EAAE,EACxB,WAAW,EAAE,MAAM,GAClB,YAAY,EAAE,CAgBhB"}
|
|
@@ -30,7 +30,15 @@ const NON_CAPABILITY_SOURCE_TYPES = new Set([
|
|
|
30
30
|
'constructor_field',
|
|
31
31
|
'config_param',
|
|
32
32
|
]);
|
|
33
|
-
export async function detectCapabilityMismatches(skillMdIR, codeArtifacts
|
|
33
|
+
export async function detectCapabilityMismatches(skillMdIR, codeArtifacts,
|
|
34
|
+
/**
|
|
35
|
+
* The raw SKILL.md prose (skillsregistry#79). The declared capabilities the
|
|
36
|
+
* LLM compares against come from *structured* taint extraction, which never
|
|
37
|
+
* captures a purpose disclosed in prose ("weather using the National Weather
|
|
38
|
+
* API"). Passing the description lets both the prompt and the deterministic
|
|
39
|
+
* suppressor recognise a disclosed-purpose capability as NOT a mismatch.
|
|
40
|
+
*/
|
|
41
|
+
skillMdText = '') {
|
|
34
42
|
const findings = [];
|
|
35
43
|
// Extract declared capabilities from SKILL.md
|
|
36
44
|
const declaredSources = skillMdIR.taint.sources || [];
|
|
@@ -70,7 +78,7 @@ export async function detectCapabilityMismatches(skillMdIR, codeArtifacts) {
|
|
|
70
78
|
if (actualSources.length === 0 && actualSinks.length === 0)
|
|
71
79
|
return findings;
|
|
72
80
|
// Use LLM to detect semantic mismatches
|
|
73
|
-
const mismatches = await detectMismatchesWithLLM(declaredSources, declaredSinks, actualSources, actualSinks);
|
|
81
|
+
const mismatches = await detectMismatchesWithLLM(declaredSources, declaredSinks, actualSources, actualSinks, skillMdText);
|
|
74
82
|
// Convert to findings, normalizing severity by mismatch direction.
|
|
75
83
|
// The LLM is unreliable at distinguishing "code does MORE than declared"
|
|
76
84
|
// (a real risk) from "code does LESS than declared" (only a doc gap).
|
|
@@ -112,7 +120,79 @@ export async function detectCapabilityMismatches(skillMdIR, codeArtifacts) {
|
|
|
112
120
|
confidence: mismatch.confidence,
|
|
113
121
|
});
|
|
114
122
|
}
|
|
115
|
-
|
|
123
|
+
// skillsregistry#79 — deterministic precision gate (belt-and-suspenders for the
|
|
124
|
+
// prompt reframe): drop (1) undisclosed-capability findings whose capability is
|
|
125
|
+
// the skill's disclosed purpose, and (2) findings that re-frame a code
|
|
126
|
+
// vulnerability as a disclosure gap. Robust to LLM non-compliance.
|
|
127
|
+
return suppressDisclosedCapabilityMismatches(findings, skillMdText);
|
|
128
|
+
}
|
|
129
|
+
/** Vulnerability classes a `capability_mismatch` must never re-frame (skillsregistry#79 defect 2). */
|
|
130
|
+
const VULN_REFRAME_PATTERNS = [
|
|
131
|
+
/\bsql[\s-]?injection\b/i,
|
|
132
|
+
/\bsqli\b/i,
|
|
133
|
+
/\bssrf\b/i,
|
|
134
|
+
/server[\s-]?side request forgery/i,
|
|
135
|
+
/\bxss\b/i,
|
|
136
|
+
/cross[\s-]?site scripting/i,
|
|
137
|
+
/\brce\b/i,
|
|
138
|
+
/command[\s-]?injection/i,
|
|
139
|
+
/\bcode[\s-]?injection\b/i,
|
|
140
|
+
/log[\s-]?injection/i,
|
|
141
|
+
/path[\s-]?traversal/i,
|
|
142
|
+
/directory[\s-]?traversal/i,
|
|
143
|
+
/\bxxe\b/i,
|
|
144
|
+
/\bdeserializ/i,
|
|
145
|
+
/open[\s-]?redirect/i,
|
|
146
|
+
/prototype[\s-]?pollution/i,
|
|
147
|
+
];
|
|
148
|
+
/**
|
|
149
|
+
* Keyword lexicon: does the SKILL.md prose disclose the given capability class?
|
|
150
|
+
* (skillsregistry#79 defect 1). A capability disclosed as the skill's purpose —
|
|
151
|
+
* even in prose, not a machine-readable permission slot — is not a mismatch.
|
|
152
|
+
*/
|
|
153
|
+
const DISCLOSURE_LEXICON = {
|
|
154
|
+
network: /\b(api|apis|http|https|fetch|url|urls|request|requests|endpoint|endpoints|rest|graphql|webhook|download|upload|network|online|remote|proxy|proxies|email|e-mail|mail|send|wallet|transaction|transactions|sign|oauth|token exchange|websocket|rpc|server)\b/i,
|
|
155
|
+
filesystem: /\b(file|files|filesystem|file[\s-]?system|note|notes|vault|obsidian|disk|save|saves|write|writes|read|reads|directory|directories|folder|folders|path|paths|document|documents|markdown|knowledge base|local storage)\b/i,
|
|
156
|
+
env: /\b(env|environment|environment variable|token|tokens|api[\s-]?key|secret|secrets|credential|credentials|config|configuration|\.env)\b/i,
|
|
157
|
+
};
|
|
158
|
+
/** Classify which capability class an undisclosed-capability finding is about. */
|
|
159
|
+
function capabilityClassOf(f) {
|
|
160
|
+
const text = `${f.title ?? ''} ${f.description ?? ''} ${JSON.stringify(f.evidence ?? {})}`.toLowerCase();
|
|
161
|
+
if (/\b(network|http|fetch|ssrf|url|request|api|outbound|egress|socket)\b/.test(text))
|
|
162
|
+
return 'network';
|
|
163
|
+
if (/\b(file|filesystem|write|read|disk|path|directory|fs\.)\b/.test(text))
|
|
164
|
+
return 'filesystem';
|
|
165
|
+
if (/\b(env|environment|process\.env|secret|credential|token)\b/.test(text))
|
|
166
|
+
return 'env';
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* skillsregistry#79 — suppress the two disclosure false-positive classes. A
|
|
171
|
+
* `data_mismatch` (declared api.foo.com but code calls evil.com) is a genuinely
|
|
172
|
+
* surprising, kept signal and is never suppressed here. Kill switch:
|
|
173
|
+
* `SKILL_DISCLOSED_CAPABILITY_GATE=0`.
|
|
174
|
+
*/
|
|
175
|
+
export function suppressDisclosedCapabilityMismatches(findings, skillMdText) {
|
|
176
|
+
if (process.env.SKILL_DISCLOSED_CAPABILITY_GATE === '0')
|
|
177
|
+
return findings;
|
|
178
|
+
const purpose = skillMdText || '';
|
|
179
|
+
return findings.filter((f) => {
|
|
180
|
+
if (f.type !== 'capability_mismatch')
|
|
181
|
+
return true;
|
|
182
|
+
const mismatchType = f.evidence?.mismatch_type;
|
|
183
|
+
// Only gate the undisclosed-capability direction; data_mismatch stays.
|
|
184
|
+
if (mismatchType !== undefined && mismatchType !== 'undisclosed_capability')
|
|
185
|
+
return true;
|
|
186
|
+
const text = `${f.title ?? ''} ${f.description ?? ''}`;
|
|
187
|
+
// Defect 2: a vulnerability wearing a disclosure label is not a capability gap.
|
|
188
|
+
if (VULN_REFRAME_PATTERNS.some((re) => re.test(text)))
|
|
189
|
+
return false;
|
|
190
|
+
// Defect 1: the capability is the skill's disclosed purpose.
|
|
191
|
+
const klass = capabilityClassOf(f);
|
|
192
|
+
if (klass && DISCLOSURE_LEXICON[klass].test(purpose))
|
|
193
|
+
return false;
|
|
194
|
+
return true;
|
|
195
|
+
});
|
|
116
196
|
}
|
|
117
197
|
/**
|
|
118
198
|
* Normalize LLM-emitted severity based on mismatch direction.
|
|
@@ -151,7 +231,7 @@ function normalizeMismatchSeverity(mismatchType, llmSeverity) {
|
|
|
151
231
|
/**
|
|
152
232
|
* Use LLM to detect semantic capability mismatches
|
|
153
233
|
*/
|
|
154
|
-
async function detectMismatchesWithLLM(declaredSources, declaredSinks, actualSources, actualSinks) {
|
|
234
|
+
async function detectMismatchesWithLLM(declaredSources, declaredSinks, actualSources, actualSinks, skillMdText = '') {
|
|
155
235
|
const llm = getAxLLMClient();
|
|
156
236
|
const systemPrompt = `You are a security analyst detecting capability mismatches in AI skills.
|
|
157
237
|
|
|
@@ -186,19 +266,44 @@ SEVERITY RULES (apply these strictly):
|
|
|
186
266
|
- false_advertising (code does LESS than declared) → LOW (the surface is *smaller* than advertised — no security risk, only a documentation issue)
|
|
187
267
|
- data_mismatch (declared and actual domains/sources differ) → HIGH
|
|
188
268
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
269
|
+
DISCLOSED PURPOSE IS NOT A MISMATCH (skillsregistry#79 — the #1 false-positive class):
|
|
270
|
+
The DECLARED capabilities below are extracted structurally and DO NOT capture a
|
|
271
|
+
purpose stated in the skill's DESCRIPTION prose. Read the "Skill purpose"
|
|
272
|
+
description and treat a capability that the stated purpose plainly IMPLIES as
|
|
273
|
+
DISCLOSED — do NOT flag it. Network access is only a mismatch when it is
|
|
274
|
+
genuinely SURPRISING given the purpose, never merely because there is no formal
|
|
275
|
+
"network" permission slot.
|
|
276
|
+
- A weather / API-client / accounting / proxy / wallet / email skill making HTTP
|
|
277
|
+
requests → DISCLOSED (its whole purpose is that integration). NOT a mismatch.
|
|
278
|
+
- A notes / vault / Obsidian / document skill reading or writing files → DISCLOSED.
|
|
279
|
+
- A skill that needs a token/API-key reading an env var it documents → DISCLOSED.
|
|
280
|
+
Only flag when the purpose gives NO reason for the capability (e.g. a pure
|
|
281
|
+
offline math/formatter tool that opens a socket, or a to-do tool doing SSRF).
|
|
282
|
+
|
|
283
|
+
DO NOT RE-FRAME A VULNERABILITY AS A MISMATCH (skillsregistry#79 defect 2):
|
|
284
|
+
A code vulnerability (SQL injection, SSRF, XSS, command injection, log injection,
|
|
285
|
+
path traversal, deserialization, XXE, open redirect) is a SAST finding, NOT a
|
|
286
|
+
capability mismatch — a skill never "declares its own bugs". Never emit a
|
|
287
|
+
capability_mismatch that merely says "the code contains <vuln> not mentioned in
|
|
288
|
+
SKILL.md". Those are out of scope here.
|
|
193
289
|
|
|
194
290
|
Examples of FALSE matches (DO NOT FLAG):
|
|
195
291
|
1. SKILL.md: "Validates input" | Code: uses regex validation → NOT a mismatch (implementing stated security)
|
|
196
292
|
2. SKILL.md: "Reads files in workspace" | Code: calls validatePath() → NOT a mismatch (secure implementation)
|
|
197
293
|
3. SKILL.md: "Makes HTTP request" | Code: uses encodeURIComponent on URL → NOT a mismatch (secure implementation)
|
|
198
|
-
4. SKILL.md: "Accesses API" | Code: https.request() to that API → NOT a mismatch (documented network access)
|
|
294
|
+
4. SKILL.md: "Accesses API" | Code: https.request() to that API → NOT a mismatch (documented network access)
|
|
295
|
+
5. Purpose: "weather using the National Weather API" | Code: fetch() → NOT a mismatch (disclosed purpose)
|
|
296
|
+
6. Purpose: "send emails, manage domains" | Code: HTTP requests → NOT a mismatch (disclosed purpose)
|
|
297
|
+
7. Purpose: "knowledge layer over Obsidian notes" | Code: writes files → NOT a mismatch (disclosed purpose)`;
|
|
298
|
+
const purposeBlock = skillMdText.trim()
|
|
299
|
+
? `**Skill purpose (SKILL.md description — a capability this discloses is NOT a mismatch):**
|
|
300
|
+
${skillMdText.trim().slice(0, 1500)}
|
|
301
|
+
|
|
302
|
+
`
|
|
303
|
+
: '';
|
|
199
304
|
const userPrompt = `Analyze this AI skill for capability mismatches:
|
|
200
305
|
|
|
201
|
-
**Declared Capabilities (from SKILL.md):**
|
|
306
|
+
${purposeBlock}**Declared Capabilities (from SKILL.md):**
|
|
202
307
|
|
|
203
308
|
Declared Sources (data inputs):
|
|
204
309
|
${formatSources(declaredSources)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-mismatch.js","sourceRoot":"","sources":["../../src/skills/capability-mismatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;;GAMG;AACH;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,uBAAuB;IACvB,cAAc;IACd,mBAAmB;IACnB,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAAmB,EACnB,aAAkC;
|
|
1
|
+
{"version":3,"file":"capability-mismatch.js","sourceRoot":"","sources":["../../src/skills/capability-mismatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -219,7 +219,9 @@ async function analyzeExtractedArtifacts(bundle, extracted, enableCrossArtifact,
|
|
|
219
219
|
const skillMdIR = extracted.find((e) => e.artifact === 'SKILL.md')?.ir;
|
|
220
220
|
const codeIRs = extracted.filter((e) => e.artifact !== 'SKILL.md');
|
|
221
221
|
if (skillMdIR && codeIRs.length > 0) {
|
|
222
|
-
|
|
222
|
+
// skillsregistry#79 — pass the SKILL.md prose so a disclosed-purpose
|
|
223
|
+
// capability (weather→network, notes→file) isn't flagged as undisclosed.
|
|
224
|
+
const mismatches = await detectCapabilityMismatches(skillMdIR, codeIRs, bundle.skillMd);
|
|
223
225
|
findings.push(...mismatches);
|
|
224
226
|
}
|
|
225
227
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-analyzer.js","sourceRoot":"","sources":["../../src/skills/skill-analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skill-analyzer.js","sourceRoot":"","sources":["../../src/skills/skill-analyzer.ts"],"names":[],"mappings":"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"}
|