diff --git a/source/app/static/assets/css/atlantis.css b/source/app/static/assets/css/atlantis.css
index 64641760c..e93b39c8b 100644
--- a/source/app/static/assets/css/atlantis.css
+++ b/source/app/static/assets/css/atlantis.css
@@ -16027,4 +16027,24 @@ td.dt-nowrap { white-space: nowrap }
padding: 2px 5px 2px 5px;
border-radius: 50% 50%;
margin-bottom: 3px;
-}
\ No newline at end of file
+}
+
+ .copy-value {
+ position: relative;
+ }
+
+ .copy-btn {
+ display: none;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+ border: none;
+ background: transparent;
+ font-size: 1rem;
+ color: #007bff;
+ cursor: pointer;
+ }
+
+ .copy-value:hover .copy-btn {
+ display: inline;
+ }
\ No newline at end of file
diff --git a/source/app/static/assets/js/iris/alerts.js b/source/app/static/assets/js/iris/alerts.js
index 1faf644f5..02c2db2de 100644
--- a/source/app/static/assets/js/iris/alerts.js
+++ b/source/app/static/assets/js/iris/alerts.js
@@ -988,23 +988,41 @@ function renderAlert(alert, expanded=false, modulesOptionsAlertReq,
` : ''}
${alert.alert_source_link ? `
Source Link:
-
` : ''}
${alert.alert_source_ref ? `
Source Reference:
-
${alert.alert_source_ref}
+
+ ${alert.alert_source_ref}
+
+
` : ''}
${alert.alert_source_event_time ? `
Source Event Time:
-
${formatTime(alert.alert_source_event_time)} UTC
+
+ ${formatTime(alert.alert_source_event_time)} UTC
+
+
` : ''}
${alert.alert_creation_time ? `
IRIS Creation Time:
-
${formatTime(alert.alert_creation_time)} UTC
+
+ ${formatTime(alert.alert_creation_time)} UTC
+
+
` : ''}
@@ -1094,7 +1112,12 @@ function renderAlert(alert, expanded=false, modulesOptionsAlertReq,
.map(
(ioc) => `
- ${filterXSS(ioc.ioc_value)} |
+
+ ${filterXSS(ioc.ioc_value)}
+
+ |
${filterXSS(ioc.ioc_description)} |
${ioc.ioc_type ? filterXSS(ioc.ioc_type.type_name) : '-'} |
${filterXSS(ioc.ioc_tlp) ? ioc.ioc_tlp : '-'} |
@@ -1146,6 +1169,12 @@ function renderAlert(alert, expanded=false, modulesOptionsAlertReq,
.map(
(asset) => `
+
+ ${asset.asset_name ? filterXSS(asset.asset_name) : '-'}
+
+ |
${asset.asset_name ? filterXSS(asset.asset_name) : '-'} |
${asset.asset_description ? filterXSS(asset.asset_description) : '-'} |
${asset.asset_type ? filterXSS(asset.asset_type.asset_name) : '-'} |
@@ -1417,6 +1446,11 @@ async function updateAlerts(page, per_page, filters = {}, paging=false){
filterString || queryParams.get('filter_id') ? $('#resetFilters').show() : $('#resetFilters').hide();
alertsContainer.show();
+
+ $('.copy-btn').off().on('click', function() {
+ let value = $(this).data('value');
+ copy_text_clipboard(value);
+ });
}
$('#alertsPerPage').on('change', (e) => {
diff --git a/source/app/static/assets/js/iris/common.js b/source/app/static/assets/js/iris/common.js
index 4501ef601..befd2ec56 100644
--- a/source/app/static/assets/js/iris/common.js
+++ b/source/app/static/assets/js/iris/common.js
@@ -626,7 +626,7 @@ function copy_object_link_md(data_type, node_id){
function copy_text_clipboardb(data){
navigator.clipboard.writeText(fromBinary64(data)).then(function() {
- notify_success('Copied!');
+ notify_success('Copied');
}, function(err) {
notify_error('Can\'t copy link. I printed it in console.');
console.error(err);
@@ -635,7 +635,7 @@ function copy_text_clipboardb(data){
function copy_text_clipboard(data){
navigator.clipboard.writeText(data).then(function() {
- notify_success('Copied!');
+ notify_success('Copied');
}, function(err) {
notify_error('Can\'t copy link. I printed it in console.');
console.error(err);