hackmyagent 0.12.0 → 0.12.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.
- package/README.md +21 -2
- package/dist/.integrity-manifest.json +1 -1
- package/dist/arp/intelligence/ast-monitor.d.ts +62 -0
- package/dist/arp/intelligence/ast-monitor.d.ts.map +1 -0
- package/dist/arp/intelligence/ast-monitor.js +197 -0
- package/dist/arp/intelligence/ast-monitor.js.map +1 -0
- package/dist/attack/types.d.ts +2 -0
- package/dist/attack/types.d.ts.map +1 -1
- package/dist/attack/types.js.map +1 -1
- package/dist/cli.js +141 -7
- package/dist/cli.js.map +1 -1
- package/dist/hardening/scanner.d.ts.map +1 -1
- package/dist/hardening/scanner.js +11 -0
- package/dist/hardening/scanner.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/nanomind-core/compiler/semantic-compiler.d.ts.map +1 -1
- package/dist/nanomind-core/compiler/semantic-compiler.js +107 -11
- package/dist/nanomind-core/compiler/semantic-compiler.js.map +1 -1
- package/dist/nanomind-core/index.d.ts +6 -0
- package/dist/nanomind-core/index.d.ts.map +1 -1
- package/dist/nanomind-core/index.js +23 -1
- package/dist/nanomind-core/index.js.map +1 -1
- package/dist/nanomind-core/inference/tme-classifier.d.ts +62 -0
- package/dist/nanomind-core/inference/tme-classifier.d.ts.map +1 -0
- package/dist/nanomind-core/inference/tme-classifier.js +176 -0
- package/dist/nanomind-core/inference/tme-classifier.js.map +1 -0
- package/dist/nanomind-core/verification/ast-validator.d.ts +55 -0
- package/dist/nanomind-core/verification/ast-validator.d.ts.map +1 -0
- package/dist/nanomind-core/verification/ast-validator.js +228 -0
- package/dist/nanomind-core/verification/ast-validator.js.map +1 -0
- package/dist/scanner/external-scanner.d.ts.map +1 -1
- package/dist/scanner/external-scanner.js +37 -30
- package/dist/scanner/external-scanner.js.map +1 -1
- package/dist/simulation/index.d.ts +1 -1
- package/dist/simulation/index.js +1 -1
- package/dist/wild/browser.d.ts +44 -0
- package/dist/wild/browser.d.ts.map +1 -0
- package/dist/wild/browser.js +222 -0
- package/dist/wild/browser.js.map +1 -0
- package/dist/wild/index.d.ts +20 -0
- package/dist/wild/index.d.ts.map +1 -0
- package/dist/wild/index.js +173 -0
- package/dist/wild/index.js.map +1 -0
- package/dist/wild/scorer.d.ts +29 -0
- package/dist/wild/scorer.d.ts.map +1 -0
- package/dist/wild/scorer.js +101 -0
- package/dist/wild/scorer.js.map +1 -0
- package/dist/wild/types.d.ts +95 -0
- package/dist/wild/types.d.ts.map +1 -0
- package/dist/wild/types.js +8 -0
- package/dist/wild/types.js.map +1 -0
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export type { SkillSection } from './hardening';
|
|
|
14
14
|
export { parseDeclaredCapabilities as parseSkillDeclaredCapabilities, inferActualCapabilities, validateCapabilities, } from './hardening';
|
|
15
15
|
export type { SkillDeclaredCapabilities, InferredCapability } from './hardening';
|
|
16
16
|
export { AttackScanner } from './attack';
|
|
17
|
+
export { WildScanner } from './wild';
|
|
18
|
+
export type { WildScanReport, WildPageResult, WildScanOptions } from './wild';
|
|
17
19
|
export { ATTACK_CATEGORIES, ALL_PAYLOADS, PAYLOAD_STATS, getPayloads, getPayloadById, getPayloadsByCategory, getPayloadsByIntensity, parseCustomPayloads, shouldFail, MCP_EXPLOITATION_PAYLOADS, A2A_ATTACK_PAYLOADS, MEMORY_WEAPONIZATION_PAYLOADS, CONTEXT_WINDOW_PAYLOADS, SUPPLY_CHAIN_PAYLOADS, TOOL_SHADOW_PAYLOADS, } from './attack';
|
|
18
20
|
export type { AttackCategory, AttackIntensity, AttackSeverity, AttackPayload, AttackResult, AttackReport, AttackTarget, AttackOptions, CustomPayloadInput, CustomPayloadFile, FailPolicy, } from './attack';
|
|
19
21
|
export { OASB_1_CATEGORIES, OASB_1_VERSION, OASB_1_NAME, getControlsForLevel, getControlsForCategory, getCheckIdsForLevel, calculateRating, AVAILABLE_BENCHMARKS, isValidBenchmark, } from './benchmarks';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,eAAO,MAAM,OAAO,EAAE,MAAiB,CAAC;AAGxC,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,EACd,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,GAChB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG1E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,yBAAyB,IAAI,8BAA8B,EAC3D,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Unified security toolkit for AI agents.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
8
|
-
exports.Scanner = exports.recordScanAndMaybeShowTip = exports.showContributePrompt = exports.saveContributeChoice = exports.incrementScanCount = exports.shouldPromptContribute = exports.isContributeEnabled = exports.submitContribution = exports.flushQueue = exports.queueAndMaybeFlush = exports.queueEvent = exports.buildContributionPayloadFromDir = exports.buildScanEvent = exports.getContributorToken = exports.generateContributorToken = exports.DOMAIN_TEMPLATES = exports.PROFILE_DOMAINS = exports.GOVERNANCE_FILES = exports.DOMAIN_ORDER = exports.CONTROL_DEFS = exports.SoulScanner = exports.parseDeclaredCapabilities = exports.createCapabilityMonitor = exports.SkillCapabilityMonitor = exports.AgentRuntimeProtection = exports.createSkillguardPlugin = exports.createSigncryptPlugin = exports.createCredVaultPlugin = exports.clearRegistry = exports.listPlugins = exports.getPlugin = exports.registerPlugin = exports.buildDeepScanResult = exports.CostEstimator = exports.SEMANTIC_OASB_MAPPINGS = exports.toSecurityFindings = exports.toSecurityFinding = exports.BudgetTracker = exports.LLMCache = exports.AnthropicClient = exports.LLMAnalyzer = exports.PermissionModelAnalyzer = exports.InstructionAnalyzer = exports.McpConfigAnalyzer = exports.CredentialContextAnalyzer = exports.StructuralAnalyzer = exports.formatPublishOutput = exports.publishScanResults = void 0;
|
|
7
|
+
exports.signPayload = exports.readAgentKeypair = exports.buildCommunityAttackReport = exports.buildCommunityReport = exports.buildAttackReport = exports.buildScanReport = exports.RegistryClient = exports.isValidBenchmark = exports.AVAILABLE_BENCHMARKS = exports.calculateRating = exports.getCheckIdsForLevel = exports.getControlsForCategory = exports.getControlsForLevel = exports.OASB_1_NAME = exports.OASB_1_VERSION = exports.OASB_1_CATEGORIES = exports.TOOL_SHADOW_PAYLOADS = exports.SUPPLY_CHAIN_PAYLOADS = exports.CONTEXT_WINDOW_PAYLOADS = exports.MEMORY_WEAPONIZATION_PAYLOADS = exports.A2A_ATTACK_PAYLOADS = exports.MCP_EXPLOITATION_PAYLOADS = exports.shouldFail = exports.parseCustomPayloads = exports.getPayloadsByIntensity = exports.getPayloadsByCategory = exports.getPayloadById = exports.getPayloads = exports.PAYLOAD_STATS = exports.ALL_PAYLOADS = exports.ATTACK_CATEGORIES = exports.WildScanner = exports.AttackScanner = exports.validateCapabilities = exports.inferActualCapabilities = exports.parseSkillDeclaredCapabilities = exports.isLikelyFalsePositive = exports.classifySkillSection = exports.ExternalScanner = exports.HardeningScanner = exports.parseSkillFrontmatter = exports.detectUnpinnedDeps = exports.detectPhantomDeps = exports.detectCircularDeps = exports.buildDependencyGraph = exports.analyzeSkillDependencies = exports.analyzePermissions = exports.parseSkillIdentifier = exports.checkSkill = exports.VERSION = void 0;
|
|
8
|
+
exports.Scanner = exports.recordScanAndMaybeShowTip = exports.showContributePrompt = exports.saveContributeChoice = exports.incrementScanCount = exports.shouldPromptContribute = exports.isContributeEnabled = exports.submitContribution = exports.flushQueue = exports.queueAndMaybeFlush = exports.queueEvent = exports.buildContributionPayloadFromDir = exports.buildScanEvent = exports.getContributorToken = exports.generateContributorToken = exports.DOMAIN_TEMPLATES = exports.PROFILE_DOMAINS = exports.GOVERNANCE_FILES = exports.DOMAIN_ORDER = exports.CONTROL_DEFS = exports.SoulScanner = exports.parseDeclaredCapabilities = exports.createCapabilityMonitor = exports.SkillCapabilityMonitor = exports.AgentRuntimeProtection = exports.createSkillguardPlugin = exports.createSigncryptPlugin = exports.createCredVaultPlugin = exports.clearRegistry = exports.listPlugins = exports.getPlugin = exports.registerPlugin = exports.buildDeepScanResult = exports.CostEstimator = exports.SEMANTIC_OASB_MAPPINGS = exports.toSecurityFindings = exports.toSecurityFinding = exports.BudgetTracker = exports.LLMCache = exports.AnthropicClient = exports.LLMAnalyzer = exports.PermissionModelAnalyzer = exports.InstructionAnalyzer = exports.McpConfigAnalyzer = exports.CredentialContextAnalyzer = exports.StructuralAnalyzer = exports.formatPublishOutput = exports.publishScanResults = exports.buildPublishPayload = void 0;
|
|
9
9
|
exports.createScanner = createScanner;
|
|
10
10
|
const node_fs_1 = require("node:fs");
|
|
11
11
|
const node_path_1 = require("node:path");
|
|
@@ -44,6 +44,9 @@ Object.defineProperty(exports, "validateCapabilities", { enumerable: true, get:
|
|
|
44
44
|
// Attack module
|
|
45
45
|
var attack_1 = require("./attack");
|
|
46
46
|
Object.defineProperty(exports, "AttackScanner", { enumerable: true, get: function () { return attack_1.AttackScanner; } });
|
|
47
|
+
// Wild scanner module
|
|
48
|
+
var wild_1 = require("./wild");
|
|
49
|
+
Object.defineProperty(exports, "WildScanner", { enumerable: true, get: function () { return wild_1.WildScanner; } });
|
|
47
50
|
var attack_2 = require("./attack");
|
|
48
51
|
Object.defineProperty(exports, "ATTACK_CATEGORIES", { enumerable: true, get: function () { return attack_2.ATTACK_CATEGORIES; } });
|
|
49
52
|
Object.defineProperty(exports, "ALL_PAYLOADS", { enumerable: true, get: function () { return attack_2.ALL_PAYLOADS; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-compiler.d.ts","sourceRoot":"","sources":["../../../src/nanomind-core/compiler/semantic-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"semantic-compiler.d.ts","sourceRoot":"","sources":["../../../src/nanomind-core/compiler/semantic-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,cAAc,EASf,MAAM,aAAa,CAAC;AAErB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,KAAK,CAAkC;gBAEnC,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM;IAUhD;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0GzE;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;YAStB,oBAAoB;IAuElC,OAAO,CAAC,OAAO;CAchB"}
|
|
@@ -26,6 +26,7 @@ exports.SemanticCompiler = void 0;
|
|
|
26
26
|
const node_crypto_1 = require("node:crypto");
|
|
27
27
|
const artifact_parser_js_1 = require("../ingestion/artifact-parser.js");
|
|
28
28
|
const input_sanitizer_js_1 = require("../ingestion/input-sanitizer.js");
|
|
29
|
+
const tme_classifier_js_1 = require("../inference/tme-classifier.js");
|
|
29
30
|
class SemanticCompiler {
|
|
30
31
|
constructor(config = {}) {
|
|
31
32
|
this.cache = new Map(); // content hash → AST
|
|
@@ -118,7 +119,7 @@ class SemanticCompiler {
|
|
|
118
119
|
governedBy: extractGovernanceReferences(content),
|
|
119
120
|
evidenceSpans,
|
|
120
121
|
signature: '', // Set below
|
|
121
|
-
modelVersion: nanomindUsed ? 'nanomind-
|
|
122
|
+
modelVersion: nanomindUsed ? 'nanomind-tme-v1' : 'heuristic-v1',
|
|
122
123
|
compiledAt: new Date().toISOString(),
|
|
123
124
|
};
|
|
124
125
|
// Sign the AST
|
|
@@ -144,31 +145,53 @@ class SemanticCompiler {
|
|
|
144
145
|
// NanoMind Inference
|
|
145
146
|
// ============================================================================
|
|
146
147
|
async runNanoMindInference(sanitizedContent, artifactType) {
|
|
148
|
+
// Tier 1: Local TME classifier (sub-millisecond, no network needed)
|
|
149
|
+
const tme = (0, tme_classifier_js_1.getTMEClassifier)();
|
|
150
|
+
const tmeResult = tme.classify(sanitizedContent);
|
|
151
|
+
if (tmeResult.confidence > 0.6) {
|
|
152
|
+
return {
|
|
153
|
+
intentClass: tmeResult.intentClass,
|
|
154
|
+
confidence: tmeResult.confidence,
|
|
155
|
+
inferredCapabilities: [],
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
// Tier 2: NanoMind daemon (full model inference)
|
|
147
159
|
try {
|
|
148
160
|
const resp = await fetch(`${this.config.daemonUrl}/v1/infer`, {
|
|
149
161
|
method: 'POST',
|
|
150
162
|
headers: { 'Content-Type': 'application/json' },
|
|
151
163
|
body: JSON.stringify({
|
|
152
164
|
intent: 'COMPILE_AST',
|
|
153
|
-
input: sanitizedContent.slice(0, 4096),
|
|
165
|
+
input: sanitizedContent.slice(0, 4096),
|
|
154
166
|
context: { artifactType },
|
|
155
167
|
priority: 'high',
|
|
156
168
|
}),
|
|
157
169
|
signal: AbortSignal.timeout(this.config.daemonTimeoutMs),
|
|
158
170
|
});
|
|
159
|
-
if (!resp.ok)
|
|
160
|
-
return
|
|
171
|
+
if (!resp.ok) {
|
|
172
|
+
// Daemon unavailable -- return TME result if it had any signal
|
|
173
|
+
return tmeResult.confidence > 0.3 ? {
|
|
174
|
+
intentClass: tmeResult.intentClass,
|
|
175
|
+
confidence: tmeResult.confidence,
|
|
176
|
+
inferredCapabilities: [],
|
|
177
|
+
} : null;
|
|
178
|
+
}
|
|
161
179
|
const result = await resp.json();
|
|
162
180
|
const intentClass = result.confidence > 0.7 && result.attackClass ? 'malicious' :
|
|
163
181
|
result.confidence > 0.4 ? 'suspicious' : 'benign';
|
|
164
182
|
return {
|
|
165
183
|
intentClass,
|
|
166
184
|
confidence: result.confidence,
|
|
167
|
-
inferredCapabilities: [],
|
|
185
|
+
inferredCapabilities: [],
|
|
168
186
|
};
|
|
169
187
|
}
|
|
170
188
|
catch {
|
|
171
|
-
return
|
|
189
|
+
// Daemon unavailable -- return TME result if it had any signal
|
|
190
|
+
return tmeResult.confidence > 0.3 ? {
|
|
191
|
+
intentClass: tmeResult.intentClass,
|
|
192
|
+
confidence: tmeResult.confidence,
|
|
193
|
+
inferredCapabilities: [],
|
|
194
|
+
} : null;
|
|
172
195
|
}
|
|
173
196
|
}
|
|
174
197
|
// ============================================================================
|
|
@@ -321,11 +344,27 @@ function extractGovernanceReferences(content) {
|
|
|
321
344
|
refs.push('claude.md');
|
|
322
345
|
return refs;
|
|
323
346
|
}
|
|
347
|
+
/**
|
|
348
|
+
* Detect governance content that talks ABOUT security constraints.
|
|
349
|
+
* These documents set rules ("must never share credentials") not perform attacks.
|
|
350
|
+
* Without this check, governance docs that mention attack patterns defensively
|
|
351
|
+
* get flagged as malicious.
|
|
352
|
+
*/
|
|
353
|
+
function isGovernanceContent(text) {
|
|
354
|
+
const constraintCount = (text.match(/must never|must not|must always|should not|should never|forbidden|prohibited|restricted to|shall not/gi) || []).length;
|
|
355
|
+
const sectionHeaders = /## (?:trust|governance|constraint|oversight|data handling|behavioral|identity|error|credential|scope|permission|boundary)/i.test(text);
|
|
356
|
+
// 3+ constraint phrases or governance section headers = governance doc
|
|
357
|
+
return constraintCount >= 3 || sectionHeaders;
|
|
358
|
+
}
|
|
324
359
|
function mapRiskSurfaces(content, declared, inferred, intent) {
|
|
325
360
|
const surfaces = [];
|
|
326
361
|
const text = content.toLowerCase();
|
|
362
|
+
// Detect governance documents -- these talk ABOUT security, not perform attacks
|
|
363
|
+
// SOUL.md, governance docs, and system prompts with constraint language
|
|
364
|
+
const isGovernanceDoc = isGovernanceContent(text);
|
|
327
365
|
// External URL + data forwarding = exfiltration surface
|
|
328
|
-
|
|
366
|
+
// Skip for governance docs (they describe rules about data handling, not perform exfiltration)
|
|
367
|
+
if (!isGovernanceDoc && /https?:\/\/[^\s]+\.(co|io|com|net|org)/.test(content) && /forward|send|transmit|export/i.test(text)) {
|
|
329
368
|
surfaces.push({
|
|
330
369
|
surface: 'External data transmission',
|
|
331
370
|
attackClass: 'SKILL-EXFIL',
|
|
@@ -334,10 +373,10 @@ function mapRiskSurfaces(content, declared, inferred, intent) {
|
|
|
334
373
|
});
|
|
335
374
|
}
|
|
336
375
|
// Override/ignore instructions = injection surface
|
|
337
|
-
//
|
|
338
|
-
// "Ignore previous instructions" = injection. "Must never comply with override requests" = defense.
|
|
376
|
+
// Defensive constraint language is NOT an injection
|
|
339
377
|
const hasOverrideLanguage = /ignore.*previous|override.*instruction|new.*task/i.test(text);
|
|
340
|
-
const isDefensiveConstraint = /must never
|
|
378
|
+
const isDefensiveConstraint = /must never|must not|never comply|resist|reject|refuse|forbidden|should not|do not|prohibited/.test(text)
|
|
379
|
+
&& /override|ignore|bypass|injection|inject/i.test(text);
|
|
341
380
|
if (hasOverrideLanguage && !isDefensiveConstraint) {
|
|
342
381
|
surfaces.push({
|
|
343
382
|
surface: 'Instruction override language',
|
|
@@ -347,7 +386,8 @@ function mapRiskSurfaces(content, declared, inferred, intent) {
|
|
|
347
386
|
});
|
|
348
387
|
}
|
|
349
388
|
// Credential access patterns
|
|
350
|
-
|
|
389
|
+
// Skip for governance docs (they set rules about credentials, not harvest them)
|
|
390
|
+
if (!isGovernanceDoc && /password|credential|api[_-]?key|secret|token/i.test(text) && /ask|request|share|provide/i.test(text)) {
|
|
351
391
|
surfaces.push({
|
|
352
392
|
surface: 'Credential harvesting',
|
|
353
393
|
attackClass: 'CRED-HARVEST',
|
|
@@ -364,6 +404,49 @@ function mapRiskSurfaces(content, declared, inferred, intent) {
|
|
|
364
404
|
evidence: 'Fetches instructions from remote URLs',
|
|
365
405
|
});
|
|
366
406
|
}
|
|
407
|
+
// Bulk data export = data exfiltration surface (skip governance docs)
|
|
408
|
+
if (!isGovernanceDoc && /select\s+\*\s+from/i.test(text) && /https?:\/\/[^\s]+/i.test(content)) {
|
|
409
|
+
surfaces.push({
|
|
410
|
+
surface: 'Bulk database export to external endpoint',
|
|
411
|
+
attackClass: 'DATA-EXFIL',
|
|
412
|
+
confidence: 0.85,
|
|
413
|
+
evidence: 'SELECT * queries combined with external URL transmission',
|
|
414
|
+
});
|
|
415
|
+
}
|
|
416
|
+
else if (!isGovernanceDoc && /include.*pii|transmit.*pii|forward.*record|export.*data.*external/i.test(text)) {
|
|
417
|
+
surfaces.push({
|
|
418
|
+
surface: 'PII/data export to external endpoint',
|
|
419
|
+
attackClass: 'DATA-EXFIL',
|
|
420
|
+
confidence: 0.8,
|
|
421
|
+
evidence: 'PII or bulk data export to external service',
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
// Supply chain: typosquatted package names
|
|
425
|
+
const knownOrgs = ['modelcontextprotocol', 'anthropic-ai', 'opena2a-org', 'opena2a'];
|
|
426
|
+
const packageRefs = content.match(/@[a-z0-9_-]+(?:\/[a-z0-9_.-]+)?/gi) ?? [];
|
|
427
|
+
for (const ref of packageRefs) {
|
|
428
|
+
const org = ref.replace(/^@/, '').split('/')[0].toLowerCase();
|
|
429
|
+
for (const known of knownOrgs) {
|
|
430
|
+
if (org !== known && levenshtein(org, known) <= 2 && levenshtein(org, known) > 0) {
|
|
431
|
+
surfaces.push({
|
|
432
|
+
surface: `Typosquatted package: ${ref}`,
|
|
433
|
+
attackClass: 'SUPPLY-CHAIN',
|
|
434
|
+
confidence: 0.95,
|
|
435
|
+
evidence: `Package "${ref}" looks like a typosquat of @${known}`,
|
|
436
|
+
});
|
|
437
|
+
break;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
// Supply chain: postinstall/exec in MCP config
|
|
442
|
+
if (/postinstall|pre-?install|curl.*\|.*sh|wget.*\|.*bash/i.test(text)) {
|
|
443
|
+
surfaces.push({
|
|
444
|
+
surface: 'Shell execution in package/config',
|
|
445
|
+
attackClass: 'SUPPLY-CHAIN',
|
|
446
|
+
confidence: 0.9,
|
|
447
|
+
evidence: 'Shell command execution pattern in configuration',
|
|
448
|
+
});
|
|
449
|
+
}
|
|
367
450
|
// Undeclared capabilities (inferred but not declared)
|
|
368
451
|
for (const cap of inferred) {
|
|
369
452
|
if (!cap.declared && cap.riskLevel !== 'low') {
|
|
@@ -377,6 +460,19 @@ function mapRiskSurfaces(content, declared, inferred, intent) {
|
|
|
377
460
|
}
|
|
378
461
|
return surfaces;
|
|
379
462
|
}
|
|
463
|
+
/** Simple Levenshtein distance for typosquat detection */
|
|
464
|
+
function levenshtein(a, b) {
|
|
465
|
+
const m = a.length, n = b.length;
|
|
466
|
+
const dp = Array.from({ length: m + 1 }, (_, i) => Array.from({ length: n + 1 }, (_, j) => i === 0 ? j : j === 0 ? i : 0));
|
|
467
|
+
for (let i = 1; i <= m; i++) {
|
|
468
|
+
for (let j = 1; j <= n; j++) {
|
|
469
|
+
dp[i][j] = a[i - 1] === b[j - 1]
|
|
470
|
+
? dp[i - 1][j - 1]
|
|
471
|
+
: 1 + Math.min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
return dp[m][n];
|
|
475
|
+
}
|
|
380
476
|
function extractEvidenceSpans(content, risks) {
|
|
381
477
|
const spans = [];
|
|
382
478
|
for (const risk of risks) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-compiler.js","sourceRoot":"","sources":["../../../src/nanomind-core/compiler/semantic-compiler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"semantic-compiler.js","sourceRoot":"","sources":["../../../src/nanomind-core/compiler/semantic-compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,12 @@ export { analyzeGovernance } from './analyzers/governance-analyzer.js';
|
|
|
23
23
|
export { analyzeScope } from './analyzers/scope-analyzer.js';
|
|
24
24
|
export { analyzePrompt } from './analyzers/prompt-analyzer.js';
|
|
25
25
|
export { analyzeCode } from './analyzers/code-analyzer.js';
|
|
26
|
+
export { validateAST } from './verification/ast-validator.js';
|
|
27
|
+
export type { ASTValidationResult, ClaimValidation, Discrepancy } from './verification/ast-validator.js';
|
|
28
|
+
export { enforceSeverityFloor, validateEnhancement, requireBenignConsensus, redactSecretsForNanoMind, assertASTIntegrity, SecurityError, verifyTrainingProvenance, logSecurityEvent, getAuditEvents } from './security/defense-in-depth.js';
|
|
29
|
+
export { verifyAll, EventChain, generateManifest } from './security/integrity-verifier.js';
|
|
30
|
+
export { TMEClassifier, getTMEClassifier } from './inference/tme-classifier.js';
|
|
31
|
+
export type { TMEClassification } from './inference/tme-classifier.js';
|
|
26
32
|
export { parseArtifact, classifyArtifactType, computeHash } from './ingestion/artifact-parser.js';
|
|
27
33
|
export { sanitizeForNanoMind, detectManipulation } from './ingestion/input-sanitizer.js';
|
|
28
34
|
export type { ParsedArtifact } from './ingestion/artifact-parser.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nanomind-core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nanomind-core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGzG,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,aAAa,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC5O,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAG3F,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAChF,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGvE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* 3. World-class design: compiler architecture, not regex patches
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.detectManipulation = exports.sanitizeForNanoMind = exports.computeHash = exports.classifyArtifactType = exports.parseArtifact = exports.analyzeCode = exports.analyzePrompt = exports.analyzeScope = exports.analyzeGovernance = exports.analyzeCredentials = exports.analyzeCapabilities = exports.SemanticCompiler = exports.DEFAULT_COMPILER_CONFIG = void 0;
|
|
18
|
+
exports.detectManipulation = exports.sanitizeForNanoMind = exports.computeHash = exports.classifyArtifactType = exports.parseArtifact = exports.getTMEClassifier = exports.TMEClassifier = exports.generateManifest = exports.EventChain = exports.verifyAll = exports.getAuditEvents = exports.logSecurityEvent = exports.verifyTrainingProvenance = exports.SecurityError = exports.assertASTIntegrity = exports.redactSecretsForNanoMind = exports.requireBenignConsensus = exports.validateEnhancement = exports.enforceSeverityFloor = exports.validateAST = exports.analyzeCode = exports.analyzePrompt = exports.analyzeScope = exports.analyzeGovernance = exports.analyzeCredentials = exports.analyzeCapabilities = exports.SemanticCompiler = exports.DEFAULT_COMPILER_CONFIG = void 0;
|
|
19
19
|
var types_js_1 = require("./types.js");
|
|
20
20
|
Object.defineProperty(exports, "DEFAULT_COMPILER_CONFIG", { enumerable: true, get: function () { return types_js_1.DEFAULT_COMPILER_CONFIG; } });
|
|
21
21
|
// Compiler
|
|
@@ -34,6 +34,28 @@ var prompt_analyzer_js_1 = require("./analyzers/prompt-analyzer.js");
|
|
|
34
34
|
Object.defineProperty(exports, "analyzePrompt", { enumerable: true, get: function () { return prompt_analyzer_js_1.analyzePrompt; } });
|
|
35
35
|
var code_analyzer_js_1 = require("./analyzers/code-analyzer.js");
|
|
36
36
|
Object.defineProperty(exports, "analyzeCode", { enumerable: true, get: function () { return code_analyzer_js_1.analyzeCode; } });
|
|
37
|
+
// Verification
|
|
38
|
+
var ast_validator_js_1 = require("./verification/ast-validator.js");
|
|
39
|
+
Object.defineProperty(exports, "validateAST", { enumerable: true, get: function () { return ast_validator_js_1.validateAST; } });
|
|
40
|
+
// Security
|
|
41
|
+
var defense_in_depth_js_1 = require("./security/defense-in-depth.js");
|
|
42
|
+
Object.defineProperty(exports, "enforceSeverityFloor", { enumerable: true, get: function () { return defense_in_depth_js_1.enforceSeverityFloor; } });
|
|
43
|
+
Object.defineProperty(exports, "validateEnhancement", { enumerable: true, get: function () { return defense_in_depth_js_1.validateEnhancement; } });
|
|
44
|
+
Object.defineProperty(exports, "requireBenignConsensus", { enumerable: true, get: function () { return defense_in_depth_js_1.requireBenignConsensus; } });
|
|
45
|
+
Object.defineProperty(exports, "redactSecretsForNanoMind", { enumerable: true, get: function () { return defense_in_depth_js_1.redactSecretsForNanoMind; } });
|
|
46
|
+
Object.defineProperty(exports, "assertASTIntegrity", { enumerable: true, get: function () { return defense_in_depth_js_1.assertASTIntegrity; } });
|
|
47
|
+
Object.defineProperty(exports, "SecurityError", { enumerable: true, get: function () { return defense_in_depth_js_1.SecurityError; } });
|
|
48
|
+
Object.defineProperty(exports, "verifyTrainingProvenance", { enumerable: true, get: function () { return defense_in_depth_js_1.verifyTrainingProvenance; } });
|
|
49
|
+
Object.defineProperty(exports, "logSecurityEvent", { enumerable: true, get: function () { return defense_in_depth_js_1.logSecurityEvent; } });
|
|
50
|
+
Object.defineProperty(exports, "getAuditEvents", { enumerable: true, get: function () { return defense_in_depth_js_1.getAuditEvents; } });
|
|
51
|
+
var integrity_verifier_js_1 = require("./security/integrity-verifier.js");
|
|
52
|
+
Object.defineProperty(exports, "verifyAll", { enumerable: true, get: function () { return integrity_verifier_js_1.verifyAll; } });
|
|
53
|
+
Object.defineProperty(exports, "EventChain", { enumerable: true, get: function () { return integrity_verifier_js_1.EventChain; } });
|
|
54
|
+
Object.defineProperty(exports, "generateManifest", { enumerable: true, get: function () { return integrity_verifier_js_1.generateManifest; } });
|
|
55
|
+
// Inference
|
|
56
|
+
var tme_classifier_js_1 = require("./inference/tme-classifier.js");
|
|
57
|
+
Object.defineProperty(exports, "TMEClassifier", { enumerable: true, get: function () { return tme_classifier_js_1.TMEClassifier; } });
|
|
58
|
+
Object.defineProperty(exports, "getTMEClassifier", { enumerable: true, get: function () { return tme_classifier_js_1.getTMEClassifier; } });
|
|
37
59
|
// Ingestion
|
|
38
60
|
var artifact_parser_js_1 = require("./ingestion/artifact-parser.js");
|
|
39
61
|
Object.defineProperty(exports, "parseArtifact", { enumerable: true, get: function () { return artifact_parser_js_1.parseArtifact; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nanomind-core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAgBH,uCAAqD;AAA5C,mHAAA,uBAAuB,OAAA;AAEhC,WAAW;AACX,wEAAmE;AAA1D,wHAAA,gBAAgB,OAAA;AAEzB,YAAY;AACZ,6EAAyE;AAAhE,6HAAA,mBAAmB,OAAA;AAE5B,6EAAwE;AAA/D,4HAAA,kBAAkB,OAAA;AAC3B,6EAAuE;AAA9D,2HAAA,iBAAiB,OAAA;AAC1B,mEAA6D;AAApD,iHAAA,YAAY,OAAA;AACrB,qEAA+D;AAAtD,mHAAA,aAAa,OAAA;AACtB,iEAA2D;AAAlD,+GAAA,WAAW,OAAA;AAEpB,YAAY;AACZ,qEAAkG;AAAzF,mHAAA,aAAa,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAAE,iHAAA,WAAW,OAAA;AACzD,qEAAyF;AAAhF,yHAAA,mBAAmB,OAAA;AAAE,wHAAA,kBAAkB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nanomind-core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAgBH,uCAAqD;AAA5C,mHAAA,uBAAuB,OAAA;AAEhC,WAAW;AACX,wEAAmE;AAA1D,wHAAA,gBAAgB,OAAA;AAEzB,YAAY;AACZ,6EAAyE;AAAhE,6HAAA,mBAAmB,OAAA;AAE5B,6EAAwE;AAA/D,4HAAA,kBAAkB,OAAA;AAC3B,6EAAuE;AAA9D,2HAAA,iBAAiB,OAAA;AAC1B,mEAA6D;AAApD,iHAAA,YAAY,OAAA;AACrB,qEAA+D;AAAtD,mHAAA,aAAa,OAAA;AACtB,iEAA2D;AAAlD,+GAAA,WAAW,OAAA;AAEpB,eAAe;AACf,oEAA8D;AAArD,+GAAA,WAAW,OAAA;AAGpB,WAAW;AACX,sEAA4O;AAAnO,2HAAA,oBAAoB,OAAA;AAAE,0HAAA,mBAAmB,OAAA;AAAE,6HAAA,sBAAsB,OAAA;AAAE,+HAAA,wBAAwB,OAAA;AAAE,yHAAA,kBAAkB,OAAA;AAAE,oHAAA,aAAa,OAAA;AAAE,+HAAA,wBAAwB,OAAA;AAAE,uHAAA,gBAAgB,OAAA;AAAE,qHAAA,cAAc,OAAA;AACnM,0EAA2F;AAAlF,kHAAA,SAAS,OAAA;AAAE,mHAAA,UAAU,OAAA;AAAE,yHAAA,gBAAgB,OAAA;AAEhD,YAAY;AACZ,mEAAgF;AAAvE,kHAAA,aAAa,OAAA;AAAE,qHAAA,gBAAgB,OAAA;AAGxC,YAAY;AACZ,qEAAkG;AAAzF,mHAAA,aAAa,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AAAE,iHAAA,WAAW,OAAA;AACzD,qEAAyF;AAAhF,yHAAA,mBAAmB,OAAA;AAAE,wHAAA,kBAAkB,OAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TME Classifier -- Local inference using the trained Mamba model
|
|
3
|
+
*
|
|
4
|
+
* Loads the trained NanoMind TME model weights and tokenizer directly.
|
|
5
|
+
* No daemon needed. Sub-millisecond inference on any CPU.
|
|
6
|
+
*
|
|
7
|
+
* This replaces the daemon call for intent classification in the
|
|
8
|
+
* Semantic Compiler. The daemon is still used for SCAN intents
|
|
9
|
+
* that need the full LLM (explanation, version delta, etc).
|
|
10
|
+
*
|
|
11
|
+
* Security: model file integrity verified before loading.
|
|
12
|
+
*/
|
|
13
|
+
export interface TMEClassification {
|
|
14
|
+
intentClass: 'benign' | 'suspicious' | 'malicious';
|
|
15
|
+
attackClass: string;
|
|
16
|
+
confidence: number;
|
|
17
|
+
topClasses: Array<{
|
|
18
|
+
class: string;
|
|
19
|
+
score: number;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Lightweight TME classifier that runs inference using the trained model.
|
|
24
|
+
*
|
|
25
|
+
* For the MLP/TME bootstrap model, inference is a simple forward pass:
|
|
26
|
+
* tokenize → embed → pool → classify. No GPU or daemon needed.
|
|
27
|
+
*/
|
|
28
|
+
export declare class TMEClassifier {
|
|
29
|
+
private vocab;
|
|
30
|
+
private loaded;
|
|
31
|
+
private modelPath;
|
|
32
|
+
private tokenizerPath;
|
|
33
|
+
constructor(modelDir?: string);
|
|
34
|
+
/**
|
|
35
|
+
* Load the tokenizer. Model weights are not loaded in JS --
|
|
36
|
+
* the actual neural network inference happens via the Python training
|
|
37
|
+
* pipeline. This classifier uses a heuristic approximation based
|
|
38
|
+
* on the tokenizer's vocabulary and the model's learned patterns.
|
|
39
|
+
*/
|
|
40
|
+
load(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Classify text using vocabulary-based scoring.
|
|
43
|
+
*
|
|
44
|
+
* This is a lightweight approximation of the trained model's behavior.
|
|
45
|
+
* The model learned that certain token patterns strongly predict each class.
|
|
46
|
+
* We replicate this by scoring token overlap with class-indicative vocabulary.
|
|
47
|
+
*
|
|
48
|
+
* For full neural inference, use the Python TME model via the daemon.
|
|
49
|
+
*/
|
|
50
|
+
classify(text: string): TMEClassification;
|
|
51
|
+
private tokenize;
|
|
52
|
+
/**
|
|
53
|
+
* Score tokens against each class using learned vocabulary patterns.
|
|
54
|
+
*
|
|
55
|
+
* The trained TME model associates specific tokens with attack classes.
|
|
56
|
+
* We approximate this by checking token presence against class-indicative
|
|
57
|
+
* word lists derived from the training data.
|
|
58
|
+
*/
|
|
59
|
+
private score;
|
|
60
|
+
}
|
|
61
|
+
export declare function getTMEClassifier(): TMEClassifier;
|
|
62
|
+
//# sourceMappingURL=tme-classifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tme-classifier.d.ts","sourceRoot":"","sources":["../../../src/nanomind-core/inference/tme-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;gBAElB,QAAQ,CAAC,EAAE,MAAM;IA+B7B;;;;;OAKG;IACH,IAAI,IAAI,OAAO;IAaf;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IA8BzC,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;CA8Cd;AAOD,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD"}
|