Skip to content

Commit eb1b9e0

Browse files
[CYB-3] Nashorn -> GraalVM switch (#68)
* [CYB-3] GraalJS implementation * [CYB-3] Lint fixes + Nashorn deprecation
1 parent 46d1071 commit eb1b9e0

File tree

23 files changed

+382
-183
lines changed

23 files changed

+382
-183
lines changed

.github/workflows/build_and_test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# separate terms of service, privacy policy, and support
77
# documentation.
88

9-
name: Java 8 Build and Test
9+
name: Build and Test
1010

1111
on:
1212
push:
@@ -15,7 +15,7 @@ on:
1515
branches: [ "develop" ]
1616

1717
jobs:
18-
build_and_test_java8:
18+
build_and_test_java:
1919
runs-on: ubuntu-latest
2020
container: maven:3-eclipse-temurin-8
2121
steps:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Cybersec Toolkit
22

3-
[![Java CI with Maven](https://github.com/cloudera/cybersec/actions/workflows/build_and_test.yml/badge.svg)](https://github.com/cloudera/cybersec/actions/workflows/build_and_test.yml)
3+
[![Build and Test](https://github.com/cloudera/cybersec/actions/workflows/build_and_test.yml/badge.svg)](https://github.com/cloudera/cybersec/actions/workflows/build_and_test.yml)
44

55
## Overview
66
Enterprises deploy many point solutions to defend their networks. These point solutions provide a wealth of data about the enterprise assets and networks but it is difficult to provide analytics on this data because there is no common repository and the events are in different formats. The Cybersec Toolkit is a pipeline that ingests, correlates and prepares cybersecurity data for analytics. The Cyber Toolkit leverages the Cloudera Data Platform to build a Security Data Lakehouse.

flink-cyber/caracal-parser/src/main/java/com/cloudera/cyber/caracal/SplittingFlatMapFunction.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import com.cloudera.cyber.Message;
1616
import com.cloudera.cyber.SignedSourceKey;
1717
import com.cloudera.cyber.parser.MessageToParse;
18-
import com.cloudera.cyber.rules.engines.JavascriptEngineBuilder;
18+
import com.cloudera.cyber.rules.RuleType;
1919
import com.cloudera.cyber.rules.engines.RuleEngine;
2020
import com.google.common.collect.Streams;
2121
import com.jayway.jsonpath.DocumentContext;
@@ -110,9 +110,7 @@ public void open(Configuration parameters) throws Exception {
110110
}
111111

112112
if(config.getTimestampFunction() != null & !config.getTimestampFunction().isEmpty()) {
113-
this.engine = new JavascriptEngineBuilder()
114-
.script("")
115-
.build();
113+
this.engine = RuleType.JS.engine("");
116114

117115
this.setTimestampFunction(config.getTimestampFunction());
118116
} else {

flink-cyber/data-management/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,4 @@
2727
<module>retention-cleaner</module>
2828
</modules>
2929

30-
<properties>
31-
<java.version>1.8</java.version>
32-
</properties>
3330
</project>

flink-cyber/data-management/retention-cleaner/pom.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323

2424
<properties>
2525
<main.class>com.cloudera.cyber.pruner.Pruner</main.class>
26-
<junit5.version>5.7.0</junit5.version>
27-
<java.version>1.8</java.version>
2826
</properties>
2927

3028
<artifactId>retention-cleaner</artifactId>
@@ -59,7 +57,6 @@
5957
<dependency>
6058
<groupId>org.junit.jupiter</groupId>
6159
<artifactId>junit-jupiter</artifactId>
62-
<version>${junit5.version}</version>
6360
<scope>test</scope>
6461
</dependency>
6562
<dependency>

flink-cyber/flink-alert-scoring/src/main/java/com/cloudera/cyber/scoring/ScoringProcessFunction.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,13 @@ protected void processMessages(Message message, Collector<ScoredMessage> collect
6363
.map(r -> {
6464
Map<String, Object> results = r.apply(message);
6565
if (results != null) {
66+
Object score = results.get(RESULT_SCORE);
67+
if (!(score instanceof Double)){
68+
score = new Double(String.valueOf(score));
69+
}
6670
return Scores.builder()
6771
.ruleId(r.getId())
68-
.score((Double) results.get(RESULT_SCORE))
72+
.score((Double) score)
6973
.reason((String) results.get(RESULT_REASON))
7074
.build();
7175
} else {

flink-cyber/flink-indexing/flink-indexing-elastic/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525

2626
<properties>
2727
<main.class>com.cloudera.cyber.indexing.ElasticJobKafka</main.class>
28-
<java.version>1.8</java.version>
2928
</properties>
3029

3130
<dependencies>

flink-cyber/flink-indexing/flink-indexing-hive/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525

2626
<properties>
2727
<main.class>com.cloudera.cyber.indexing.hive.HiveJobKafka</main.class>
28-
<java.version>1.8</java.version>
2928
<hive.version>3.1.3000.${cdh.version}</hive.version>
3029
</properties>
3130

flink-cyber/flink-indexing/flink-indexing-parquet/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525

2626
<properties>
2727
<main.class>com.cloudera.cyber.indexing.ParquetJobKafka</main.class>
28-
<java.version>1.8</java.version>
2928
</properties>
3029

3130
<dependencies>

flink-cyber/flink-indexing/flink-indexing-solr/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525

2626
<properties>
2727
<main.class>com.cloudera.cyber.indexing.SolrJobKafka</main.class>
28-
<java.version>1.8</java.version>
2928
</properties>
3029

3130
<dependencies>

0 commit comments

Comments
 (0)