@remnux/mcp-server 0.1.54 → 0.1.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +16 -1
  2. package/data/osint-resources.json +546 -0
  3. package/dist/analysis/behavior-prerequisites.d.ts +65 -0
  4. package/dist/analysis/behavior-prerequisites.d.ts.map +1 -0
  5. package/dist/analysis/behavior-prerequisites.js +186 -0
  6. package/dist/analysis/behavior-prerequisites.js.map +1 -0
  7. package/dist/analysis/file-diff.d.ts +59 -0
  8. package/dist/analysis/file-diff.d.ts.map +1 -0
  9. package/dist/analysis/file-diff.js +55 -0
  10. package/dist/analysis/file-diff.js.map +1 -0
  11. package/dist/analysis/index.d.ts +1 -1
  12. package/dist/analysis/index.d.ts.map +1 -1
  13. package/dist/analysis/index.js +1 -1
  14. package/dist/analysis/index.js.map +1 -1
  15. package/dist/analysis/string-usage.d.ts +74 -0
  16. package/dist/analysis/string-usage.d.ts.map +1 -0
  17. package/dist/analysis/string-usage.js +124 -0
  18. package/dist/analysis/string-usage.js.map +1 -0
  19. package/dist/analysis/summarizer.d.ts +22 -0
  20. package/dist/analysis/summarizer.d.ts.map +1 -1
  21. package/dist/analysis/summarizer.js +41 -0
  22. package/dist/analysis/summarizer.js.map +1 -1
  23. package/dist/connectors/docker.d.ts +1 -0
  24. package/dist/connectors/docker.d.ts.map +1 -1
  25. package/dist/connectors/docker.js +39 -5
  26. package/dist/connectors/docker.js.map +1 -1
  27. package/dist/handlers/analyze-file.d.ts.map +1 -1
  28. package/dist/handlers/analyze-file.js +19 -2
  29. package/dist/handlers/analyze-file.js.map +1 -1
  30. package/dist/handlers/check-behavior-prerequisites.d.ts +16 -0
  31. package/dist/handlers/check-behavior-prerequisites.d.ts.map +1 -0
  32. package/dist/handlers/check-behavior-prerequisites.js +132 -0
  33. package/dist/handlers/check-behavior-prerequisites.js.map +1 -0
  34. package/dist/handlers/compare-files.d.ts +10 -0
  35. package/dist/handlers/compare-files.d.ts.map +1 -0
  36. package/dist/handlers/compare-files.js +147 -0
  37. package/dist/handlers/compare-files.js.map +1 -0
  38. package/dist/handlers/extract-iocs.d.ts.map +1 -1
  39. package/dist/handlers/extract-iocs.js +6 -0
  40. package/dist/handlers/extract-iocs.js.map +1 -1
  41. package/dist/handlers/get-tool-help.d.ts.map +1 -1
  42. package/dist/handlers/get-tool-help.js +11 -0
  43. package/dist/handlers/get-tool-help.js.map +1 -1
  44. package/dist/handlers/osint.d.ts +10 -0
  45. package/dist/handlers/osint.d.ts.map +1 -0
  46. package/dist/handlers/osint.js +72 -0
  47. package/dist/handlers/osint.js.map +1 -0
  48. package/dist/handlers/report.d.ts.map +1 -1
  49. package/dist/handlers/report.js +11 -0
  50. package/dist/handlers/report.js.map +1 -1
  51. package/dist/handlers/verify-string-usage.d.ts +10 -0
  52. package/dist/handlers/verify-string-usage.d.ts.map +1 -0
  53. package/dist/handlers/verify-string-usage.js +173 -0
  54. package/dist/handlers/verify-string-usage.js.map +1 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +55 -8
  57. package/dist/index.js.map +1 -1
  58. package/dist/osint/guidance.d.ts +125 -0
  59. package/dist/osint/guidance.d.ts.map +1 -0
  60. package/dist/osint/guidance.js +217 -0
  61. package/dist/osint/guidance.js.map +1 -0
  62. package/dist/osint/index.d.ts +61 -0
  63. package/dist/osint/index.d.ts.map +1 -0
  64. package/dist/osint/index.js +64 -0
  65. package/dist/osint/index.js.map +1 -0
  66. package/dist/parsers/capa.d.ts +8 -1
  67. package/dist/parsers/capa.d.ts.map +1 -1
  68. package/dist/parsers/capa.js +145 -0
  69. package/dist/parsers/capa.js.map +1 -1
  70. package/dist/parsers/imports.d.ts +36 -0
  71. package/dist/parsers/imports.d.ts.map +1 -0
  72. package/dist/parsers/imports.js +67 -0
  73. package/dist/parsers/imports.js.map +1 -0
  74. package/dist/parsers/r2.d.ts +73 -0
  75. package/dist/parsers/r2.d.ts.map +1 -0
  76. package/dist/parsers/r2.js +161 -0
  77. package/dist/parsers/r2.js.map +1 -0
  78. package/dist/parsers/types.d.ts +19 -0
  79. package/dist/parsers/types.d.ts.map +1 -1
  80. package/dist/report/triage-discipline.d.ts +28 -0
  81. package/dist/report/triage-discipline.d.ts.map +1 -0
  82. package/dist/report/triage-discipline.js +49 -0
  83. package/dist/report/triage-discipline.js.map +1 -0
  84. package/dist/schemas/tools.d.ts +56 -3
  85. package/dist/schemas/tools.d.ts.map +1 -1
  86. package/dist/schemas/tools.js +44 -2
  87. package/dist/schemas/tools.js.map +1 -1
  88. package/package.json +2 -1
@@ -11,7 +11,26 @@ export interface Finding {
11
11
  category?: string;
12
12
  /** Raw evidence from tool output */
13
13
  evidence?: string;
14
+ /**
15
+ * For capability findings (e.g. capa): the kind(s) of evidence the match
16
+ * actually relied on, derived from the feature nodes that matched. An
17
+ * unordered, deduplicated set describing HOW the rule matched — not a verdict
18
+ * on what the sample does. Absent when it cannot be determined (treat absence
19
+ * as "unknown", not "none").
20
+ * - artifact — matched on strings/regex/bytes (data present, not necessarily executed)
21
+ * - behavior — matched on API calls, mnemonics, or other code semantics
22
+ * - structural — matched on sections, file characteristics, format/arch
23
+ * - linking — matched on imports / runtime-linking
24
+ */
25
+ evidence_types?: EvidenceType[];
14
26
  }
27
+ /**
28
+ * The kind of evidence a capability match relied on (see Finding.evidence_types).
29
+ * A `string` artifact match proves the data is present; it does NOT prove the
30
+ * binary executes the corresponding behavior. Only a `behavior` match (API
31
+ * calls, mnemonics) is code-level evidence.
32
+ */
33
+ export type EvidenceType = "artifact" | "behavior" | "structural" | "linking";
15
34
  /** Structured metadata extracted from tool output. */
16
35
  export interface ParsedToolOutput {
17
36
  /** Tool that produced this output */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/parsers/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mDAAmD;AACnD,MAAM,WAAW,OAAO;IACtB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAC3D,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/parsers/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mDAAmD;AACnD,MAAM,WAAW,OAAO;IACtB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAC3D,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;AAE9E,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Pre-claim triage discipline checklist — server-authored, bundled, offline.
3
+ *
4
+ * This is operational guidance on USING the analysis tools and reasoning about
5
+ * evidence (the gates to pass before asserting a behavioral claim). It is
6
+ * deliberately distinct from the report-WRITING guidelines in
7
+ * content.generated.ts, which are synced from zeltser.com; this content is the
8
+ * same category as the server's other locally-authored guidance (the
9
+ * analyze_file analysis_guidance, the advisories, the suggest_tools hints) and
10
+ * is therefore authored and versioned here.
11
+ *
12
+ * Upgrade path: if this should later be published and reused on zeltser.com, it
13
+ * can graduate to the synced report-guidance pipeline without changing the
14
+ * `triage_checklist` topic's interface. Until then it is bundled and offline —
15
+ * no live network fetch (the server's works-offline guarantee is load-bearing
16
+ * for air-gapped REMnux deployments).
17
+ */
18
+ export declare const TRIAGE_DISCIPLINE: {
19
+ readonly version: "1.0.0";
20
+ readonly title: "Malware triage discipline — gates to pass before making a claim";
21
+ readonly provenance: "Server-authored operational guidance, bundled and offline (not synced from zeltser.com).";
22
+ readonly core_principle: string;
23
+ readonly before_claiming_a_behavior: readonly ["Are the required APIs imported, or resolvable at runtime (GetProcAddress + LoadLibrary*)? If neither, the behavior is not statically supported.", "If the required APIs are absent but the binary is packed / encrypted / high-entropy, the honest answer is 'indeterminate — unpack first', not 'incapable'. Static absence on an obscured binary proves nothing.", "Are the relevant data artifacts (strings, wallet addresses, regexes) cross-referenced from executable code? Data sitting in .rdata with no code xref is an artifact, not an operational indicator.", "Is the relevant code reachable from the entry point, or only from unused / initializer-only code?", "Did dynamic analysis (emulation, sandbox) actually exercise the suspected path? Static analysis alone cannot confirm a runtime behavior.", "Distinguish 'the code to do X is present' (a capability) from 'the sample does X' (a confirmed behavior). Until confirmed, write 'capable of' or 'consistent with', not 'performs'."];
24
+ readonly for_each_ioc: readonly ["Operationally used (referenced by reachable code, or observed in traffic) vs. vestigial (present in the file but unreferenced)?", "Pyramid-of-Pain tier — trivially changed by the adversary (hash, IP) or costly (tooling, TTP)?", "Pivotable to other samples / campaigns, or unique to this sample?"];
25
+ readonly for_confidence: readonly ["Direct evidence vs. inferential leap — how many assumptions sit between the observation and the claim?", "Single-source vs. corroborated across independent tools or methods.", "Use ICD-203 estimative language; state attribution confidence separately from detection confidence."];
26
+ readonly using_this_server: readonly ["capa findings carry evidence_types (artifact / behavior / structural / linking), and analyze_file returns a capability_evidence field separating behavior_capable from artifact_only — read those before asserting a behavior.", "A YARA family match is resemblance, not identity. A family name in the filename is a lead to test, never a finding.", "When you need behavioral confirmation, plan for emulation (speakeasy) or sandbox detonation rather than inferring it from static artifacts."];
27
+ };
28
+ //# sourceMappingURL=triage-discipline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triage-discipline.d.ts","sourceRoot":"","sources":["../../src/report/triage-discipline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;CA+BpB,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Pre-claim triage discipline checklist — server-authored, bundled, offline.
3
+ *
4
+ * This is operational guidance on USING the analysis tools and reasoning about
5
+ * evidence (the gates to pass before asserting a behavioral claim). It is
6
+ * deliberately distinct from the report-WRITING guidelines in
7
+ * content.generated.ts, which are synced from zeltser.com; this content is the
8
+ * same category as the server's other locally-authored guidance (the
9
+ * analyze_file analysis_guidance, the advisories, the suggest_tools hints) and
10
+ * is therefore authored and versioned here.
11
+ *
12
+ * Upgrade path: if this should later be published and reused on zeltser.com, it
13
+ * can graduate to the synced report-guidance pipeline without changing the
14
+ * `triage_checklist` topic's interface. Until then it is bundled and offline —
15
+ * no live network fetch (the server's works-offline guarantee is load-bearing
16
+ * for air-gapped REMnux deployments).
17
+ */
18
+ export const TRIAGE_DISCIPLINE = {
19
+ version: "1.0.0",
20
+ title: "Malware triage discipline — gates to pass before making a claim",
21
+ provenance: "Server-authored operational guidance, bundled and offline (not synced from zeltser.com).",
22
+ core_principle: "Separate ARTIFACT-level evidence (a string, regex, constant, or capa pattern is PRESENT in the file) from " +
23
+ "BEHAVIORAL evidence (reachable code actually performs the action). The presence of an artifact is not proof " +
24
+ "the behavior executes. Most over-confident triage errors come from restating an artifact as a behavior.",
25
+ before_claiming_a_behavior: [
26
+ "Are the required APIs imported, or resolvable at runtime (GetProcAddress + LoadLibrary*)? If neither, the behavior is not statically supported.",
27
+ "If the required APIs are absent but the binary is packed / encrypted / high-entropy, the honest answer is 'indeterminate — unpack first', not 'incapable'. Static absence on an obscured binary proves nothing.",
28
+ "Are the relevant data artifacts (strings, wallet addresses, regexes) cross-referenced from executable code? Data sitting in .rdata with no code xref is an artifact, not an operational indicator.",
29
+ "Is the relevant code reachable from the entry point, or only from unused / initializer-only code?",
30
+ "Did dynamic analysis (emulation, sandbox) actually exercise the suspected path? Static analysis alone cannot confirm a runtime behavior.",
31
+ "Distinguish 'the code to do X is present' (a capability) from 'the sample does X' (a confirmed behavior). Until confirmed, write 'capable of' or 'consistent with', not 'performs'.",
32
+ ],
33
+ for_each_ioc: [
34
+ "Operationally used (referenced by reachable code, or observed in traffic) vs. vestigial (present in the file but unreferenced)?",
35
+ "Pyramid-of-Pain tier — trivially changed by the adversary (hash, IP) or costly (tooling, TTP)?",
36
+ "Pivotable to other samples / campaigns, or unique to this sample?",
37
+ ],
38
+ for_confidence: [
39
+ "Direct evidence vs. inferential leap — how many assumptions sit between the observation and the claim?",
40
+ "Single-source vs. corroborated across independent tools or methods.",
41
+ "Use ICD-203 estimative language; state attribution confidence separately from detection confidence.",
42
+ ],
43
+ using_this_server: [
44
+ "capa findings carry evidence_types (artifact / behavior / structural / linking), and analyze_file returns a capability_evidence field separating behavior_capable from artifact_only — read those before asserting a behavior.",
45
+ "A YARA family match is resemblance, not identity. A family name in the filename is a lead to test, never a finding.",
46
+ "When you need behavioral confirmation, plan for emulation (speakeasy) or sandbox detonation rather than inferring it from static artifacts.",
47
+ ],
48
+ };
49
+ //# sourceMappingURL=triage-discipline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triage-discipline.js","sourceRoot":"","sources":["../../src/report/triage-discipline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,iEAAiE;IACxE,UAAU,EAAE,0FAA0F;IACtG,cAAc,EACZ,4GAA4G;QAC5G,8GAA8G;QAC9G,yGAAyG;IAC3G,0BAA0B,EAAE;QAC1B,iJAAiJ;QACjJ,iNAAiN;QACjN,oMAAoM;QACpM,mGAAmG;QACnG,0IAA0I;QAC1I,qLAAqL;KACtL;IACD,YAAY,EAAE;QACZ,iIAAiI;QACjI,gGAAgG;QAChG,mEAAmE;KACpE;IACD,cAAc,EAAE;QACd,wGAAwG;QACxG,qEAAqE;QACrE,qGAAqG;KACtG;IACD,iBAAiB,EAAE;QACjB,gOAAgO;QAChO,qHAAqH;QACrH,6IAA6I;KAC9I;CACO,CAAC"}
@@ -146,11 +146,64 @@ export type ExtractIOCsArgs = z.infer<typeof extractIOCsSchema>;
146
146
  export declare const getReportTemplateSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
147
147
  export type GetReportTemplateArgs = z.infer<typeof getReportTemplateSchema>;
148
148
  export declare const getReportGuidanceSchema: z.ZodObject<{
149
- topic: z.ZodDefault<z.ZodOptional<z.ZodEnum<["all", "sections", "confidence", "capabilities", "pyramid_of_pain", "anti_patterns", "review", "writing", "frameworks", "profiles"]>>>;
149
+ topic: z.ZodDefault<z.ZodOptional<z.ZodEnum<["all", "sections", "confidence", "capabilities", "pyramid_of_pain", "anti_patterns", "review", "writing", "frameworks", "profiles", "triage_checklist"]>>>;
150
150
  }, "strip", z.ZodTypeAny, {
151
- topic: "all" | "sections" | "confidence" | "capabilities" | "pyramid_of_pain" | "anti_patterns" | "review" | "writing" | "frameworks" | "profiles";
151
+ topic: "all" | "sections" | "confidence" | "capabilities" | "pyramid_of_pain" | "anti_patterns" | "review" | "writing" | "frameworks" | "profiles" | "triage_checklist";
152
152
  }, {
153
- topic?: "all" | "sections" | "confidence" | "capabilities" | "pyramid_of_pain" | "anti_patterns" | "review" | "writing" | "frameworks" | "profiles" | undefined;
153
+ topic?: "all" | "sections" | "confidence" | "capabilities" | "pyramid_of_pain" | "anti_patterns" | "review" | "writing" | "frameworks" | "profiles" | "triage_checklist" | undefined;
154
154
  }>;
155
155
  export type GetReportGuidanceArgs = z.input<typeof getReportGuidanceSchema>;
156
+ export declare const getOsintGuidanceSchema: z.ZodObject<{
157
+ topic: z.ZodDefault<z.ZodOptional<z.ZodEnum<["all", "tradecraft", "workflow", "access", "resources"]>>>;
158
+ ioc_type: z.ZodOptional<z.ZodEnum<["hash", "url", "domain", "ip", "family", "host_artifact"]>>;
159
+ }, "strip", z.ZodTypeAny, {
160
+ topic: "all" | "tradecraft" | "workflow" | "access" | "resources";
161
+ ioc_type?: "url" | "hash" | "domain" | "ip" | "family" | "host_artifact" | undefined;
162
+ }, {
163
+ topic?: "all" | "tradecraft" | "workflow" | "access" | "resources" | undefined;
164
+ ioc_type?: "url" | "hash" | "domain" | "ip" | "family" | "host_artifact" | undefined;
165
+ }>;
166
+ export type GetOsintGuidanceArgs = z.input<typeof getOsintGuidanceSchema>;
167
+ export declare const checkBehaviorPrerequisitesSchema: z.ZodObject<{
168
+ file: z.ZodString;
169
+ behavior: z.ZodOptional<z.ZodString>;
170
+ }, "strip", z.ZodTypeAny, {
171
+ file: string;
172
+ behavior?: string | undefined;
173
+ }, {
174
+ file: string;
175
+ behavior?: string | undefined;
176
+ }>;
177
+ export type CheckBehaviorPrerequisitesArgs = z.infer<typeof checkBehaviorPrerequisitesSchema>;
178
+ export declare const verifyStringUsageSchema: z.ZodObject<{
179
+ file: z.ZodString;
180
+ query: z.ZodString;
181
+ depth: z.ZodOptional<z.ZodEnum<["standard", "deep"]>>;
182
+ max_matches: z.ZodOptional<z.ZodNumber>;
183
+ }, "strip", z.ZodTypeAny, {
184
+ file: string;
185
+ query: string;
186
+ depth?: "standard" | "deep" | undefined;
187
+ max_matches?: number | undefined;
188
+ }, {
189
+ file: string;
190
+ query: string;
191
+ depth?: "standard" | "deep" | undefined;
192
+ max_matches?: number | undefined;
193
+ }>;
194
+ export type VerifyStringUsageArgs = z.infer<typeof verifyStringUsageSchema>;
195
+ export declare const compareFilesSchema: z.ZodObject<{
196
+ file_a: z.ZodString;
197
+ file_b: z.ZodString;
198
+ depth: z.ZodOptional<z.ZodEnum<["quick", "standard"]>>;
199
+ }, "strip", z.ZodTypeAny, {
200
+ file_a: string;
201
+ file_b: string;
202
+ depth?: "quick" | "standard" | undefined;
203
+ }, {
204
+ file_a: string;
205
+ file_b: string;
206
+ depth?: "quick" | "standard" | undefined;
207
+ }>;
208
+ export type CompareFilesArgs = z.infer<typeof compareFilesSchema>;
156
209
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/schemas/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAExD,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE5D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEtE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEtE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAO7B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAM5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,eAAO,MAAM,gBAAgB,gDAAe,CAAC;AAC7C,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB;;;;;;;;;EAK7B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;EAmBhC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAExE,eAAO,MAAM,iBAAiB;;;;;;EAI5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,eAAO,MAAM,uBAAuB,gDAAe,CAAC;AACpD,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE5E,eAAO,MAAM,uBAAuB;;;;;;EAiBlC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/schemas/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAExD,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE5D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEtE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEtE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAO7B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAM5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,eAAO,MAAM,gBAAgB,gDAAe,CAAC;AAC7C,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB;;;;;;;;;EAK7B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;EAmBhC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAExE,eAAO,MAAM,iBAAiB;;;;;;EAI5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEhE,eAAO,MAAM,uBAAuB,gDAAe,CAAC;AACpD,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE5E,eAAO,MAAM,uBAAuB;;;;;;EAoBlC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE5E,eAAO,MAAM,sBAAsB;;;;;;;;;EAyBjC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE1E,eAAO,MAAM,gCAAgC;;;;;;;;;EAO3C,CAAC;AACH,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE9F,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAOlC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE5E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAM7B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -67,8 +67,50 @@ export const getReportGuidanceSchema = z.object({
67
67
  "writing",
68
68
  "frameworks",
69
69
  "profiles",
70
- ]).optional().default("all").describe("Which slice of the writing guidelines to return. 'all' (default) returns the full digest; " +
70
+ "triage_checklist",
71
+ ]).optional().default("all").describe("Which slice of guidance to return. 'all' (default) returns the full writing-guidelines digest; " +
71
72
  "narrow to 'sections', 'confidence', 'capabilities', 'pyramid_of_pain', 'anti_patterns', " +
72
- "'review', 'writing', 'frameworks', or 'profiles' to reduce size."),
73
+ "'review', 'writing', 'frameworks', or 'profiles' to reduce size. " +
74
+ "'triage_checklist' returns the pre-claim triage discipline checklist (artifact-vs-behavior gates to pass " +
75
+ "before drawing a behavioral conclusion) — useful at the START of an analysis, not just when writing up."),
76
+ });
77
+ export const getOsintGuidanceSchema = z.object({
78
+ topic: z.enum([
79
+ "all",
80
+ "tradecraft",
81
+ "workflow",
82
+ "access",
83
+ "resources",
84
+ ]).optional().default("all").describe("Which slice of guidance prose to return. 'all' (default) returns tradecraft + workflow + access guidance " +
85
+ "plus a CONDENSED resource catalog. 'tradecraft' returns the OPSEC principles, 'workflow' the per-IOC " +
86
+ "decision tree, 'access' the free-vs-paid handling, 'resources' the FULL catalog with per-entry detail. " +
87
+ "Lean flow for a real sample: call once with 'all' for prose plus a condensed index, then 'resources' with " +
88
+ "an ioc_type per indicator type for detail without re-emitting the prose."),
89
+ ioc_type: z.enum([
90
+ "hash",
91
+ "url",
92
+ "domain",
93
+ "ip",
94
+ "family",
95
+ "host_artifact",
96
+ ]).optional().describe("Optional. When set, narrows the resource catalog to full-detail entries relevant to that IOC type. " +
97
+ "Orthogonal to `topic` (which selects the prose): `topic` picks guidance, `ioc_type` picks catalog rows."),
98
+ });
99
+ export const checkBehaviorPrerequisitesSchema = z.object({
100
+ file: z.string().describe("Filename relative to the samples directory, or an absolute path in local mode."),
101
+ behavior: z.string().optional().describe("Behavior to check (omit to scan ALL known behaviors). One of: clipboard_hijacking, http_c2_wininet, " +
102
+ "winhttp_c2, socket_c2, process_injection_remote, process_injection_self, registry_persistence_run, " +
103
+ "lnk_persistence, browser_credential_theft, screen_capture, keylog_polling, keylog_hook, network_share_enum."),
104
+ });
105
+ export const verifyStringUsageSchema = z.object({
106
+ file: z.string().describe("Filename relative to the samples directory, or an absolute path in local mode."),
107
+ query: z.string().describe("The string (or substring) to locate in the binary and cross-reference against code."),
108
+ depth: z.enum(["standard", "deep"]).optional().describe("Analysis depth: 'standard' (radare2 aa; aar — default) or 'deep' (aaa — slower, more thorough)."),
109
+ max_matches: z.number().optional().describe("Cap on the number of distinct matching strings to classify (default 50)."),
110
+ });
111
+ export const compareFilesSchema = z.object({
112
+ file_a: z.string().describe("First file (relative to the samples directory, or absolute in local mode)."),
113
+ file_b: z.string().describe("Second file to compare against file_a."),
114
+ depth: z.enum(["quick", "standard"]).optional().describe("'standard' (default) includes a capa capability diff (slower — runs capa on both files); 'quick' skips capa (imports/sections/compiler/entropy only)."),
73
115
  });
74
116
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/schemas/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/schemas/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uFAAuF,CAAC;IACrH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iGAAiG,CAAC;IAC7I,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC7E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;CACrG,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAChG,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;IAC5G,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6FAA6F,CAAC;IACvI,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iGAAiG,CAAC;CACjJ,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mQAAmQ,CAAC;IACnS,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;IAChH,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC;CACjH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC5E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IACjF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CACpD,iFAAiF;QACjF,gGAAgG,CACjG;CACF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;IACnG,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC7F,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAClF,mLAAmL,CACpL;CACF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAG7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;IACnG,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAClF,uGAAuG,CACxG;CACF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACtE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACtC,sEAAsE,CACvE;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC9C,gDAAgD;QAChD,8DAA8D,CAC/D;IACD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAClE,8DAA8D;QAC9D,0EAA0E,CAC3E;IACD,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACvD,qDAAqD,CACtD;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrC,uDAAuD,CACxD;CACF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACvB,mFAAmF,CACpF;CACF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;IACnG,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACvG,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sEAAsE,CAAC;CAC5I,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAGpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC;QACZ,KAAK;QACL,UAAU;QACV,YAAY;QACZ,cAAc;QACd,iBAAiB;QACjB,eAAe;QACf,QAAQ;QACR,SAAS;QACT,YAAY;QACZ,UAAU;QACV,kBAAkB;KACnB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACnC,iGAAiG;QACjG,0FAA0F;QAC1F,mEAAmE;QACnE,2GAA2G;QAC3G,yGAAyG,CAC1G;CACF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC;QACZ,KAAK;QACL,YAAY;QACZ,UAAU;QACV,QAAQ;QACR,WAAW;KACZ,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CACnC,2GAA2G;QAC3G,uGAAuG;QACvG,yGAAyG;QACzG,4GAA4G;QAC5G,0EAA0E,CAC3E;IACD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC;QACf,MAAM;QACN,KAAK;QACL,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,eAAe;KAChB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACpB,qGAAqG;QACrG,yGAAyG,CAC1G;CACF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gFAAgF,CAAC;IAC3G,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACtC,sGAAsG;QACtG,qGAAqG;QACrG,6GAA6G,CAC9G;CACF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gFAAgF,CAAC;IAC3G,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qFAAqF,CAAC;IACjH,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACrD,iGAAiG,CAClG;IACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0EAA0E,CAAC;CACxH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;IACzG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACtD,uJAAuJ,CACxJ;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnux/mcp-server",
3
- "version": "0.1.54",
3
+ "version": "0.1.56",
4
4
  "packageManager": "pnpm@10.33.0",
5
5
  "description": "MCP server for using the REMnux malware analysis toolkit via AI assistants",
6
6
  "type": "module",
@@ -36,6 +36,7 @@
36
36
  "!dist/__tests__/",
37
37
  "!dist/**/__tests__/",
38
38
  "data/tools-index.json",
39
+ "data/osint-resources.json",
39
40
  "README.md",
40
41
  "LICENSE"
41
42
  ],