Skip to content

Commit

Permalink
#820 Display link to MISP UI for every MISP alert
Browse files Browse the repository at this point in the history
  • Loading branch information
nadouani committed Feb 19, 2019
1 parent 4d827fa commit 321d2db
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 14 deletions.
4 changes: 2 additions & 2 deletions ui/app/scripts/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ angular.module('thehive', ['ngAnimate', 'ngMessages', 'ngSanitize', 'ui.bootstra
templateUrl: 'views/login.html',
resolve: {
appConfig: function(VersionSrv) {
return VersionSrv.get();
}
return VersionSrv.get();
}
},
params: {
autoLogin: false
Expand Down
4 changes: 3 additions & 1 deletion ui/app/scripts/controllers/alert/AlertListCtrl.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
(function() {
'use strict';
angular.module('theHiveControllers')
.controller('AlertListCtrl', function($rootScope, $scope, $q, $state, $uibModal, TagSrv, CaseTemplateSrv, AlertingSrv, NotificationSrv, FilteringSrv, CortexSrv, Severity) {
.controller('AlertListCtrl', function($rootScope, $scope, $q, $state, $uibModal, TagSrv, CaseTemplateSrv, AlertingSrv, NotificationSrv, FilteringSrv, CortexSrv, Severity, VersionSrv) {
var self = this;

self.urls = VersionSrv.mispUrls();

self.list = [];
self.selection = [];
self.menu = {
Expand Down
4 changes: 3 additions & 1 deletion ui/app/scripts/controllers/case/CaseAlertsCtrl.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
'use strict';
angular.module('theHiveControllers').controller('CaseAlertsCtrl',
function($scope, $state, $stateParams, $uibModal, $timeout, CaseTabsSrv, alerts) {
function($scope, $state, $stateParams, $uibModal, $timeout, CaseTabsSrv, VersionSrv, alerts) {
$scope.caseId = $stateParams.caseId;
$scope.alerts = alerts;
$scope.alertStats = [];
Expand All @@ -12,6 +12,8 @@
};
var tabName = 'alerts-' + $scope.caseId;

$scope.mispUrls = VersionSrv.mispUrls();

// Add tab
CaseTabsSrv.addTab(tabName, {
name: tabName,
Expand Down
16 changes: 15 additions & 1 deletion ui/app/scripts/services/VersionSrv.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
callback(appConfig);
}
});
}, 60000);
}, 60000);
},
get: function(force) {
var deferred = $q.defer();
Expand All @@ -40,6 +40,20 @@
} catch (err) {
return false;
}
},

mispUrls: function() {
var urls = {};
var misp = cache.connectors.misp;

if(!misp) {
return {};
}

(misp.servers || []).forEach(function(item) {
urls[item.name] = item.url;
});
return urls;
}
};

Expand Down
14 changes: 13 additions & 1 deletion ui/app/views/partials/alert/list.html
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,15 @@ <h3 class="box-title">List of alerts ({{$vm.list.total || 0}} of {{alertEvents.c
<input type="checkbox" ng-model="event.selected" ng-change="$vm.select(event)">
</td>
<td class="wrap">
<strong>{{::event.sourceRef}}</strong>
<strong>
<span>{{::event.sourceRef}}</span>
<span ng-if="event.type === 'misp'" class="pl-xxs">
<a ng-href="{{$vm.urls[event.source]}}/events/{{event.sourceRef}}" target="_blank">
<i class="fa fa-external-link"></i>
</a>
</span>
</strong>

</td>
<td>
<span><a href ng-click="$vm.addFilterValue('type', event.type)">{{::event.type}}</a></span>
Expand All @@ -130,6 +138,10 @@ <h3 class="box-title">List of alerts ({{$vm.list.total || 0}} of {{alertEvents.c
<strong class="text-muted mr-xxxs" ng-if="!event.tags || event.tags.length === 0">None</strong>
<span ng-repeat="tag in event.tags track by $index" class="label label-primary mb-xxxs mr-xxxs pointer" ng-click="$vm.addFilterValue('tags', tag)">{{tag}}</span>
</div>
<!-- <div class="flexwrap" ng-if="event.type === 'misp'">
<span class="mr-xxxs text-muted"><i class="fa fa-link"></i></span>
<a ng-href="{{$vm.urls[event.source]}}/events/{{event.sourceRef}}" target="_blank">Open in MISP</a>
</div> -->
</td>
<td><a href ng-click="$vm.addFilterValue('source', event.source)">{{event.source}}</a></td>
<td class="text-center">
Expand Down
16 changes: 8 additions & 8 deletions ui/app/views/partials/case/case.alerts.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,6 @@
ng-click="filterBy('');"
ng-class="{'label-primary': currentFilter===''}">All ({{alerts.length || 0}})</span>

<!-- <span><strong>Status:</strong></span>
<span class="label label-lg label-default mr-xxs clickable"
ng-repeat="statsItem in alertStats.status"
ng-click="filterBy('status', statsItem.key)"
ng-class="{'label-primary': currentFilter===statsItem.key}">{{statsItem.key}} ({{statsItem.value}})</span> -->

<span><strong>Type:</strong></span>
<span class="label label-lg label-default mr-xxs clickable"
ng-repeat="statsItem in alertStats.type"
Expand Down Expand Up @@ -103,7 +96,14 @@
<tbody>
<tr ng-repeat="event in filteredAlerts = (alerts | filter:filtering | orderBy:sorting.field)">
<td class="wrap">
<strong>{{::event.sourceRef}}</strong>
<strong>
<span>{{::event.sourceRef}}</span>
<span ng-if="event.type === 'misp'" class="pl-xxs">
<a ng-href="{{mispUrls[event.source]}}/events/{{event.sourceRef}}" target="_blank">
<i class="fa fa-external-link"></i>
</a>
</span>
</strong>
</td>
<td>
<span>{{::event.type}}</span>
Expand Down

0 comments on commit 321d2db

Please sign in to comment.