@cccsaurora/howler-ui 2.18.0-dev.676 → 2.18.0-dev.682

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 (230) hide show
  1. package/api/index.d.ts +2 -0
  2. package/api/index.js +4 -2
  3. package/api/search/case.d.ts +4 -0
  4. package/api/search/case.js +8 -0
  5. package/api/search/index.d.ts +2 -1
  6. package/api/search/index.js +2 -1
  7. package/api/v2/case/index.d.ts +6 -0
  8. package/api/v2/case/index.js +18 -0
  9. package/api/v2/index.d.ts +4 -0
  10. package/api/v2/index.js +6 -0
  11. package/api/v2/search/facet.d.ts +3 -0
  12. package/api/v2/search/facet.js +12 -0
  13. package/api/v2/search/index.d.ts +5 -0
  14. package/api/v2/search/index.js +24 -0
  15. package/commons/components/leftnav/LeftNavDrawer.js +1 -1
  16. package/components/app/App.js +34 -7
  17. package/components/app/hooks/useMatchers.js +2 -2
  18. package/components/app/hooks/useMatchers.test.js +22 -22
  19. package/components/app/hooks/useTitle.js +3 -3
  20. package/components/app/providers/FavouritesProvider.js +2 -2
  21. package/components/app/providers/ParameterProvider.d.ts +9 -2
  22. package/components/app/providers/ParameterProvider.js +165 -240
  23. package/components/app/providers/ParameterProvider.test.js +307 -14
  24. package/components/app/providers/RecordProvider.d.ts +23 -0
  25. package/components/app/providers/{HitProvider.js → RecordProvider.js} +41 -41
  26. package/components/app/providers/{HitSearchProvider.d.ts → RecordSearchProvider.d.ts} +6 -6
  27. package/components/app/providers/{HitSearchProvider.js → RecordSearchProvider.js} +12 -17
  28. package/components/app/providers/{HitSearchProvider.test.js → RecordSearchProvider.test.js} +51 -70
  29. package/components/elements/ContextMenu.d.ts +56 -0
  30. package/components/elements/ContextMenu.js +109 -0
  31. package/components/elements/ContextMenu.test.js +215 -0
  32. package/components/{routes/overviews/OverviewEditor.js → elements/MarkdownEditor.js} +3 -3
  33. package/components/elements/ObjectDetails.d.ts +6 -0
  34. package/components/elements/{hit/HitDetails.js → ObjectDetails.js} +17 -17
  35. package/components/elements/PluginTypography.d.ts +2 -1
  36. package/components/elements/PluginTypography.js +3 -2
  37. package/components/elements/UserList.d.ts +5 -2
  38. package/components/elements/UserList.js +14 -5
  39. package/components/elements/addons/search/phrase/Phrase.js +1 -1
  40. package/components/elements/case/CaseCard.d.ts +8 -0
  41. package/components/elements/case/CaseCard.js +39 -0
  42. package/components/elements/case/CasePreview.d.ts +6 -0
  43. package/components/elements/case/CasePreview.js +17 -0
  44. package/components/elements/case/StatusIcon.d.ts +5 -0
  45. package/components/elements/case/StatusIcon.js +13 -0
  46. package/components/elements/display/ChipPopper.d.ts +1 -1
  47. package/components/elements/display/HowlerCard.js +1 -1
  48. package/components/elements/display/Modal.js +1 -0
  49. package/components/elements/hit/HitActions.js +4 -4
  50. package/components/elements/hit/HitBanner.js +28 -48
  51. package/components/elements/hit/HitCard.js +5 -5
  52. package/components/elements/hit/HitLabels.js +2 -2
  53. package/components/elements/hit/{HitQuickSearch.d.ts → HitPreview.d.ts} +3 -3
  54. package/components/elements/hit/{HitQuickSearch.js → HitPreview.js} +10 -4
  55. package/components/elements/hit/HitSummary.d.ts +2 -1
  56. package/components/elements/hit/HitSummary.js +6 -5
  57. package/components/elements/hit/aggregate/HitGraph.js +8 -8
  58. package/components/elements/hit/elements/AnalyticLink.d.ts +8 -0
  59. package/components/elements/hit/elements/AnalyticLink.js +22 -0
  60. package/components/elements/hit/outlines/DefaultOutline.js +1 -1
  61. package/components/elements/hit/related/RelatedRecords.js +63 -0
  62. package/components/elements/observable/ObservableCard.d.ts +6 -0
  63. package/components/elements/observable/ObservableCard.js +23 -0
  64. package/components/elements/observable/ObservablePreview.d.ts +6 -0
  65. package/components/elements/observable/ObservablePreview.js +12 -0
  66. package/components/elements/{hit/HitComments.d.ts → record/RecordComments.d.ts} +5 -4
  67. package/components/elements/{hit/HitComments.js → record/RecordComments.js} +29 -28
  68. package/components/{routes/hits/search/HitContextMenu.d.ts → elements/record/RecordContextMenu.d.ts} +3 -3
  69. package/components/elements/record/RecordContextMenu.js +235 -0
  70. package/components/elements/record/RecordContextMenu.test.d.ts +1 -0
  71. package/components/{routes/hits/search/HitContextMenu.test.js → elements/record/RecordContextMenu.test.js} +39 -39
  72. package/components/elements/record/RecordRelated.d.ts +7 -0
  73. package/components/elements/record/RecordRelated.js +34 -0
  74. package/components/elements/{hit/HitWorklog.d.ts → record/RecordWorklog.d.ts} +4 -3
  75. package/components/elements/{hit/HitWorklog.js → record/RecordWorklog.js} +15 -13
  76. package/components/elements/view/ViewTitle.js +1 -1
  77. package/components/hooks/useHitActions.d.ts +1 -1
  78. package/components/hooks/useHitActions.js +4 -4
  79. package/components/hooks/useMyPreferences.js +10 -1
  80. package/components/hooks/useMySearch.js +2 -2
  81. package/components/hooks/useMySitemap.js +4 -1
  82. package/components/hooks/useMyTheme.js +9 -2
  83. package/components/hooks/useParamState.test.js +3 -4
  84. package/components/hooks/{useHitSelection.d.ts → useRecordSelection.d.ts} +2 -2
  85. package/components/hooks/{useHitSelection.js → useRecordSelection.js} +12 -33
  86. package/components/hooks/useRelatedRecords.d.ts +13 -0
  87. package/components/hooks/useRelatedRecords.js +32 -0
  88. package/components/routes/action/edit/ActionEditor.js +2 -2
  89. package/components/routes/action/view/ActionSearch.js +1 -1
  90. package/components/routes/advanced/QueryBuilder.js +1 -1
  91. package/components/routes/advanced/QueryEditor.js +3 -3
  92. package/components/routes/advanced/historyCompletionProvider.js +3 -3
  93. package/components/routes/analytics/AnalyticDetails.js +2 -2
  94. package/components/routes/analytics/AnalyticSearch.js +1 -1
  95. package/components/routes/cases/CaseViewer.d.ts +2 -0
  96. package/components/routes/cases/CaseViewer.js +22 -0
  97. package/components/routes/cases/Cases.d.ts +2 -0
  98. package/components/routes/cases/Cases.js +101 -0
  99. package/components/routes/cases/constants.d.ts +5 -0
  100. package/components/routes/cases/constants.js +5 -0
  101. package/components/routes/cases/detail/AlertPanel.d.ts +6 -0
  102. package/components/routes/cases/detail/AlertPanel.js +33 -0
  103. package/components/routes/cases/detail/CaseAssets.d.ts +12 -0
  104. package/components/routes/cases/detail/CaseAssets.js +101 -0
  105. package/components/routes/cases/detail/CaseAssets.test.d.ts +1 -0
  106. package/components/routes/cases/detail/CaseAssets.test.js +163 -0
  107. package/components/routes/cases/detail/CaseDashboard.d.ts +7 -0
  108. package/components/routes/cases/detail/CaseDashboard.js +51 -0
  109. package/components/routes/cases/detail/CaseDetails.d.ts +6 -0
  110. package/components/routes/cases/detail/CaseDetails.js +61 -0
  111. package/components/routes/cases/detail/CaseOverview.d.ts +7 -0
  112. package/components/routes/cases/detail/CaseOverview.js +43 -0
  113. package/components/routes/cases/detail/CaseSidebar.d.ts +6 -0
  114. package/components/routes/cases/detail/CaseSidebar.js +61 -0
  115. package/components/routes/cases/detail/CaseTask.d.ts +11 -0
  116. package/components/routes/cases/detail/CaseTask.js +57 -0
  117. package/components/routes/cases/detail/ItemPage.d.ts +6 -0
  118. package/components/routes/cases/detail/ItemPage.js +99 -0
  119. package/components/routes/cases/detail/RelatedCasePanel.d.ts +6 -0
  120. package/components/routes/cases/detail/RelatedCasePanel.js +31 -0
  121. package/components/routes/cases/detail/TaskPanel.d.ts +7 -0
  122. package/components/routes/cases/detail/TaskPanel.js +52 -0
  123. package/components/routes/cases/detail/aggregates/CaseAggregate.d.ts +12 -0
  124. package/components/routes/cases/detail/aggregates/CaseAggregate.js +19 -0
  125. package/components/routes/cases/detail/aggregates/SourceAggregate.d.ts +6 -0
  126. package/components/routes/cases/detail/aggregates/SourceAggregate.js +27 -0
  127. package/components/routes/cases/detail/assets/Asset.d.ts +14 -0
  128. package/components/routes/cases/detail/assets/Asset.js +12 -0
  129. package/components/routes/cases/detail/assets/Asset.test.d.ts +1 -0
  130. package/components/routes/cases/detail/assets/Asset.test.js +72 -0
  131. package/components/routes/cases/detail/sidebar/CaseFolder.d.ts +13 -0
  132. package/components/routes/cases/detail/sidebar/CaseFolder.js +131 -0
  133. package/components/routes/cases/detail/sidebar/types.d.ts +3 -0
  134. package/components/routes/cases/detail/sidebar/utils.d.ts +3 -0
  135. package/components/routes/cases/detail/sidebar/utils.js +25 -0
  136. package/components/routes/cases/hooks/useCase.d.ts +13 -0
  137. package/components/routes/cases/hooks/useCase.js +38 -0
  138. package/components/routes/cases/modals/ResolveModal.d.ts +7 -0
  139. package/components/routes/cases/modals/ResolveModal.js +59 -0
  140. package/components/routes/dossiers/DossierEditor.js +2 -2
  141. package/components/routes/dossiers/DossierEditor.test.js +1 -1
  142. package/components/routes/help/ApiDocumentation.js +1 -1
  143. package/components/routes/help/HitBannerDocumentation.js +1 -0
  144. package/components/routes/help/HitDocumentation.js +1 -3
  145. package/components/routes/hits/search/InformationPane.d.ts +1 -0
  146. package/components/routes/hits/search/InformationPane.js +47 -60
  147. package/components/routes/hits/search/LayoutSettings.js +3 -3
  148. package/components/routes/hits/search/QuerySettings.js +2 -1
  149. package/components/routes/hits/search/QuerySettings.test.js +14 -9
  150. package/components/routes/hits/search/{HitBrowser.js → RecordBrowser.js} +9 -9
  151. package/components/routes/hits/search/{HitQuery.d.ts → RecordQuery.d.ts} +2 -2
  152. package/components/routes/hits/search/{HitQuery.js → RecordQuery.js} +6 -6
  153. package/components/routes/hits/search/SearchPane.js +26 -49
  154. package/components/routes/hits/search/ViewLink.js +3 -3
  155. package/components/routes/hits/search/ViewLink.test.js +8 -8
  156. package/components/routes/hits/search/grid/AddColumnModal.js +5 -4
  157. package/components/routes/hits/search/grid/EnhancedCell.d.ts +2 -1
  158. package/components/routes/hits/search/grid/EnhancedCell.js +2 -2
  159. package/components/routes/hits/search/grid/HitGrid.js +20 -18
  160. package/components/routes/hits/search/grid/{HitRow.d.ts → RecordRow.d.ts} +3 -2
  161. package/components/routes/hits/search/grid/{HitRow.js → RecordRow.js} +10 -8
  162. package/components/routes/hits/search/shared/IndexPicker.d.ts +2 -0
  163. package/components/routes/hits/search/shared/IndexPicker.js +20 -0
  164. package/components/routes/hits/view/HitViewer.js +12 -13
  165. package/components/routes/home/ViewCard.js +4 -4
  166. package/components/routes/observables/ObservableViewer.d.ts +7 -0
  167. package/components/routes/observables/ObservableViewer.js +27 -0
  168. package/components/routes/overviews/OverviewViewer.js +2 -2
  169. package/components/routes/views/ViewComposer.js +4 -4
  170. package/locales/en/translation.json +65 -3
  171. package/locales/fr/translation.json +63 -3
  172. package/models/WithMetadata.d.ts +2 -1
  173. package/models/entities/generated/AttachmentsFile.d.ts +12 -0
  174. package/models/entities/generated/Case.d.ts +28 -0
  175. package/models/entities/generated/DestinationOriginal.d.ts +19 -0
  176. package/models/entities/generated/EmailAttachment.d.ts +8 -0
  177. package/models/entities/generated/EmailParent.d.ts +19 -0
  178. package/models/entities/generated/Enrichments.d.ts +7 -0
  179. package/models/entities/generated/EnrichmentsIndicator.d.ts +21 -0
  180. package/models/entities/generated/Hit.d.ts +1 -0
  181. package/models/entities/generated/Howler.d.ts +0 -4
  182. package/models/entities/generated/HttpResponse.d.ts +11 -0
  183. package/models/entities/generated/Item.d.ts +9 -0
  184. package/models/entities/generated/Observable.d.ts +85 -0
  185. package/models/entities/generated/ObservableCloud.d.ts +20 -0
  186. package/models/entities/generated/ObservableDestination.d.ts +23 -0
  187. package/models/entities/generated/ObservableEmail.d.ts +30 -0
  188. package/models/entities/generated/ObservableFile.d.ts +36 -0
  189. package/models/entities/generated/ObservableHowler.d.ts +43 -0
  190. package/models/entities/generated/ObservableHttp.d.ts +11 -0
  191. package/models/entities/generated/ObservableObserver.d.ts +21 -0
  192. package/models/entities/generated/ObservableOrganization.d.ts +7 -0
  193. package/models/entities/generated/ObservableProcess.d.ts +34 -0
  194. package/models/entities/generated/ObservableSource.d.ts +23 -0
  195. package/models/entities/generated/ObservableThreat.d.ts +21 -0
  196. package/models/entities/generated/ObservableTls.d.ts +12 -0
  197. package/models/entities/generated/ObserverIngress.d.ts +9 -0
  198. package/models/entities/generated/Rule.d.ts +2 -10
  199. package/models/entities/generated/Task.d.ts +10 -0
  200. package/models/entities/generated/Threat.d.ts +2 -2
  201. package/models/entities/generated/{Enrichment.d.ts → ThreatEnrichment.d.ts} +1 -1
  202. package/package.json +121 -104
  203. package/plugins/clue/components/ClueTypography.js +2 -2
  204. package/plugins/clue/utils.d.ts +2 -1
  205. package/tests/utils.d.ts +2 -0
  206. package/tests/utils.js +8 -0
  207. package/utils/constants.d.ts +3 -3
  208. package/utils/hitFunctions.d.ts +2 -1
  209. package/utils/hitFunctions.js +4 -4
  210. package/utils/typeUtils.d.ts +7 -0
  211. package/utils/typeUtils.js +27 -0
  212. package/components/app/providers/HitProvider.d.ts +0 -22
  213. package/components/elements/display/icons/BundleButton.d.ts +0 -6
  214. package/components/elements/display/icons/BundleButton.js +0 -32
  215. package/components/elements/hit/HitRelated.d.ts +0 -6
  216. package/components/elements/hit/HitRelated.js +0 -7
  217. package/components/routes/help/BundleDocumentation.d.ts +0 -3
  218. package/components/routes/help/BundleDocumentation.js +0 -12
  219. package/components/routes/help/markdown/en/bundles.md.js +0 -1
  220. package/components/routes/help/markdown/fr/bundles.md.js +0 -1
  221. package/components/routes/hits/search/BundleParentMenu.d.ts +0 -6
  222. package/components/routes/hits/search/BundleParentMenu.js +0 -32
  223. package/components/routes/hits/search/BundleScroller.d.ts +0 -2
  224. package/components/routes/hits/search/BundleScroller.js +0 -6
  225. package/components/routes/hits/search/HitContextMenu.js +0 -227
  226. /package/components/app/providers/{HitSearchProvider.test.d.ts → RecordSearchProvider.test.d.ts} +0 -0
  227. /package/components/{routes/hits/search/HitContextMenu.test.d.ts → elements/ContextMenu.test.d.ts} +0 -0
  228. /package/components/{routes/overviews/OverviewEditor.d.ts → elements/MarkdownEditor.d.ts} +0 -0
  229. /package/components/elements/hit/{HitDetails.d.ts → related/RelatedRecords.d.ts} +0 -0
  230. /package/components/routes/hits/search/{HitBrowser.d.ts → RecordBrowser.d.ts} +0 -0
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "*": "All values",
3
+ "Protected B": "Protected B",
4
+ "Unclassified//Official Use Only": "Unclassified//Official Use Only",
3
5
  "actions.running": "Action \"{{action}}\" is executing.",
4
6
  "actions.succeeded": "Action \"{{action}}\" completed successfully.",
5
7
  "add": "Add",
@@ -11,6 +13,7 @@
11
13
  "analytic.notebook.error.minFields": "Name and link are required.",
12
14
  "analytic.notebook.link": "Link",
13
15
  "analytic.notebook.name": "Name",
16
+ "analytic.open": "Open Analytic",
14
17
  "any": "Any",
15
18
  "api.user.apikey.removed": "API key removed successfully.",
16
19
  "api.user.apikey.updated": "New API key added successfully.",
@@ -79,6 +82,8 @@
79
82
  "comments.edit.stop": "Stop Editing",
80
83
  "comments.edited": "Edited",
81
84
  "comments.quote": "Quote Reply",
85
+ "complete": "Complete",
86
+ "crisis": "Crisis",
82
87
  "custom": "Custom",
83
88
  "date.range.1.day": "The last day",
84
89
  "date.range.1.month": "The last month",
@@ -104,8 +109,11 @@
104
109
  "drawer.expand": "Expand Menu",
105
110
  "duplicates.omitted": "Some duplicate entries have been omitted.",
106
111
  "edit": "Edit",
112
+ "event.module": "Event Module",
113
+ "event.type": "Event Type",
107
114
  "features.warning.description": "This feature is undergoing active development, and is not yet in a finished state. You may encounter bugs or instability.",
108
115
  "features.warning.title": "Feature In Active Development",
116
+ "focus": "Main focus",
109
117
  "global": "Global",
110
118
  "help.actions.introduction": "Introduction to Actions",
111
119
  "help.hit.banner.description": "See the below hit banner example for the hit keys necessary to properly populate it. If you have any additional questions, ask in the HOWLER support channel.",
@@ -162,16 +170,20 @@
162
170
  "hit.header.assignment": "Assignment: {{user}}",
163
171
  "hit.header.assignment.add": "Assign to a user",
164
172
  "hit.header.assignment.change": "Change assignment",
165
- "hit.header.bundlesize": "{{hits}} hits",
166
173
  "hit.header.escalation": "Escalation Level: ",
167
174
  "hit.header.indicators": "Indicators",
168
175
  "hit.header.rationale": "Rationale",
176
+ "hit.header.related": "{{count}} related records",
169
177
  "hit.header.scrutiny": "Scrutiny: ",
170
178
  "hit.header.status": "Status: ",
171
179
  "hit.header.summary": "Summary",
172
180
  "hit.header.target": "Target",
173
181
  "hit.header.threat": "Threat",
182
+ "hit.header.view.case": "View case {{id}}",
183
+ "hit.header.view.hit": "View hit {{id}}",
184
+ "hit.header.view.observable": "View observable {{id}}",
174
185
  "hit.header.votes": "Votes: ",
186
+ "hit.howler.related": "{{count}} related records",
175
187
  "hit.label": "Labels",
176
188
  "hit.label.category.assignments": "Category: Assignments - Specifies what analyst or team of analysts is assigned to triaging this hit.",
177
189
  "hit.label.category.campaign": "Catergory: Campaign - Identifies ongoing campaigns from specific malware families or phishing initiatives. They should only be considered correct attributions if the hit is promoted to evidence.",
@@ -187,15 +199,16 @@
187
199
  "hit.label.edit.add.error.duplicate": "Duplicated label not allowed",
188
200
  "hit.label.edit.add.error.empty": "Can't add an empty label",
189
201
  "hit.label.edit.add.label": "New label value",
202
+ "hit.label.edit.desc": "Add or remove labels",
190
203
  "hit.notebook.confirm.dialog": "A notebook with that name already exists in your environment, do you wish to overwrite it?",
191
204
  "hit.notebook.confirm.title": "Overwrite existing notebook?",
192
205
  "hit.notebook.error.failToPost": "Failed to send notebook to Jupyterhub, make sure your user environment is running.",
193
206
  "hit.notebook.goTo": "Go to Jupyterhub",
194
207
  "hit.notebook.select": "Please Select a notebook",
195
208
  "hit.notebook.tooltip": "Open in Jupyterhub",
209
+ "hit.open": "Open Hit",
196
210
  "hit.overview.missing": "No overview has been created for this hit. In order to create an overview, press the add button to the right.",
197
211
  "hit.panel.aggregation.run": "Create Summary",
198
- "hit.panel.analytic.open": "Open Analytic",
199
212
  "hit.panel.bundles.open": "Parent Bundles",
200
213
  "hit.panel.bundles.open.prompt": "Open Parent Bundle",
201
214
  "hit.panel.close": "Close",
@@ -208,9 +221,12 @@
208
221
  "hit.panel.exclude": "Exclude By",
209
222
  "hit.panel.hit.noselection": "No hit has been selected",
210
223
  "hit.panel.include": "Include By",
211
- "hit.panel.open": "Open Hit Viewer",
212
224
  "hit.panel.view.layout": "Change View Panel",
213
225
  "hit.quicksearch": "Search by assignment, analytic, detection or status",
226
+ "hit.related.tab.case": "Cases",
227
+ "hit.related.tab.hit": "Hits",
228
+ "hit.related.tab.links": "Links",
229
+ "hit.related.tab.observable": "Observables",
214
230
  "hit.search.aggregate.button": "Create Summary",
215
231
  "hit.search.button": "Perform search",
216
232
  "hit.search.custom": "Custom Sort",
@@ -219,6 +235,8 @@
219
235
  "hit.search.filter.fields": "Fields",
220
236
  "hit.search.filter.label": "Lookup Filters",
221
237
  "hit.search.filter.values": "Values",
238
+ "hit.search.index.hit": "Hits",
239
+ "hit.search.index.observable": "Observables",
222
240
  "hit.search.invalid": "Invalid Query",
223
241
  "hit.search.keyboard": "Keyboard shortcuts",
224
242
  "hit.search.keyboard.no_shortcuts": "No shortcuts",
@@ -256,6 +274,7 @@
256
274
  "hit.summary.subtitle": "Limited to a maximum of 10 000 hits.",
257
275
  "hit.summary.title": "Summary of Hits Over Time",
258
276
  "hit.summary.zoom.reset": "Reset Zoom",
277
+ "hit.view.overview": "Overview",
259
278
  "hit.viewer.aggregate": "Summary",
260
279
  "hit.viewer.comments": "Comments",
261
280
  "hit.viewer.data": "Raw Data",
@@ -291,6 +310,8 @@
291
310
  "modal.action.empty": "Action Name cannot be empty.",
292
311
  "modal.action.label": "Action Name",
293
312
  "modal.action.title": "Save Action",
313
+ "modal.cases.resolve": "Resolve Case",
314
+ "modal.cases.resolve.description": "When resolving a case, you must either assess all open alerts, or add an assessment to the alerts.",
294
315
  "modal.confirm.delete.description": "Are you sure you want to delete this item?",
295
316
  "modal.confirm.delete.title": "Confirm Deletion",
296
317
  "modal.rationale.description": "Provide a rationale that succinctly explains to other analysts why you are confident in this assessment.",
@@ -312,6 +333,8 @@
312
333
  "modal.rule.title": "Create a New Rule",
313
334
  "no.data": "No Data",
314
335
  "none": "None",
336
+ "normal": "Normal Priority",
337
+ "observable.open": "Open Observable",
315
338
  "on": "on",
316
339
  "open": "Open",
317
340
  "operations.add_label": "Add Label",
@@ -331,6 +354,33 @@
331
354
  "owner": "Owner",
332
355
  "page.404.description": "The page you are looking for cannot be found...",
333
356
  "page.404.title": "404: Not found",
357
+ "page.cases.assets": "Assets",
358
+ "page.cases.assets.empty": "No assets found.",
359
+ "page.cases.assets.filter_by_type": "Filter by type:",
360
+ "page.cases.assets.seen_in": "Seen in",
361
+ "page.cases.assets.type.hash": "Hash",
362
+ "page.cases.assets.type.hosts": "Host",
363
+ "page.cases.assets.type.id": "ID",
364
+ "page.cases.assets.type.ids": "ID",
365
+ "page.cases.assets.type.ip": "IP",
366
+ "page.cases.assets.type.signature": "Signature",
367
+ "page.cases.assets.type.uri": "URI",
368
+ "page.cases.assets.type.user": "User",
369
+ "page.cases.created": "Created",
370
+ "page.cases.dashboard": "Dashboard",
371
+ "page.cases.dashboard.alerts": "Alerts",
372
+ "page.cases.dashboard.cases": "Related Cases",
373
+ "page.cases.dashboard.duration": "Duration",
374
+ "page.cases.dashboard.indicators": "Indicators",
375
+ "page.cases.dashboard.target": "Targets",
376
+ "page.cases.dashboard.tasks": "Tasks",
377
+ "page.cases.dashboard.threat": "Threats",
378
+ "page.cases.detail.participants": "Participants",
379
+ "page.cases.detail.properties": "Properties",
380
+ "page.cases.detail.status": "Status",
381
+ "page.cases.escalation": "Escalation",
382
+ "page.cases.sources": "Sources",
383
+ "page.cases.updated": "Updated",
334
384
  "page.dashboard.settings.edit": "Edit Dashboard",
335
385
  "page.dashboard.settings.refreshRate": "Refresh Rate",
336
386
  "page.dashboard.title": "Dashboard",
@@ -355,6 +405,7 @@
355
405
  "page.help": "Help",
356
406
  "page.help.title": "Help Dashboard",
357
407
  "page.login.button": "Sign in",
408
+ "page.login.error": "Just type anything in the username and password fields...",
358
409
  "page.login.password": "Password",
359
410
  "page.login.username": "Username",
360
411
  "page.logout": "Logging out current user ... ",
@@ -401,6 +452,8 @@
401
452
  "page.user.search.column.groups": "Groups",
402
453
  "page.user.search.column.username": "Username",
403
454
  "page.user.search.prompt": "Search by username, fullname, email or group",
455
+ "pages.cases.detail.participants": "Participants",
456
+ "pages.cases.detail.status": "Status",
404
457
  "password": "New Password",
405
458
  "password.confirm": "Confirm Password",
406
459
  "password.match": "Password and Confirm Password must match",
@@ -414,6 +467,7 @@
414
467
  "personalization.showbreadcrumbs": "Show Breadcrumbs",
415
468
  "personalization.sticky": "Sticky Topbar",
416
469
  "query": "Query",
470
+ "query.invalid": "Invalid query",
417
471
  "quicksearch.aria": "search",
418
472
  "quicksearch.placeholder": "Search ...",
419
473
  "rationale.default": "Hit assessed as {{assessment}}",
@@ -529,6 +583,11 @@
529
583
  "route.analytics.triage.title": "Triage Settings",
530
584
  "route.analytics.updated": "Analytic Updated!",
531
585
  "route.analytics.view": "View Analytic",
586
+ "route.cases": "Cases",
587
+ "route.cases.create": "Create Case",
588
+ "route.cases.manager.search": "Search Cases",
589
+ "route.cases.search.prompt": "Search Cases via title, summary or indicators",
590
+ "route.cases.view": "View Case",
532
591
  "route.clear": "Clear query",
533
592
  "route.dossiers": "Dossiers",
534
593
  "route.dossiers.create": "New Dossier",
@@ -591,8 +650,10 @@
591
650
  "route.help.actions": "Action Documentation",
592
651
  "route.help.api": "API Documentation",
593
652
  "route.help.auth": "Authentication",
653
+ "route.help.bundles": "Hit Bundles",
594
654
  "route.help.client": "Howler Client",
595
655
  "route.help.hit": "Hit Documentation",
656
+ "route.help.hit.banner": "Hit Banner Documentation",
596
657
  "route.help.main": "Dashboard",
597
658
  "route.help.notebook": "Notebook Documentation",
598
659
  "route.help.overviews": "Overviews",
@@ -705,6 +766,7 @@
705
766
  "search.result.showing": "Showing {{offset}} to {{length}} of {{total}} results",
706
767
  "search.result.showing.single": "No results",
707
768
  "search.total": "There are a total of {{count}} hits matching this query.",
769
+ "started": "Started",
708
770
  "templates.edit.analytic": "Edit analytic template",
709
771
  "templates.edit.detection": "Edit detection template",
710
772
  "to": "to",
@@ -13,6 +13,7 @@
13
13
  "analytic.notebook.error.minFields": "Nom et lien requis.",
14
14
  "analytic.notebook.link": "Lien",
15
15
  "analytic.notebook.name": "Nom",
16
+ "analytic.open": "Ouvrir l'analyse",
16
17
  "any": "Tous",
17
18
  "api.user.apikey.removed": "Clé API supprimée avec succès",
18
19
  "api.user.apikey.updated": "Nouvelle clé API ajoutée avec succès.",
@@ -81,6 +82,8 @@
81
82
  "comments.edit.stop": "Arrêter Modification",
82
83
  "comments.edited": "Modifié",
83
84
  "comments.quote": "Citation Réponse",
85
+ "complete": "Terminé",
86
+ "crisis": "Crise",
84
87
  "custom": "Personnalisé",
85
88
  "date.range.1.day": "Dernier jour",
86
89
  "date.range.1.month": "Le dernier mois",
@@ -106,8 +109,11 @@
106
109
  "drawer.expand": "Ouvrir le Menu",
107
110
  "duplicates.omitted": "Certains doublons ont été omis.",
108
111
  "edit": "Modifier",
112
+ "event.module": "Module d'événement",
113
+ "event.type": "Type d'événement",
109
114
  "features.warning.description": "Cette fonctionnalité fait l'objet d'un développement actif et n'est pas encore achevée. Il est possible que vous rencontriez des problèmes ou de l'instabilité.",
110
115
  "features.warning.title": "Fonctionnalité en développement actif",
116
+ "focus": "Focus principal",
111
117
  "global": "Global",
112
118
  "help.actions.introduction": "Introduction aux actions",
113
119
  "help.hit.banner.description": "Voir l'exemple d'en-tête de résultat ci-dessous pour connaître les clés de résultat nécessaires pour le remplir correctement. Si vous avez d'autres questions, posez-les dans le réseau d'assistance HOWLER.",
@@ -164,16 +170,20 @@
164
170
  "hit.header.assignment": "Affectation: {{user}}",
165
171
  "hit.header.assignment.add": "Attribuer à un utilisateur",
166
172
  "hit.header.assignment.change": "Changer l'affectation",
167
- "hit.header.bundlesize": "{{hits}} hits",
168
173
  "hit.header.escalation": "Niveau d'escalade: ",
169
174
  "hit.header.indicators": "Indicateurs",
170
175
  "hit.header.rationale": "Justification",
176
+ "hit.header.related": "{{count}} documrents associés",
171
177
  "hit.header.scrutiny": "Examen minutieux: ",
172
178
  "hit.header.status": "Statut: ",
173
179
  "hit.header.summary": "Résumé",
174
180
  "hit.header.target": "Cible",
175
181
  "hit.header.threat": "Menace",
182
+ "hit.header.view.case": "Voir le cas {{id}}",
183
+ "hit.header.view.hit": "Voir l'alerte {{id}}",
184
+ "hit.header.view.observable": "Voir l'observable {{id}}",
176
185
  "hit.header.votes": "Votes: ",
186
+ "hit.howler.related": "{{count}} enregistrements associés",
177
187
  "hit.label": "Étiquettes",
178
188
  "hit.label.category.assignments": "Catégorie : Affectation - Indique quel analyste ou quelle équipe d'analystes est chargé(e) de trier cette réponse positive.",
179
189
  "hit.label.category.campaign": "Catégorie : Campagne - Identifie les campagnes en cours menées par des familles de logiciels malveillants ou des initiatives d'hameçonnage spécifiques. Elles ne doivent être considérées comme des attributions correctes que si le résultat positif est promu au rang de preuve.",
@@ -196,9 +206,9 @@
196
206
  "hit.notebook.goTo": "Aller a Jupyterhub",
197
207
  "hit.notebook.select": "Veuillez sélectionner un notebook",
198
208
  "hit.notebook.tooltip": "Ouvrir dans Jupyterhub",
209
+ "hit.open": "Ouvrir hit",
199
210
  "hit.overview.missing": "Aucune vue d'ensemble n'a été créée pour ce hit. Pour créer une vue d'ensemble, cliquez sur le bouton pour ajouter à droite.",
200
211
  "hit.panel.aggregation.run": "Créer un sommaire",
201
- "hit.panel.analytic.open": "Ouvrir l'analyse",
202
212
  "hit.panel.bundles.open": "Groupes parentaux",
203
213
  "hit.panel.bundles.open.prompt": "Ouvrir le groupe parent",
204
214
  "hit.panel.close": "Fermer",
@@ -211,9 +221,12 @@
211
221
  "hit.panel.exclude": "Exclure par",
212
222
  "hit.panel.hit.noselection": "Aucun résultat n'a été sélectionné",
213
223
  "hit.panel.include": "Inclure par",
214
- "hit.panel.open": "Ouvrir hit",
215
224
  "hit.panel.view.layout": "Modifier le panneau d'affichage",
216
225
  "hit.quicksearch": "Recherche par affectation, analytique, détection ou état",
226
+ "hit.related.tab.case": "Cas",
227
+ "hit.related.tab.hit": "Alertes",
228
+ "hit.related.tab.links": "Liens",
229
+ "hit.related.tab.observable": "Observables",
217
230
  "hit.search.aggregate.button": "Créer un sommaire",
218
231
  "hit.search.button": "Effectuer une recherche",
219
232
  "hit.search.custom": "Triage personnalisé",
@@ -222,6 +235,8 @@
222
235
  "hit.search.filter.fields": "Paramètres",
223
236
  "hit.search.filter.label": "Filtres de recherche",
224
237
  "hit.search.filter.values": "Valeurs",
238
+ "hit.search.index.hit": "Hits",
239
+ "hit.search.index.observable": "Observables",
225
240
  "hit.search.invalid": "Requête invalide",
226
241
  "hit.search.keyboard": "Raccourcis clavier",
227
242
  "hit.search.keyboard.no_shortcuts": "Pas de raccourcis",
@@ -295,6 +310,8 @@
295
310
  "modal.action.empty": "Le nom de l'action ne peut pas être vide.",
296
311
  "modal.action.label": "Nom de l'action",
297
312
  "modal.action.title": "Enregistrer l'action",
313
+ "modal.cases.resolve": "Résoudre le cas",
314
+ "modal.cases.resolve.description": "Lors de la résolution d'un cas, vous devez soit évaluer toutes les alertes ouvertes, soit ajouter une évaluation aux alertes.",
298
315
  "modal.confirm.delete.description": "Êtes-vous sûr de vouloir supprimer cet élément ?",
299
316
  "modal.confirm.delete.title": "Confirmer la suppression",
300
317
  "modal.rationale.description": "Fournissez une justification qui explique succinctement aux autres analystes les raisons pour lesquelles vous êtes confiant dans cette évaluation.",
@@ -316,6 +333,8 @@
316
333
  "modal.rule.title": "Créer une nouvelle règle",
317
334
  "no.data": "Aucune donnée",
318
335
  "none": "Rien",
336
+ "normal": "Priorité normale",
337
+ "observable.open": "Ouvrir observable",
319
338
  "on": "sur",
320
339
  "open": "Ouvert",
321
340
  "operations.add_label": "Ajouter un label",
@@ -335,6 +354,33 @@
335
354
  "owner": "Propriétaire",
336
355
  "page.404.description": "La page que vous recherchez est introuvable ...",
337
356
  "page.404.title": "404: Introuvable",
357
+ "page.cases.assets": "Actifs",
358
+ "page.cases.assets.empty": "Aucun actif trouvé.",
359
+ "page.cases.assets.filter_by_type": "Filtrer par type :",
360
+ "page.cases.assets.seen_in": "Vu dans",
361
+ "page.cases.assets.type.hash": "Hachage",
362
+ "page.cases.assets.type.hosts": "Hôte",
363
+ "page.cases.assets.type.id": "Identifiant",
364
+ "page.cases.assets.type.ids": "Identifiant",
365
+ "page.cases.assets.type.ip": "IP",
366
+ "page.cases.assets.type.signature": "Signature",
367
+ "page.cases.assets.type.uri": "URI",
368
+ "page.cases.assets.type.user": "Utilisateur",
369
+ "page.cases.created": "Créé",
370
+ "page.cases.dashboard": "Tableau de bord",
371
+ "page.cases.dashboard.alerts": "Alertes",
372
+ "page.cases.dashboard.cases": "Cas connexes",
373
+ "page.cases.dashboard.duration": "Durée",
374
+ "page.cases.dashboard.indicators": "Indicateurs",
375
+ "page.cases.dashboard.target": "Cibles",
376
+ "page.cases.dashboard.tasks": "Tâches",
377
+ "page.cases.dashboard.threat": "Menaces",
378
+ "page.cases.detail.participants": "Participants",
379
+ "page.cases.detail.properties": "Propriétés",
380
+ "page.cases.detail.status": "Statut",
381
+ "page.cases.escalation": "Escalade",
382
+ "page.cases.sources": "Sources",
383
+ "page.cases.updated": "Mis à jour",
338
384
  "page.dashboard.settings.edit": "Modifier le tableau de bord",
339
385
  "page.dashboard.settings.refreshRate": "Fréquence de rafraîchissement",
340
386
  "page.dashboard.title": "Tableau de bord",
@@ -406,6 +452,8 @@
406
452
  "page.user.search.column.groups": "Groupes",
407
453
  "page.user.search.column.username": "Nom d'utilisateur",
408
454
  "page.user.search.prompt": "Rechercher par nom d'utilisateur, nom complet, e-mail ou groupe",
455
+ "pages.cases.detail.participants": "Participants",
456
+ "pages.cases.detail.status": "Statut",
409
457
  "password": "Nouveau mot de passe",
410
458
  "password.confirm": "Confirmer le mot de passe",
411
459
  "password.match": "Le mot de passe et le mot de passe de confirmation doivent correspondre",
@@ -438,6 +486,7 @@
438
486
  "route.actions.create": "Nouveau action",
439
487
  "route.actions.edit": "Modifier",
440
488
  "route.actions.execute": "Exécuter",
489
+ "route.actions.manager": "Gestionnaire d'actions",
441
490
  "route.actions.name": "Nom de l'action",
442
491
  "route.actions.open": "Ouvrir la requête",
443
492
  "route.actions.operation.add": "Ajouter une nouvelle opération",
@@ -534,6 +583,11 @@
534
583
  "route.analytics.triage.title": "Paramètres de triage",
535
584
  "route.analytics.updated": "Analytic mis a jour!",
536
585
  "route.analytics.view": "Voir l'analyse",
586
+ "route.cases": "Cas",
587
+ "route.cases.create": "Créer un cas",
588
+ "route.cases.manager.search": "Rechercher des cas",
589
+ "route.cases.search.prompt": "Rechercher des cas par titre, résumé ou indicateurs",
590
+ "route.cases.view": "Voir le cas",
537
591
  "route.clear": "Effacer la requête",
538
592
  "route.dossiers": "Dossiers",
539
593
  "route.dossiers.create": "Nouveau dossier",
@@ -593,6 +647,7 @@
593
647
  "route.dossiers.search.prompt": "Recherche par titre, requête ou propriétaire.",
594
648
  "route.dossiers.view": "Voir le dossier",
595
649
  "route.help": "Aide",
650
+ "route.help.actions": "Documentation sur les actions",
596
651
  "route.help.api": "Documentation de l'API",
597
652
  "route.help.auth": "Authentification",
598
653
  "route.help.bundles": "Groupes des hits",
@@ -656,6 +711,7 @@
656
711
  "route.overviews.theme.dark": "Prévoyez en mode sombre",
657
712
  "route.overviews.theme.light": "Prévoyez en mode clair",
658
713
  "route.overviews.view": "Voir la vue d'ensemble",
714
+ "route.search": "Rechercher",
659
715
  "route.templates": "Modèles",
660
716
  "route.templates.analytic": "Choisir une analyse",
661
717
  "route.templates.builtin": "Intégré",
@@ -666,6 +722,7 @@
666
722
  "route.templates.detection": "Choisir une détection",
667
723
  "route.templates.global": "Général",
668
724
  "route.templates.manager.global": "Global",
725
+ "route.templates.manager.open": "Ouvrir la vue",
669
726
  "route.templates.manager.personal": "Personnel",
670
727
  "route.templates.manager.readonly": "Intégré",
671
728
  "route.templates.manager.search": "Rechercher les modèles",
@@ -689,8 +746,10 @@
689
746
  "route.views.manager.personal": "Personnel",
690
747
  "route.views.manager.readonly": "Intégré",
691
748
  "route.views.manager.search": "Rechercher les vues",
749
+ "route.views.name": "Nom de la vue",
692
750
  "route.views.save": "Enregistrer cette requête comme vue",
693
751
  "route.views.saved": "Vues épinglées",
752
+ "route.views.search.prompt": "Rechercher par nom, requête ou propriétaire.",
694
753
  "route.views.show": "Voir les vues",
695
754
  "route.views.update.success": "Vue actualisée.",
696
755
  "rule.interval": "Intervalle d'exécution de la règle",
@@ -707,6 +766,7 @@
707
766
  "search.result.showing": "Affichage de {{offset}} à {{length}} sur {{total}} articles",
708
767
  "search.result.showing.single": "Aucun articles",
709
768
  "search.total": "Il y a un total de {{count}} résultats correspondant à cette requête.",
769
+ "started": "Démarré",
710
770
  "templates.edit.analytic": "Modifier modèle pour cette analyse",
711
771
  "templates.edit.detection": "Modifier modèle pour cette détection",
712
772
  "to": "à",
@@ -4,9 +4,10 @@ import type { Overview } from './entities/generated/Overview';
4
4
  import type { Template } from './entities/generated/Template';
5
5
 
6
6
  export type WithMetadata<T> = T & {
7
+ __index?: string;
8
+
7
9
  __analytic?: Analytic;
8
10
  __overview?: Overview;
9
11
  __template?: Template;
10
-
11
12
  __dossiers?: Dossier[];
12
13
  };
@@ -0,0 +1,12 @@
1
+ import type { FileHash } from './FileHash';
2
+
3
+ /**
4
+ * NOTE: This is an auto-generated file. Don't edit this manually.
5
+ */
6
+ export interface AttachmentsFile {
7
+ extension?: string;
8
+ hash?: FileHash;
9
+ mime_type?: string;
10
+ name?: string;
11
+ size?: number;
12
+ }
@@ -0,0 +1,28 @@
1
+ import type { Enrichments } from './Enrichments';
2
+ import type { Item } from './Item';
3
+ import type { Rule } from './Rule';
4
+ import type { Task } from './Task';
5
+
6
+ /**
7
+ * NOTE: This is an auto-generated file. Don't edit this manually.
8
+ */
9
+ export interface Case {
10
+ case_id?: string;
11
+ created?: string;
12
+ end?: string;
13
+ enrichments?: Enrichments;
14
+ escalation?: string;
15
+ indicators?: string[];
16
+ items?: Item[];
17
+ overview?: string;
18
+ participants?: string[];
19
+ rules?: Rule[];
20
+ status?: string;
21
+ start?: string;
22
+ summary?: string;
23
+ targets?: string[];
24
+ tasks?: Task[];
25
+ threats?: string[];
26
+ title?: string;
27
+ updated?: string;
28
+ }
@@ -0,0 +1,19 @@
1
+ import type { AutonomousSystems } from './AutonomousSystems';
2
+ import type { Geo } from './Geo';
3
+ import type { Nat } from './Nat';
4
+
5
+ /**
6
+ * NOTE: This is an auto-generated file. Don't edit this manually.
7
+ */
8
+ export interface DestinationOriginal {
9
+ address?: string;
10
+ autonomous_systems?: AutonomousSystems;
11
+ bytes?: number;
12
+ domain?: string;
13
+ geo?: Geo;
14
+ ip?: string;
15
+ mac?: string;
16
+ nat?: Nat;
17
+ packets?: number;
18
+ port?: number;
19
+ }
@@ -0,0 +1,8 @@
1
+ import type { AttachmentsFile } from './AttachmentsFile';
2
+
3
+ /**
4
+ * NOTE: This is an auto-generated file. Don't edit this manually.
5
+ */
6
+ export interface EmailAttachment {
7
+ file?: AttachmentsFile;
8
+ }
@@ -0,0 +1,19 @@
1
+ import type { Bcc } from './Bcc';
2
+ import type { Cc } from './Cc';
3
+ import type { From } from './From';
4
+ import type { To } from './To';
5
+
6
+ /**
7
+ * NOTE: This is an auto-generated file. Don't edit this manually.
8
+ */
9
+ export interface EmailParent {
10
+ bcc?: Bcc;
11
+ cc?: Cc;
12
+ destination?: string;
13
+ from?: From;
14
+ message_id?: string;
15
+ origination_timestamp?: string;
16
+ source?: string;
17
+ subject?: string;
18
+ to?: To;
19
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * NOTE: This is an auto-generated file. Don't edit this manually.
3
+ */
4
+ export interface Enrichments {
5
+ annotations?: string;
6
+ path?: string;
7
+ }
@@ -0,0 +1,21 @@
1
+ import type { IndicatorEmail } from './IndicatorEmail';
2
+ import type { IndicatorFile } from './IndicatorFile';
3
+
4
+ /**
5
+ * NOTE: This is an auto-generated file. Don't edit this manually.
6
+ */
7
+ export interface EnrichmentsIndicator {
8
+ confidence?: string;
9
+ description?: string;
10
+ email?: IndicatorEmail;
11
+ file?: IndicatorFile;
12
+ first_seen?: string;
13
+ ip?: string;
14
+ last_seen?: string;
15
+ port?: number;
16
+ provider?: string;
17
+ reference?: string;
18
+ scanner_stats?: number;
19
+ sightings?: number;
20
+ type?: string;
21
+ }
@@ -40,6 +40,7 @@ import type { Vulnerability } from './Vulnerability';
40
40
  * NOTE: This is an auto-generated file. Don't edit this manually.
41
41
  */
42
42
  export interface Hit {
43
+ __index: 'hit';
43
44
  agent?: Agent;
44
45
  assemblyline?: Assemblyline;
45
46
  aws?: Aws;
@@ -14,8 +14,6 @@ export interface Howler {
14
14
  analytic: string;
15
15
  assessment?: string;
16
16
  assignment: string;
17
- bundle_size?: number;
18
- bundles?: string[];
19
17
  comment?: HowlerComment[];
20
18
  confidence?: number;
21
19
  data?: string[];
@@ -24,10 +22,8 @@ export interface Howler {
24
22
  escalation?: string;
25
23
  expiry?: string;
26
24
  hash: string;
27
- hits?: string[];
28
25
  id: string;
29
26
  incidents?: Incident[];
30
- is_bundle?: boolean;
31
27
  labels?: Labels;
32
28
  links?: Link[];
33
29
  log?: Log[];
@@ -0,0 +1,11 @@
1
+ import type { Body } from './Body';
2
+
3
+ /**
4
+ * NOTE: This is an auto-generated file. Don't edit this manually.
5
+ */
6
+ export interface HttpResponse {
7
+ body?: Body;
8
+ bytes?: number;
9
+ mime_type?: string;
10
+ status_code?: number;
11
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * NOTE: This is an auto-generated file. Don't edit this manually.
3
+ */
4
+ export interface Item {
5
+ id?: string;
6
+ path?: string;
7
+ type?: string;
8
+ value?: string;
9
+ }