From 05b751bf995fb7bd16b5d8fbc186ec02861a7926 Mon Sep 17 00:00:00 2001 From: To-om Date: Tue, 3 Nov 2020 13:51:10 +0100 Subject: [PATCH] #1610 Don't update analyzer tags if job status is not success --- .../connector/cortex/services/JobSrv.scala | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/cortex/connector/src/main/scala/org/thp/thehive/connector/cortex/services/JobSrv.scala b/cortex/connector/src/main/scala/org/thp/thehive/connector/cortex/services/JobSrv.scala index 85845bedcc..55d98220ef 100644 --- a/cortex/connector/src/main/scala/org/thp/thehive/connector/cortex/services/JobSrv.scala +++ b/cortex/connector/src/main/scala/org/thp/thehive/connector/cortex/services/JobSrv.scala @@ -180,13 +180,15 @@ class JobSrv @Inject() ( } private def importAnalyzerTags(job: Job with Entity, cortexJob: CortexJob)(implicit authContext: AuthContext): Try[Unit] = - db.tryTransaction { implicit graph => - val tags = cortexJob.report.fold[Seq[ReportTag]](Nil)(_.summary.map(_.toAnalyzerTag(job.workerName))) - for { - observable <- get(job).observable.getOrFail("Observable") - _ <- reportTagSrv.updateTags(observable, job.workerName, tags) - } yield () - } + if (cortexJob.status == JobStatus.Success) + db.tryTransaction { implicit graph => + val tags = cortexJob.report.fold[Seq[ReportTag]](Nil)(_.summary.map(_.toAnalyzerTag(job.workerName))) + for { + observable <- get(job).observable.getOrFail("Observable") + _ <- reportTagSrv.updateTags(observable, job.workerName, tags) + } yield () + } + else Success(()) /** * Create observable for each artifact of the job report