erosolar-cli 1.5.1 → 1.5.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/dist/capabilities/cloudCapability.d.ts +13 -0
- package/dist/capabilities/cloudCapability.d.ts.map +1 -0
- package/dist/capabilities/cloudCapability.js +38 -0
- package/dist/capabilities/cloudCapability.js.map +1 -0
- package/dist/capabilities/index.d.ts +1 -0
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/index.js +1 -0
- package/dist/capabilities/index.js.map +1 -1
- package/dist/core/secretStore.d.ts +1 -1
- package/dist/core/secretStore.d.ts.map +1 -1
- package/dist/core/secretStore.js +49 -0
- package/dist/core/secretStore.js.map +1 -1
- package/dist/plugins/tools/cloud/cloudPlugin.d.ts +3 -0
- package/dist/plugins/tools/cloud/cloudPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/cloud/cloudPlugin.js +14 -0
- package/dist/plugins/tools/cloud/cloudPlugin.js.map +1 -0
- package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
- package/dist/plugins/tools/nodeDefaults.js +2 -0
- package/dist/plugins/tools/nodeDefaults.js.map +1 -1
- package/dist/security/persistence-analyzer.d.ts +56 -0
- package/dist/security/persistence-analyzer.d.ts.map +1 -0
- package/dist/security/persistence-analyzer.js +187 -0
- package/dist/security/persistence-analyzer.js.map +1 -0
- package/dist/security/persistence-research.d.ts +89 -0
- package/dist/security/persistence-research.d.ts.map +1 -0
- package/dist/security/persistence-research.js +361 -0
- package/dist/security/persistence-research.js.map +1 -0
- package/dist/shell/bracketedPasteManager.d.ts +43 -0
- package/dist/shell/bracketedPasteManager.d.ts.map +1 -1
- package/dist/shell/bracketedPasteManager.js +166 -9
- package/dist/shell/bracketedPasteManager.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts +12 -0
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +47 -0
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/tools/cloudTools.d.ts +46 -0
- package/dist/tools/cloudTools.d.ts.map +1 -0
- package/dist/tools/cloudTools.js +854 -0
- package/dist/tools/cloudTools.js.map +1 -0
- package/dist/tools/emailTools.d.ts.map +1 -1
- package/dist/tools/emailTools.js +11 -7
- package/dist/tools/emailTools.js.map +1 -1
- package/dist/tools/webTools.d.ts.map +1 -1
- package/dist/tools/webTools.js +7 -5
- package/dist/tools/webTools.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CapabilityContribution, CapabilityContext, CapabilityModule } from '../runtime/agentHost.js';
|
|
2
|
+
export interface CloudCapabilityOptions {
|
|
3
|
+
workingDir?: string;
|
|
4
|
+
id?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class CloudCapabilityModule implements CapabilityModule {
|
|
8
|
+
readonly id = "capability.cloud";
|
|
9
|
+
private readonly options;
|
|
10
|
+
constructor(options?: CloudCapabilityOptions);
|
|
11
|
+
create(context: CapabilityContext): Promise<CapabilityContribution>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=cloudCapability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudCapability.d.ts","sourceRoot":"","sources":["../../src/capabilities/cloudCapability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3G,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAsB,YAAW,gBAAgB;IAC5D,QAAQ,CAAC,EAAE,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAErC,OAAO,GAAE,sBAA2B;IAI1C,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CA8B1E"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createCloudTools } from '../tools/cloudTools.js';
|
|
2
|
+
export class CloudCapabilityModule {
|
|
3
|
+
id = 'capability.cloud';
|
|
4
|
+
options;
|
|
5
|
+
constructor(options = {}) {
|
|
6
|
+
this.options = options;
|
|
7
|
+
}
|
|
8
|
+
async create(context) {
|
|
9
|
+
const workingDir = this.options.workingDir ?? context.workingDir;
|
|
10
|
+
return {
|
|
11
|
+
id: this.options.id ?? 'cloud.tools.deployment',
|
|
12
|
+
description: this.options.description ??
|
|
13
|
+
'Cloud deployment tools with automatic CLI detection, configuration checking, and auto-fixing for Firebase, Aliyun, AWS, GCP, Azure, Vercel, Netlify, and more.',
|
|
14
|
+
toolSuite: {
|
|
15
|
+
id: 'cloud',
|
|
16
|
+
description: 'Multi-cloud deployment and management tools',
|
|
17
|
+
tools: createCloudTools(workingDir),
|
|
18
|
+
},
|
|
19
|
+
metadata: {
|
|
20
|
+
workingDir,
|
|
21
|
+
supportedProviders: [
|
|
22
|
+
'firebase',
|
|
23
|
+
'aliyun',
|
|
24
|
+
'aws',
|
|
25
|
+
'gcloud',
|
|
26
|
+
'azure',
|
|
27
|
+
'vercel',
|
|
28
|
+
'netlify',
|
|
29
|
+
'cloudflare',
|
|
30
|
+
'fly',
|
|
31
|
+
'railway',
|
|
32
|
+
'supabase',
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=cloudCapability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudCapability.js","sourceRoot":"","sources":["../../src/capabilities/cloudCapability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,MAAM,OAAO,qBAAqB;IACvB,EAAE,GAAG,kBAAkB,CAAC;IAChB,OAAO,CAAyB;IAEjD,YAAY,UAAkC,EAAE;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;QACjE,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,wBAAwB;YAC/C,WAAW,EACT,IAAI,CAAC,OAAO,CAAC,WAAW;gBACxB,gKAAgK;YAClK,SAAS,EAAE;gBACT,EAAE,EAAE,OAAO;gBACX,WAAW,EAAE,6CAA6C;gBAC1D,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC;aACpC;YACD,QAAQ,EAAE;gBACR,UAAU;gBACV,kBAAkB,EAAE;oBAClB,UAAU;oBACV,QAAQ;oBACR,KAAK;oBACL,QAAQ;oBACR,OAAO;oBACP,QAAQ;oBACR,SAAS;oBACT,YAAY;oBACZ,KAAK;oBACL,SAAS;oBACT,UAAU;iBACX;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -18,4 +18,5 @@ export { AdvancedTestGenerationCapabilityModule, type AdvancedTestGenerationCapa
|
|
|
18
18
|
export { EnhancedDevWorkflowCapabilityModule, type EnhancedDevWorkflowCapabilityOptions, } from './enhancedDevWorkflowCapability.js';
|
|
19
19
|
export { EmailCapabilityModule, type EmailCapabilityOptions, } from './emailCapability.js';
|
|
20
20
|
export { WebCapabilityModule, type WebCapabilityOptions, } from './webCapability.js';
|
|
21
|
+
export { CloudCapabilityModule, type CloudCapabilityOptions, } from './cloudCapability.js';
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,EAClC,KAAK,mCAAmC,GACzC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,EACxC,KAAK,yCAAyC,GAC/C,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,EACtC,KAAK,uCAAuC,GAC7C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,EACnC,KAAK,oCAAoC,GAC1C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,KAAK,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,EAClC,KAAK,mCAAmC,GACzC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,EACxC,KAAK,yCAAyC,GAC/C,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,EACtC,KAAK,uCAAuC,GAC7C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,EACnC,KAAK,oCAAoC,GAC1C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC"}
|
|
@@ -18,4 +18,5 @@ export { AdvancedTestGenerationCapabilityModule, } from './advancedTestGeneratio
|
|
|
18
18
|
export { EnhancedDevWorkflowCapabilityModule, } from './enhancedDevWorkflowCapability.js';
|
|
19
19
|
export { EmailCapabilityModule, } from './emailCapability.js';
|
|
20
20
|
export { WebCapabilityModule, } from './webCapability.js';
|
|
21
|
+
export { CloudCapabilityModule, } from './cloudCapability.js';
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAoC,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA8B,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAgC,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,GAEnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,GAEzC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,GAEvC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,GAEpC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAoC,MAAM,2BAA2B,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA8B,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAgC,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,4BAA4B,GAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kCAAkC,GAEnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,wCAAwC,GAEzC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sCAAsC,GAEvC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,mCAAmC,GAEpC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ProviderId } from './types.js';
|
|
2
|
-
export type SecretName = 'OPENAI_API_KEY' | 'ANTHROPIC_API_KEY' | 'DEEPSEEK_API_KEY' | 'XAI_API_KEY' | 'GEMINI_API_KEY' | 'BRAVE_SEARCH_API_KEY' | 'SERPAPI_API_KEY';
|
|
2
|
+
export type SecretName = 'OPENAI_API_KEY' | 'ANTHROPIC_API_KEY' | 'DEEPSEEK_API_KEY' | 'XAI_API_KEY' | 'GEMINI_API_KEY' | 'BRAVE_SEARCH_API_KEY' | 'SERPAPI_API_KEY' | 'TAVILY_API_KEY' | 'SMTP_USER' | 'SMTP_PASSWORD' | 'SMTP_PROVIDER' | 'SMTP_FROM_NAME' | 'SMTP_HOST' | 'SMTP_PORT';
|
|
3
3
|
export interface SecretDefinition {
|
|
4
4
|
id: SecretName;
|
|
5
5
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretStore.d.ts","sourceRoot":"","sources":["../../src/core/secretStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,UAAU,GAClB,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,aAAa,GACb,gBAAgB,GAChB,sBAAsB,GACtB,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"secretStore.d.ts","sourceRoot":"","sources":["../../src/core/secretStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,UAAU,GAClB,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,aAAa,GACb,gBAAgB,GAChB,sBAAsB,GACtB,iBAAiB,GACjB,gBAAgB,GAChB,WAAW,GACX,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,UAAU,EAAE,CAAC;CACzB;AA+GD,qBAAa,kBAAmB,SAAQ,KAAK;aACf,MAAM,EAAE,gBAAgB;gBAAxB,MAAM,EAAE,gBAAgB;CAIrD;AAED,wBAAgB,qBAAqB,IAAI,gBAAgB,EAAE,CAE1D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAc5D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUrE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAQpE;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAE5F"}
|
package/dist/core/secretStore.js
CHANGED
|
@@ -51,6 +51,55 @@ const SECRET_DEFINITIONS = [
|
|
|
51
51
|
envVar: 'SERPAPI_API_KEY',
|
|
52
52
|
providers: [],
|
|
53
53
|
},
|
|
54
|
+
{
|
|
55
|
+
id: 'TAVILY_API_KEY',
|
|
56
|
+
label: 'Tavily API Key',
|
|
57
|
+
description: 'Recommended: Primary WebSearch and WebExtract provider. Get yours at https://tavily.com',
|
|
58
|
+
envVar: 'TAVILY_API_KEY',
|
|
59
|
+
providers: [],
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: 'SMTP_USER',
|
|
63
|
+
label: 'Email Address',
|
|
64
|
+
description: 'Your email address for sending emails (e.g., you@gmail.com).',
|
|
65
|
+
envVar: 'SMTP_USER',
|
|
66
|
+
providers: [],
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: 'SMTP_PASSWORD',
|
|
70
|
+
label: 'Email App Password',
|
|
71
|
+
description: 'App password for your email (NOT your regular password). For Gmail: https://myaccount.google.com/apppasswords',
|
|
72
|
+
envVar: 'SMTP_PASSWORD',
|
|
73
|
+
providers: [],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: 'SMTP_PROVIDER',
|
|
77
|
+
label: 'Email Provider',
|
|
78
|
+
description: 'Email provider: gmail, outlook, yahoo, icloud, zoho (default: gmail).',
|
|
79
|
+
envVar: 'SMTP_PROVIDER',
|
|
80
|
+
providers: [],
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: 'SMTP_FROM_NAME',
|
|
84
|
+
label: 'Email Display Name',
|
|
85
|
+
description: 'Optional: Display name shown in sent emails (e.g., "John Doe").',
|
|
86
|
+
envVar: 'SMTP_FROM_NAME',
|
|
87
|
+
providers: [],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
id: 'SMTP_HOST',
|
|
91
|
+
label: 'Custom SMTP Host',
|
|
92
|
+
description: 'Optional: Custom SMTP server hostname (only for non-standard providers).',
|
|
93
|
+
envVar: 'SMTP_HOST',
|
|
94
|
+
providers: [],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
id: 'SMTP_PORT',
|
|
98
|
+
label: 'Custom SMTP Port',
|
|
99
|
+
description: 'Optional: Custom SMTP port (only for non-standard providers, default: 587).',
|
|
100
|
+
envVar: 'SMTP_PORT',
|
|
101
|
+
providers: [],
|
|
102
|
+
},
|
|
54
103
|
];
|
|
55
104
|
const envCodexHome = process.env['CODEX_HOME'];
|
|
56
105
|
const SECRET_DIR = envCodexHome ? resolve(envCodexHome) : join(homedir(), '.codex');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secretStore.js","sourceRoot":"","sources":["../../src/core/secretStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"secretStore.js","sourceRoot":"","sources":["../../src/core/secretStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/cloud/cloudPlugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wBAAgB,qBAAqB,IAAI,UAAU,CAWlD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CloudCapabilityModule } from '../../../capabilities/cloudCapability.js';
|
|
2
|
+
export function createCloudToolPlugin() {
|
|
3
|
+
return {
|
|
4
|
+
id: 'tool.cloud.deployment',
|
|
5
|
+
description: 'Multi-cloud deployment tools with auto-detection and auto-fix for Firebase, Aliyun, AWS, GCP, Azure, Vercel, Netlify, Cloudflare, and more.',
|
|
6
|
+
targets: ['node', 'cloud'],
|
|
7
|
+
create: (context) => {
|
|
8
|
+
return new CloudCapabilityModule({
|
|
9
|
+
workingDir: context.workingDir,
|
|
10
|
+
});
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=cloudPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/cloud/cloudPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAGjF,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,6IAA6I;QAC1J,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAClB,OAAO,IAAI,qBAAqB,CAAC;gBAC/B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeDefaults.d.ts","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nodeDefaults.d.ts","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"AA4BA,wBAAgB,8BAA8B,IAAI,IAAI,CA+BrD"}
|
|
@@ -22,6 +22,7 @@ import { createSkillToolPlugin } from './skills/skillPlugin.js';
|
|
|
22
22
|
import { createMcpToolPlugin } from './mcp/mcpPlugin.js';
|
|
23
23
|
import { createLearnToolPlugin } from './learn/learnPlugin.js';
|
|
24
24
|
import { createEmailToolPlugin } from './email/emailPlugin.js';
|
|
25
|
+
import { createCloudToolPlugin } from './cloud/cloudPlugin.js';
|
|
25
26
|
let registered = false;
|
|
26
27
|
export function registerDefaultNodeToolPlugins() {
|
|
27
28
|
if (registered) {
|
|
@@ -50,6 +51,7 @@ export function registerDefaultNodeToolPlugins() {
|
|
|
50
51
|
registerToolPlugin(createSkillToolPlugin());
|
|
51
52
|
registerToolPlugin(createMcpToolPlugin());
|
|
52
53
|
registerToolPlugin(createEmailToolPlugin());
|
|
54
|
+
registerToolPlugin(createCloudToolPlugin());
|
|
53
55
|
registered = true;
|
|
54
56
|
}
|
|
55
57
|
//# sourceMappingURL=nodeDefaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeDefaults.js","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nodeDefaults.js","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence Analyzer CLI Tool
|
|
3
|
+
*
|
|
4
|
+
* Command-line interface for analyzing persistence mechanisms
|
|
5
|
+
* across different operating systems.
|
|
6
|
+
*/
|
|
7
|
+
import { DetectedTechnique } from './persistence-research.js';
|
|
8
|
+
interface AnalysisOptions {
|
|
9
|
+
platform: string;
|
|
10
|
+
outputFormat: 'text' | 'json' | 'csv';
|
|
11
|
+
includeRemediation: boolean;
|
|
12
|
+
riskThreshold: 'low' | 'medium' | 'high' | 'critical';
|
|
13
|
+
}
|
|
14
|
+
export declare class PersistenceAnalyzer {
|
|
15
|
+
private toolkit;
|
|
16
|
+
constructor();
|
|
17
|
+
/**
|
|
18
|
+
* Analyze persistence techniques for a specific platform
|
|
19
|
+
*/
|
|
20
|
+
analyzePlatform(options: AnalysisOptions): string;
|
|
21
|
+
/**
|
|
22
|
+
* Generate detection rules for specific techniques
|
|
23
|
+
*/
|
|
24
|
+
generateDetectionRules(techniqueIds: string[]): string;
|
|
25
|
+
/**
|
|
26
|
+
* Generate test cases for security validation
|
|
27
|
+
*/
|
|
28
|
+
generateTestCases(platform: string): string;
|
|
29
|
+
/**
|
|
30
|
+
* Filter techniques by risk level
|
|
31
|
+
*/
|
|
32
|
+
private filterByRiskLevel;
|
|
33
|
+
/**
|
|
34
|
+
* Format analysis as plain text
|
|
35
|
+
*/
|
|
36
|
+
private formatAsText;
|
|
37
|
+
/**
|
|
38
|
+
* Format analysis as JSON
|
|
39
|
+
*/
|
|
40
|
+
private formatAsJSON;
|
|
41
|
+
/**
|
|
42
|
+
* Format analysis as CSV
|
|
43
|
+
*/
|
|
44
|
+
private formatAsCSV;
|
|
45
|
+
/**
|
|
46
|
+
* Simulate detection of persistence techniques
|
|
47
|
+
* (For demonstration purposes in a research environment)
|
|
48
|
+
*/
|
|
49
|
+
simulateDetection(platform: string): DetectedTechnique[];
|
|
50
|
+
/**
|
|
51
|
+
* Generate security assessment report
|
|
52
|
+
*/
|
|
53
|
+
generateAssessmentReport(platform: string): string;
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=persistence-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence-analyzer.d.ts","sourceRoot":"","sources":["../../src/security/persistence-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAoD,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEhH,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACtC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CACvD;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAA6B;;IAM5C;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;IAcjD;;OAEG;IACH,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM;IAatD;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAK3C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmCpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,WAAW;IA4BnB;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAmBxD;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAqCnD"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence Analyzer CLI Tool
|
|
3
|
+
*
|
|
4
|
+
* Command-line interface for analyzing persistence mechanisms
|
|
5
|
+
* across different operating systems.
|
|
6
|
+
*/
|
|
7
|
+
import { PersistenceResearchToolkit } from './persistence-research.js';
|
|
8
|
+
export class PersistenceAnalyzer {
|
|
9
|
+
toolkit;
|
|
10
|
+
constructor() {
|
|
11
|
+
this.toolkit = new PersistenceResearchToolkit();
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Analyze persistence techniques for a specific platform
|
|
15
|
+
*/
|
|
16
|
+
analyzePlatform(options) {
|
|
17
|
+
const techniques = this.toolkit.getTechniquesByPlatform(options.platform);
|
|
18
|
+
const filteredTechniques = this.filterByRiskLevel(techniques, options.riskThreshold);
|
|
19
|
+
switch (options.outputFormat) {
|
|
20
|
+
case 'json':
|
|
21
|
+
return this.formatAsJSON(filteredTechniques, options);
|
|
22
|
+
case 'csv':
|
|
23
|
+
return this.formatAsCSV(filteredTechniques, options);
|
|
24
|
+
default:
|
|
25
|
+
return this.formatAsText(filteredTechniques, options);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Generate detection rules for specific techniques
|
|
30
|
+
*/
|
|
31
|
+
generateDetectionRules(techniqueIds) {
|
|
32
|
+
const rules = [];
|
|
33
|
+
techniqueIds.forEach(id => {
|
|
34
|
+
const techniqueRules = this.toolkit.generateDetectionRules(id);
|
|
35
|
+
rules.push(`Detection Rules for ${id}:`);
|
|
36
|
+
rules.push(...techniqueRules);
|
|
37
|
+
rules.push('');
|
|
38
|
+
});
|
|
39
|
+
return rules.join('\n');
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Generate test cases for security validation
|
|
43
|
+
*/
|
|
44
|
+
generateTestCases(platform) {
|
|
45
|
+
const testCases = this.toolkit.generateTestCases(platform);
|
|
46
|
+
return testCases.join('\n');
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Filter techniques by risk level
|
|
50
|
+
*/
|
|
51
|
+
filterByRiskLevel(techniques, threshold) {
|
|
52
|
+
const riskLevels = ['low', 'medium', 'high', 'critical'];
|
|
53
|
+
const thresholdIndex = riskLevels.indexOf(threshold);
|
|
54
|
+
return techniques.filter(tech => {
|
|
55
|
+
const techIndex = riskLevels.indexOf(tech.riskLevel);
|
|
56
|
+
return techIndex >= thresholdIndex;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Format analysis as plain text
|
|
61
|
+
*/
|
|
62
|
+
formatAsText(techniques, options) {
|
|
63
|
+
const output = [];
|
|
64
|
+
output.push(`Persistence Analysis for ${options.platform.toUpperCase()}`);
|
|
65
|
+
output.push('='.repeat(50));
|
|
66
|
+
output.push(`Total Techniques: ${techniques.length}`);
|
|
67
|
+
output.push(`Risk Threshold: ${options.riskThreshold}`);
|
|
68
|
+
output.push('');
|
|
69
|
+
techniques.forEach(tech => {
|
|
70
|
+
output.push(`Technique: ${tech.name}`);
|
|
71
|
+
output.push(`MITRE ID: ${tech.mitreId || 'N/A'}`);
|
|
72
|
+
output.push(`Risk Level: ${tech.riskLevel}`);
|
|
73
|
+
output.push(`Description: ${tech.description}`);
|
|
74
|
+
output.push('Detection Methods:');
|
|
75
|
+
tech.detectionMethods.forEach(method => {
|
|
76
|
+
output.push(` • ${method}`);
|
|
77
|
+
});
|
|
78
|
+
if (options.includeRemediation) {
|
|
79
|
+
output.push('Remediation Steps:');
|
|
80
|
+
tech.remediationSteps.forEach(step => {
|
|
81
|
+
output.push(` • ${step}`);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
output.push('');
|
|
85
|
+
});
|
|
86
|
+
return output.join('\n');
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Format analysis as JSON
|
|
90
|
+
*/
|
|
91
|
+
formatAsJSON(techniques, options) {
|
|
92
|
+
const analysis = {
|
|
93
|
+
platform: options.platform,
|
|
94
|
+
riskThreshold: options.riskThreshold,
|
|
95
|
+
totalTechniques: techniques.length,
|
|
96
|
+
techniques: techniques.map(tech => ({
|
|
97
|
+
id: tech.id,
|
|
98
|
+
name: tech.name,
|
|
99
|
+
mitreId: tech.mitreId,
|
|
100
|
+
riskLevel: tech.riskLevel,
|
|
101
|
+
description: tech.description,
|
|
102
|
+
detectionMethods: tech.detectionMethods,
|
|
103
|
+
remediationSteps: options.includeRemediation ? tech.remediationSteps : undefined
|
|
104
|
+
}))
|
|
105
|
+
};
|
|
106
|
+
return JSON.stringify(analysis, null, 2);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Format analysis as CSV
|
|
110
|
+
*/
|
|
111
|
+
formatAsCSV(techniques, options) {
|
|
112
|
+
const headers = ['ID', 'Name', 'MITRE ID', 'Risk Level', 'Description'];
|
|
113
|
+
if (options.includeRemediation) {
|
|
114
|
+
headers.push('Remediation Steps');
|
|
115
|
+
}
|
|
116
|
+
const rows = techniques.map(tech => {
|
|
117
|
+
const row = [
|
|
118
|
+
tech.id,
|
|
119
|
+
tech.name,
|
|
120
|
+
tech.mitreId || '',
|
|
121
|
+
tech.riskLevel,
|
|
122
|
+
`"${tech.description}"`
|
|
123
|
+
];
|
|
124
|
+
if (options.includeRemediation) {
|
|
125
|
+
row.push(`"${tech.remediationSteps.join('; ')}"`);
|
|
126
|
+
}
|
|
127
|
+
return row.join(',');
|
|
128
|
+
});
|
|
129
|
+
return [headers.join(','), ...rows].join('\n');
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Simulate detection of persistence techniques
|
|
133
|
+
* (For demonstration purposes in a research environment)
|
|
134
|
+
*/
|
|
135
|
+
simulateDetection(platform) {
|
|
136
|
+
const techniques = this.toolkit.getTechniquesByPlatform(platform);
|
|
137
|
+
const detected = [];
|
|
138
|
+
// Simulate random detection for demonstration
|
|
139
|
+
techniques.forEach(tech => {
|
|
140
|
+
if (Math.random() > 0.7) { // 30% chance of "detection"
|
|
141
|
+
detected.push({
|
|
142
|
+
technique: tech,
|
|
143
|
+
evidence: `Simulated detection in ${platform} environment`,
|
|
144
|
+
confidence: ['low', 'medium', 'high'][Math.floor(Math.random() * 3)],
|
|
145
|
+
location: `/simulated/path/${tech.id}`
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
return detected;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Generate security assessment report
|
|
153
|
+
*/
|
|
154
|
+
generateAssessmentReport(platform) {
|
|
155
|
+
const detected = this.simulateDetection(platform);
|
|
156
|
+
const totalTechniques = this.toolkit.getTechniquesByPlatform(platform).length;
|
|
157
|
+
const report = [];
|
|
158
|
+
report.push(`Security Assessment Report - ${platform.toUpperCase()}`);
|
|
159
|
+
report.push('='.repeat(60));
|
|
160
|
+
report.push(`Total Persistence Techniques: ${totalTechniques}`);
|
|
161
|
+
report.push(`Detected Techniques: ${detected.length}`);
|
|
162
|
+
report.push(`Detection Rate: ${((detected.length / totalTechniques) * 100).toFixed(1)}%`);
|
|
163
|
+
report.push('');
|
|
164
|
+
if (detected.length > 0) {
|
|
165
|
+
report.push('DETECTED PERSISTENCE TECHNIQUES:');
|
|
166
|
+
report.push('-'.repeat(40));
|
|
167
|
+
detected.forEach(detectedTech => {
|
|
168
|
+
report.push(`Technique: ${detectedTech.technique.name}`);
|
|
169
|
+
report.push(` MITRE ID: ${detectedTech.technique.mitreId || 'N/A'}`);
|
|
170
|
+
report.push(` Confidence: ${detectedTech.confidence}`);
|
|
171
|
+
report.push(` Location: ${detectedTech.location}`);
|
|
172
|
+
report.push(` Evidence: ${detectedTech.evidence}`);
|
|
173
|
+
report.push('');
|
|
174
|
+
});
|
|
175
|
+
report.push('REMEDIATION GUIDANCE:');
|
|
176
|
+
report.push('-'.repeat(40));
|
|
177
|
+
const remediation = this.toolkit.getRemediationGuidance(detected);
|
|
178
|
+
report.push(...remediation);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
report.push('No persistence techniques detected in this simulation.');
|
|
182
|
+
report.push('Consider running additional detection methods for comprehensive assessment.');
|
|
183
|
+
}
|
|
184
|
+
return report.join('\n');
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=persistence-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence-analyzer.js","sourceRoot":"","sources":["../../src/security/persistence-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence Research Toolkit
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive analysis of persistence mechanisms across operating systems
|
|
5
|
+
* for legitimate security research and testing purposes.
|
|
6
|
+
*
|
|
7
|
+
* This module provides tools for:
|
|
8
|
+
* - Analyzing Windows persistence techniques
|
|
9
|
+
* - Analyzing Linux persistence techniques
|
|
10
|
+
* - Detecting persistence mechanisms
|
|
11
|
+
* - Generating test cases for security validation
|
|
12
|
+
*/
|
|
13
|
+
export interface PersistenceTechnique {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
platform: 'windows' | 'linux' | 'macos' | 'cross-platform';
|
|
17
|
+
mitreId?: string;
|
|
18
|
+
description: string;
|
|
19
|
+
detectionMethods: string[];
|
|
20
|
+
remediationSteps: string[];
|
|
21
|
+
riskLevel: 'low' | 'medium' | 'high' | 'critical';
|
|
22
|
+
}
|
|
23
|
+
export interface PersistenceAnalysis {
|
|
24
|
+
systemInfo: SystemInfo;
|
|
25
|
+
detectedTechniques: DetectedTechnique[];
|
|
26
|
+
recommendations: string[];
|
|
27
|
+
riskScore: number;
|
|
28
|
+
}
|
|
29
|
+
export interface SystemInfo {
|
|
30
|
+
platform: string;
|
|
31
|
+
architecture: string;
|
|
32
|
+
version: string;
|
|
33
|
+
user: string;
|
|
34
|
+
privileges: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface DetectedTechnique {
|
|
37
|
+
technique: PersistenceTechnique;
|
|
38
|
+
evidence: string;
|
|
39
|
+
confidence: 'low' | 'medium' | 'high';
|
|
40
|
+
location: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Windows Persistence Techniques Database
|
|
44
|
+
*/
|
|
45
|
+
export declare const WINDOWS_PERSISTENCE_TECHNIQUES: PersistenceTechnique[];
|
|
46
|
+
/**
|
|
47
|
+
* Linux Persistence Techniques Database
|
|
48
|
+
*/
|
|
49
|
+
export declare const LINUX_PERSISTENCE_TECHNIQUES: PersistenceTechnique[];
|
|
50
|
+
/**
|
|
51
|
+
* Cross-platform Persistence Techniques
|
|
52
|
+
*/
|
|
53
|
+
export declare const CROSS_PLATFORM_PERSISTENCE_TECHNIQUES: PersistenceTechnique[];
|
|
54
|
+
/**
|
|
55
|
+
* Persistence Research Toolkit Class
|
|
56
|
+
*/
|
|
57
|
+
export declare class PersistenceResearchToolkit {
|
|
58
|
+
private allTechniques;
|
|
59
|
+
constructor();
|
|
60
|
+
/**
|
|
61
|
+
* Get all persistence techniques for a specific platform
|
|
62
|
+
*/
|
|
63
|
+
getTechniquesByPlatform(platform: string): PersistenceTechnique[];
|
|
64
|
+
/**
|
|
65
|
+
* Search techniques by MITRE ATT&CK ID
|
|
66
|
+
*/
|
|
67
|
+
getTechniquesByMitreId(mitreId: string): PersistenceTechnique[];
|
|
68
|
+
/**
|
|
69
|
+
* Generate detection rules for a specific technique
|
|
70
|
+
*/
|
|
71
|
+
generateDetectionRules(techniqueId: string): string[];
|
|
72
|
+
/**
|
|
73
|
+
* Generate Windows-specific detection rules
|
|
74
|
+
*/
|
|
75
|
+
private generateWindowsDetectionRules;
|
|
76
|
+
/**
|
|
77
|
+
* Generate Linux-specific detection rules
|
|
78
|
+
*/
|
|
79
|
+
private generateLinuxDetectionRules;
|
|
80
|
+
/**
|
|
81
|
+
* Generate test cases for security validation
|
|
82
|
+
*/
|
|
83
|
+
generateTestCases(platform: string): string[];
|
|
84
|
+
/**
|
|
85
|
+
* Get remediation guidance for detected techniques
|
|
86
|
+
*/
|
|
87
|
+
getRemediationGuidance(detectedTechniques: DetectedTechnique[]): string[];
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=persistence-research.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence-research.d.ts","sourceRoot":"","sources":["../../src/security/persistence-research.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CACnD;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,oBAAoB,EA2FhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,oBAAoB,EA2F9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qCAAqC,EAAE,oBAAoB,EAmCvE,CAAC;AAEF;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,aAAa,CAAyB;;IAU9C;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAMjE;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAI/D;;OAEG;IACH,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;IAuBrD;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAmCrC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAmCnC;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAe7C;;OAEG;IACH,sBAAsB,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE;CAgB1E"}
|