Skip to content

Commit

Permalink
Enforce code style
Browse files Browse the repository at this point in the history
  • Loading branch information
U039b committed Mar 29, 2024
1 parent 08e92f1 commit b58fe30
Show file tree
Hide file tree
Showing 47 changed files with 342 additions and 169 deletions.
24 changes: 21 additions & 3 deletions colander/core/admin.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,26 @@
from django.contrib import admin

from colander.core.models import ObservableType, Observable, Case, Threat, ObservableRelation, \
Artifact, ArtifactType, Event, Actor, EventType, Comment, PiRogueExperiment, EntityRelation, BackendCredentials, \
DetectionRule, UploadRequest, ColanderTeam, DetectionRuleOutgoingFeed, EntityOutgoingFeed
from colander.core.models import (
Actor,
Artifact,
ArtifactType,
BackendCredentials,
Case,
ColanderTeam,
Comment,
DetectionRule,
DetectionRuleOutgoingFeed,
EntityOutgoingFeed,
EntityRelation,
Event,
EventType,
Observable,
ObservableRelation,
ObservableType,
PiRogueExperiment,
Threat,
UploadRequest,
)


class ColanderTeamAdmin(admin.ModelAdmin):
Expand Down
17 changes: 13 additions & 4 deletions colander/core/api/serializers.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,20 @@
import magic
import pathlib

from rest_framework import serializers
import magic
from django.db import transaction
from rest_framework import serializers

from colander.core.models import Artifact, ArtifactType, Case, Device, DeviceType, UploadRequest, PiRogueExperiment, \
Observable, ObservableType
from colander.core.models import (
Artifact,
ArtifactType,
Case,
Device,
DeviceType,
Observable,
ObservableType,
PiRogueExperiment,
UploadRequest,
)
from colander.core.signals import process_hash_and_signing


Expand Down
25 changes: 20 additions & 5 deletions colander/core/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,26 @@
from rest_framework.permissions import IsAuthenticated
from rest_framework.viewsets import GenericViewSet

from colander.core.api.serializers import ArtifactSerializer, \
ArtifactTypeSerializer, CaseSerializer, DeviceSerializer, \
DeviceTypeSerializer, PiRogueExperimentSerializer, ObservableSerializer, ObservableTypeSerializer
from colander.core.models import Artifact, ArtifactType, Device, DeviceType, UploadRequest, PiRogueExperiment, \
Observable, ObservableType
from colander.core.api.serializers import (
ArtifactSerializer,
ArtifactTypeSerializer,
CaseSerializer,
DeviceSerializer,
DeviceTypeSerializer,
ObservableSerializer,
ObservableTypeSerializer,
PiRogueExperimentSerializer,
)
from colander.core.models import (
Artifact,
ArtifactType,
Device,
DeviceType,
Observable,
ObservableType,
PiRogueExperiment,
UploadRequest,
)
from colander.core.serializers.upload_request_serializers import UploadRequestSerializer


Expand Down
3 changes: 2 additions & 1 deletion colander/core/crons.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import pytz
import logging
from datetime import datetime, timedelta

import pytz
from django.core.files import File

from colander.core.models import Artifact, UploadRequest
Expand Down
1 change: 0 additions & 1 deletion colander/core/es_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

from elasticsearch.client import Elasticsearch


geoip_pipeline_id = 'geoip_pipeline'


Expand Down
8 changes: 4 additions & 4 deletions colander/core/experiment_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from yara import StringMatchInstance

from colander.core.es_utils import geoip_pipeline_id
from colander.core.models import PiRogueExperiment, PiRogueExperimentAnalysis, DetectionRule
from colander.core.models import DetectionRule, PiRogueExperiment, PiRogueExperimentAnalysis

external_packages = [
'com.android.org.conscrypt.',
Expand Down Expand Up @@ -82,7 +82,7 @@ def build_stack_traces(socket_trace_file):
trace['data']['dest_ip'] = flow_data.get('dst_ip')
trace['data']['community_id'] = flow_data.get('community_id')
traces.append(trace)
if not flow_data.get('community_id') in community_id_stack_trace:
if flow_data.get('community_id') not in community_id_stack_trace:
community_id_stack_trace[flow_data.get('community_id')] = trace

return community_id_stack_trace, traces
Expand Down Expand Up @@ -121,7 +121,7 @@ def parse_ip_layer(ip_layer: dict):
'ip': ip_layer.get('ip_ip_dst'),
'host': ip_layer.get('ip_ip_dst_host'),
}
except Exception as e:
except Exception:
return None


Expand Down Expand Up @@ -467,7 +467,7 @@ def save_decrypted_traffic(pirogue_dump_id):
aes_traces = []
if pirogue_dump.aes_trace:
aes_traces_file = f'{tmp_dir}/{aes_trace}'
with open(aes_traces_file, 'r') as aes:
with open(aes_traces_file) as aes:
aes_traces = json.load(aes)

tracker_definitions = {}
Expand Down
4 changes: 2 additions & 2 deletions colander/core/forms.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import yara
from django import forms
from django.core.exceptions import ValidationError

from colander.core.models import Case, Comment, ObservableType, DetectionRule
from django.utils.translation import gettext_lazy as _

from colander.core.models import Case, Comment, DetectionRule, ObservableType


class CaseForm(forms.ModelForm):
class Meta:
Expand Down
1 change: 0 additions & 1 deletion colander/core/graph/serializers.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
from typing import Any

from rest_framework import serializers

Expand Down
2 changes: 1 addition & 1 deletion colander/core/management/commands/fix_entity_relations.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from django.core.management.base import BaseCommand
from django.db.models import Q

from colander.core.models import EntityRelation, Entity
from colander.core.models import Entity, EntityRelation


class Command(BaseCommand):
Expand Down
12 changes: 10 additions & 2 deletions colander/core/management/commands/insert_default_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,16 @@
import pkg_resources
from django.core.management.base import BaseCommand

from colander.core.models import ArtifactType, ObservableType, ThreatType, ActorType, EventType, DeviceType, \
DetectionRuleType, DataFragmentType
from colander.core.models import (
ActorType,
ArtifactType,
DataFragmentType,
DetectionRuleType,
DeviceType,
EventType,
ObservableType,
ThreatType,
)


class Command(BaseCommand):
Expand Down
1 change: 0 additions & 1 deletion colander/core/middlewares.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from colander.core.forms import DocumentationForm
from colander.core.models import Case


# class ActiveCaseMiddleware:
# def __init__(self, get_response):
# self.get_response = get_response
Expand Down
15 changes: 5 additions & 10 deletions colander/core/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,20 @@

import django
from cryptography.exceptions import InvalidSignature
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.hazmat.primitives.asymmetric import utils
from cryptography.hazmat.primitives import hashes, serialization
from cryptography.hazmat.primitives.asymmetric import padding, rsa, utils
from django.conf import settings
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
from django.contrib.postgres.fields import HStoreField
from django.db import models
from django.db.models import F
from django.db.models import Q
from django.db.models import F, Q
from django.db.models.signals import pre_delete
from django.dispatch import receiver
from django.utils import timezone
from django.utils.functional import cached_property
from django.utils.translation import gettext_lazy as _
from django_q.models import Schedule
from elasticsearch_dsl import Document, Keyword, Date, Object, Text, Index
from elasticsearch_dsl import Date, Document, Index, Keyword, Object, Text

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -1797,7 +1792,7 @@ def analysis(self):
total = search.count()
search = search[0:total]
return search.sort('-timestamp').execute()
except Exception as e:
except Exception:
return None

def get_es_index(self):
Expand Down
2 changes: 1 addition & 1 deletion colander/core/observable_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import requests

from colander.core.artifact_utils import import_file_as_artifact
from colander.core.models import Observable, EntityRelation, ArtifactType
from colander.core.models import ArtifactType, EntityRelation, Observable


def capture_url(observable_id):
Expand Down
3 changes: 1 addition & 2 deletions colander/core/rest/serializers.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from rest_framework import serializers

import colander.core.templatetags.colander_tags
from colander.core.models import colander_models, Entity, EntityRelation
from colander.core.models import Entity, EntityRelation, colander_models
from colander.core.rest.commons import CommonTypeSerializer, KeyedListSerializer


Expand Down
19 changes: 13 additions & 6 deletions colander/core/rest/views.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,29 @@
import json

from django.contrib.auth.decorators import login_required
from django.contrib.contenttypes.models import ContentType
from django.http import JsonResponse
from rest_framework import mixins
from rest_framework.authentication import SessionAuthentication
from rest_framework.decorators import action
from rest_framework.mixins import RetrieveModelMixin
from rest_framework.permissions import IsAuthenticated
from rest_framework.viewsets import GenericViewSet, ViewSet
from rest_framework.decorators import action
from rest_framework.response import Response
from rest_framework.viewsets import GenericViewSet, ViewSet

from colander.core import datasets
from colander.core.graph.serializers import GraphRelationSerializer
from colander.core.models import Case, EntityRelation, Entity, ObservableType, Observable, Threat, ThreatType, Event, \
EventType
from colander.core.models import (
Case,
Entity,
EntityRelation,
Event,
EventType,
Observable,
ObservableType,
Threat,
ThreatType,
)
from colander.core.rest.serializers import DetailedEntitySerializer
from colander.core.views.views import get_active_case


class DatasetViewSet(ViewSet):
Expand Down
2 changes: 1 addition & 1 deletion colander/core/serializers/generic.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from rest_framework import serializers

from colander.core.models import Artifact, Device, Actor, Threat, Observable, EntityRelation, Event
from colander.core.models import Actor, Artifact, Device, EntityRelation, Event, Observable, Threat


class EntitySerializer(serializers.Serializer):
Expand Down
3 changes: 2 additions & 1 deletion colander/core/signals.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from threading import Thread

import django.dispatch
from django.core.files import File
from django.dispatch import receiver
from threading import Thread

from colander.core.models import Artifact, UploadRequest
from colander.core.utils import hash_file
Expand Down
1 change: 1 addition & 0 deletions colander/core/templatetags/colander_tags.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from base64 import urlsafe_b64encode

from django import template

register = template.Library()

@register.filter(name="model_name")
Expand Down
4 changes: 2 additions & 2 deletions colander/core/views/actor_views.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from django.contrib.auth.decorators import login_required
from django.contrib.auth.mixins import LoginRequiredMixin
from django.forms.widgets import Textarea, RadioSelect
from django.forms.widgets import RadioSelect, Textarea
from django.shortcuts import redirect
from django.utils.safestring import mark_safe
from django.views.generic import CreateView, UpdateView, DetailView
from django.views.generic import CreateView, DetailView, UpdateView

from colander.core.forms import CommentForm
from colander.core.models import Actor, ActorType
Expand Down
7 changes: 4 additions & 3 deletions colander/core/views/artifact_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,18 @@
from django.contrib.auth.decorators import login_required
from django.contrib.auth.mixins import LoginRequiredMixin
from django.db import transaction
from django.forms.widgets import Textarea, RadioSelect
from django.forms.widgets import RadioSelect, Textarea
from django.http import HttpResponse, StreamingHttpResponse
from django.shortcuts import redirect
from django.utils.safestring import mark_safe
from django.views.generic import CreateView, UpdateView, DetailView
from django.views.generic import CreateView, DetailView, UpdateView
from nacl.encoding import Base64Encoder

from colander.core.forms import CommentForm
from colander.core.models import Artifact, ArtifactType, Device, UploadRequest
from colander.core.views.views import CaseContextMixin
from colander.core.signals import process_hash_and_signing
from colander.core.views.views import CaseContextMixin


class ArtifactCreateView(LoginRequiredMixin, CaseContextMixin, CreateView):
model = Artifact
Expand Down
7 changes: 3 additions & 4 deletions colander/core/views/collaborate_views.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.contrib.auth.mixins import LoginRequiredMixin
from django.core.exceptions import PermissionDenied
from django.http import HttpResponseForbidden
from django.shortcuts import redirect
from django.urls import reverse_lazy
from django.contrib import messages
from django.views.generic import CreateView, UpdateView, DetailView
from django.views.generic import CreateView, DetailView, UpdateView

from colander.core.forms import AddRemoveTeamContributorForm
from colander.core.models import ColanderTeam
Expand Down Expand Up @@ -73,7 +72,7 @@ def add_remove_team_contributor(request, pk):
if form.is_valid():
contributor_id = form.cleaned_data['contributor_id']
if contributor_id == request.user.contributor_id and 'add_contributor' in request.POST:
messages.warning(request, f'You can not add the owner of this team as a contributor too.')
messages.warning(request, 'You can not add the owner of this team as a contributor too.')
else:
try:
contributor = User.objects.get(contributor_id=contributor_id)
Expand Down
2 changes: 1 addition & 1 deletion colander/core/views/comment_views.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from django.contrib.auth.decorators import login_required
from django.contrib.auth.mixins import LoginRequiredMixin
from django.shortcuts import redirect
from django.views.generic import DeleteView, UpdateView
from django.views.generic import UpdateView

from colander.core.forms import CommentForm
from colander.core.models import Comment
Expand Down
6 changes: 3 additions & 3 deletions colander/core/views/data_fragment_views.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
from django.contrib.auth.decorators import login_required
from django.contrib.auth.mixins import LoginRequiredMixin
from django.forms.widgets import Textarea, RadioSelect
from django.forms.widgets import RadioSelect, Textarea
from django.shortcuts import redirect
from django.utils.safestring import mark_safe
from django.views.generic import CreateView, UpdateView, DetailView
from django.views.generic import CreateView, DetailView, UpdateView

from colander.core.forms import CommentForm
from colander.core.models import DataFragment, DataFragmentType, Artifact
from colander.core.models import Artifact, DataFragment, DataFragmentType
from colander.core.views.views import CaseContextMixin


Expand Down
Loading

0 comments on commit b58fe30

Please sign in to comment.