@inkog-io/mcp 1.0.10 → 1.0.12
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/dist/tools/scan.d.ts.map +1 -1
- package/dist/tools/scan.js +36 -3
- package/dist/tools/scan.js.map +1 -1
- package/dist/utils/agent-detector.d.ts +89 -0
- package/dist/utils/agent-detector.d.ts.map +1 -0
- package/dist/utils/agent-detector.js +674 -0
- package/dist/utils/agent-detector.js.map +1 -0
- package/dist/utils/agent-detector.test.d.ts +11 -0
- package/dist/utils/agent-detector.test.d.ts.map +1 -0
- package/dist/utils/agent-detector.test.js +562 -0
- package/dist/utils/agent-detector.test.js.map +1 -0
- package/dist/utils/file-reader.d.ts +45 -6
- package/dist/utils/file-reader.d.ts.map +1 -1
- package/dist/utils/file-reader.js +180 -45
- package/dist/utils/file-reader.js.map +1 -1
- package/package.json +3 -1
package/dist/tools/scan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/tools/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/tools/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;AAmX7D,eAAO,MAAM,QAAQ,EAAE,cAsCtB,CAAC"}
|
package/dist/tools/scan.js
CHANGED
|
@@ -28,6 +28,11 @@ const ScanArgsSchema = z.object({
|
|
|
28
28
|
.optional()
|
|
29
29
|
.default('summary')
|
|
30
30
|
.describe('Output format: summary (default), detailed (full findings), sarif (for CI/CD)'),
|
|
31
|
+
filter: z
|
|
32
|
+
.enum(['auto', 'agent-only', 'all'])
|
|
33
|
+
.optional()
|
|
34
|
+
.default('auto')
|
|
35
|
+
.describe('File filtering mode: auto (detect agent repos and adapt filtering), agent-only (aggressive filtering for known agent repos), all (no filtering, scan all files)'),
|
|
31
36
|
});
|
|
32
37
|
// =============================================================================
|
|
33
38
|
// Helpers
|
|
@@ -145,14 +150,21 @@ async function scanHandler(rawArgs) {
|
|
|
145
150
|
}
|
|
146
151
|
const args = parseResult.data;
|
|
147
152
|
try {
|
|
148
|
-
// Read files from path
|
|
149
|
-
const readResult = readDirectory(args.path
|
|
153
|
+
// Read files from path with intelligent filtering
|
|
154
|
+
const readResult = readDirectory(args.path, {
|
|
155
|
+
filterMode: args.filter,
|
|
156
|
+
});
|
|
150
157
|
if (readResult.files.length === 0) {
|
|
158
|
+
// Provide helpful message based on filtering
|
|
159
|
+
const filteringNote = args.filter === 'auto' && readResult.metadata?.agentDetection?.isAgentRepo
|
|
160
|
+
? `\n\nNote: Agent repo detected (${readResult.metadata.agentDetection.confidence} confidence). ` +
|
|
161
|
+
`Try --filter=all to scan all files including tests/docs.`
|
|
162
|
+
: '';
|
|
151
163
|
return {
|
|
152
164
|
content: [
|
|
153
165
|
{
|
|
154
166
|
type: 'text',
|
|
155
|
-
text: `No scannable files found in: ${args.path}\n\nSupported file types: .py, .js, .ts, .go, .java, .rb, .yaml, .json, .md`,
|
|
167
|
+
text: `No scannable files found in: ${args.path}\n\nSupported file types: .py, .js, .ts, .go, .java, .rb, .yaml, .json, .md${filteringNote}`,
|
|
156
168
|
},
|
|
157
169
|
],
|
|
158
170
|
};
|
|
@@ -180,6 +192,21 @@ async function scanHandler(rawArgs) {
|
|
|
180
192
|
// Build human-readable output
|
|
181
193
|
const findings = response.findings ?? [];
|
|
182
194
|
let output = formatSummary(findings, response.risk_score, response.files_scanned, args.policy);
|
|
195
|
+
// Add filtering info if agent repo detected (SARIF already returned above)
|
|
196
|
+
const agentInfo = readResult.metadata?.agentDetection;
|
|
197
|
+
if (agentInfo?.isAgentRepo) {
|
|
198
|
+
const frameworks = agentInfo.frameworks.length > 0 ? agentInfo.frameworks.join(', ') : 'unknown';
|
|
199
|
+
output += `Agent repo detected (${agentInfo.confidence} confidence)\n`;
|
|
200
|
+
output += ` Frameworks: ${frameworks}\n`;
|
|
201
|
+
if (agentInfo.hasGovernance) {
|
|
202
|
+
output += ` AGENTS.md: present\n`;
|
|
203
|
+
}
|
|
204
|
+
if (readResult.metadata?.binaryFilesSkipped || readResult.metadata?.patternFilesSkipped) {
|
|
205
|
+
const totalSkipped = (readResult.metadata.binaryFilesSkipped ?? 0) + (readResult.metadata.patternFilesSkipped ?? 0);
|
|
206
|
+
output += ` Optimized: ${totalSkipped} files skipped (${readResult.metadata.binaryFilesSkipped ?? 0} binary, ${readResult.metadata.patternFilesSkipped ?? 0} filtered)\n`;
|
|
207
|
+
}
|
|
208
|
+
output += '\n';
|
|
209
|
+
}
|
|
183
210
|
// Add findings
|
|
184
211
|
if (findings.length > 0) {
|
|
185
212
|
output += '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n';
|
|
@@ -314,6 +341,12 @@ export const scanTool = {
|
|
|
314
341
|
default: 'summary',
|
|
315
342
|
description: 'Output format: summary (default), detailed (full findings), sarif (for CI/CD)',
|
|
316
343
|
},
|
|
344
|
+
filter: {
|
|
345
|
+
type: 'string',
|
|
346
|
+
enum: ['auto', 'agent-only', 'all'],
|
|
347
|
+
default: 'auto',
|
|
348
|
+
description: 'File filtering: auto (detect agent repos, adapt filtering), agent-only (aggressive filtering), all (no filtering)',
|
|
349
|
+
},
|
|
317
350
|
},
|
|
318
351
|
required: ['path'],
|
|
319
352
|
},
|
package/dist/tools/scan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/tools/scan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/tools/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Repository Detector
|
|
3
|
+
*
|
|
4
|
+
* Intelligently detects AI agent repositories and their frameworks.
|
|
5
|
+
* Used for adaptive filtering to optimize scan performance on large codebases.
|
|
6
|
+
*
|
|
7
|
+
* Key features:
|
|
8
|
+
* - AGENTS.md detection (industry standard governance file)
|
|
9
|
+
* - Framework detection (LangChain, LangGraph, CrewAI, AutoGen, etc.)
|
|
10
|
+
* - Confidence scoring for filtering decisions
|
|
11
|
+
* - Entry point identification
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Supported AI agent frameworks.
|
|
15
|
+
* Based on industry research (OWASP Agentic, AGENTS.md standard, framework landscape 2026)
|
|
16
|
+
*/
|
|
17
|
+
export type FrameworkType = 'langchain' | 'langgraph' | 'crewai' | 'autogen' | 'openai-agents' | 'llamaindex' | 'haystack' | 'dspy' | 'n8n' | 'flowise' | 'dify' | 'semantic-kernel' | 'agentkit' | 'pure-python' | 'unknown';
|
|
18
|
+
/**
|
|
19
|
+
* Confidence level for agent repository detection.
|
|
20
|
+
* Determines how aggressively we filter files.
|
|
21
|
+
*/
|
|
22
|
+
export type ConfidenceLevel = 'high' | 'medium' | 'low' | 'none';
|
|
23
|
+
/**
|
|
24
|
+
* Result of agent repository detection.
|
|
25
|
+
*/
|
|
26
|
+
export interface AgentRepoSignature {
|
|
27
|
+
/** Whether this appears to be an AI agent repository */
|
|
28
|
+
isAgentRepo: boolean;
|
|
29
|
+
/** Confidence level of the detection */
|
|
30
|
+
confidence: ConfidenceLevel;
|
|
31
|
+
/** Detected frameworks */
|
|
32
|
+
frameworks: FrameworkType[];
|
|
33
|
+
/** Identified entry points (relative paths) */
|
|
34
|
+
entryPoints: string[];
|
|
35
|
+
/** Whether AGENTS.md governance file is present */
|
|
36
|
+
hasGovernance: boolean;
|
|
37
|
+
/** Hot directories containing agent logic */
|
|
38
|
+
hotDirectories: string[];
|
|
39
|
+
/** Detection score (0-100) for debugging */
|
|
40
|
+
score: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Options for agent detection.
|
|
44
|
+
*/
|
|
45
|
+
export interface AgentDetectorOptions {
|
|
46
|
+
/** Maximum number of files to sample for framework detection */
|
|
47
|
+
maxSampleFiles?: number;
|
|
48
|
+
/** Maximum depth to search for entry points */
|
|
49
|
+
maxDepth?: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Binary file extensions that should be skipped early (before reading content).
|
|
53
|
+
* These files will never contain agent code.
|
|
54
|
+
*/
|
|
55
|
+
export declare const BINARY_EXTENSIONS: Set<string>;
|
|
56
|
+
/**
|
|
57
|
+
* Patterns that should ALWAYS be skipped (never contain agent code).
|
|
58
|
+
*/
|
|
59
|
+
export declare const ALWAYS_SKIP_PATTERNS: string[];
|
|
60
|
+
/**
|
|
61
|
+
* Patterns to deprioritize in agent repos (scan last, skip if limit reached).
|
|
62
|
+
*/
|
|
63
|
+
export declare const LOW_PRIORITY_PATTERNS: string[];
|
|
64
|
+
/**
|
|
65
|
+
* Detect if a directory contains an AI agent repository.
|
|
66
|
+
*
|
|
67
|
+
* @param dirPath Path to the directory to analyze
|
|
68
|
+
* @param options Detection options
|
|
69
|
+
* @returns Agent repository signature with confidence and frameworks
|
|
70
|
+
*/
|
|
71
|
+
export declare function detectAgentRepo(dirPath: string, options?: AgentDetectorOptions): AgentRepoSignature;
|
|
72
|
+
/**
|
|
73
|
+
* Check if a file path matches any security-sensitive patterns.
|
|
74
|
+
* These files should ALWAYS be scanned regardless of filtering.
|
|
75
|
+
*/
|
|
76
|
+
export declare function containsSecuritySensitiveCode(content: string): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Check if a file extension is binary (should be skipped).
|
|
79
|
+
*/
|
|
80
|
+
export declare function isBinaryExtension(filePath: string): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Get filtering recommendations based on agent detection result.
|
|
83
|
+
*/
|
|
84
|
+
export declare function getFilteringRecommendation(signature: AgentRepoSignature): {
|
|
85
|
+
skipPatterns: string[];
|
|
86
|
+
priorityPatterns: string[];
|
|
87
|
+
aggressiveFilter: boolean;
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=agent-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-detector.d.ts","sourceRoot":"","sources":["../../src/utils/agent-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,WAAW,GACX,QAAQ,GACR,SAAS,GACT,eAAe,GACf,YAAY,GACZ,UAAU,GACV,MAAM,GACN,KAAK,GACL,SAAS,GACT,MAAM,GACN,iBAAiB,GACjB,UAAU,GACV,aAAa,GACb,SAAS,CAAC;AAEd;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,WAAW,EAAE,OAAO,CAAC;IACrB,wCAAwC;IACxC,UAAU,EAAE,eAAe,CAAC;IAC5B,0BAA0B;IAC1B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mDAAmD;IACnD,aAAa,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAyMD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,aAkE5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,UAuChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAqBjC,CAAC;AAWF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,kBAAkB,CA0FpB;AA+MD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,kBAAkB,GAAG;IACzE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAyBA"}
|