Skip to content

Commit 485bc91

Browse files
authored
Merge pull request #465 from intelowlproject/develop
v2.4.0
2 parents 0e32dbc + fa96c02 commit 485bc91

File tree

150 files changed

+923
-189
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+923
-189
lines changed

.github/CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
# Changelog
22

33
[**Upgrade Guide**](https://intelowl.readthedocs.io/en/latest/Installation.html#update-to-the-most-recent-version)
4+
## [v2.4.0](https://github.com/intelowlproject/IntelOwl/releases/tag/v2.4.0)
5+
6+
We welcome new GSoC students ([Sarthak Khattar](https://twitter.com/Mr_Momo07) and [Shubham Pandey](https://twitter.com/imshubham31)) in the Organization!
7+
8+
9+
Main updates:
10+
- new release of the official GUI [IntelOwl-Ng](https://github.com/intelowlproject/IntelOwl-ng/releases/tag/v2.1.0)
11+
- added [Malpedia](https://malpedia.caad.fkie.fraunhofer.de) analyzer
12+
13+
Then a lot of maintenance and overall project stability issues solved:
14+
- removed `eventlet` broken dependency
15+
- bumped new versions of a lot of dependencies
16+
- Improved "Installation" and "Contribute" documentation
17+
- added new badges to the README
18+
- added `--django-server` [option](https://intelowl.readthedocs.io/en/latest/Contribute.html#how-to-start) to speed up development
19+
- other little refactors and fixes
420

521
## [v2.3.0](https://github.com/intelowlproject/IntelOwl/releases/tag/v2.3.0)
622
- Added [API documentation](https://intelowl.readthedocs.io) with both [Redoc](https://github.com/Redocly/redoc) and [OpenAPI](https://github.com/OAI/OpenAPI-Specification) Format

README.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
11
<img src="static_intel/intel_owl_positive.png" width=547 height=150 alt="Intel Owl"/>
22

3+
4+
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/intelowlproject/IntelOwl)](https://github.com/intelowlproject/IntelOwl/releases)
5+
[![GitHub Repo stars](https://img.shields.io/github/stars/intelowlproject/IntelOwl?style=social)](https://github.com/intelowlproject/IntelOwl/stargazers)
6+
[![Twitter Follow](https://img.shields.io/twitter/follow/intel_owl?style=social)](https://twitter.com/intel_owl)
7+
[![Official Site](https://img.shields.io/badge/official-site-blue)](https://intelowlproject.github.io)
8+
9+
310
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/intelowlproject/IntelOwl.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/intelowlproject/IntelOwl/context:python)
411
[![CodeFactor](https://www.codefactor.io/repository/github/intelowlproject/intelowl/badge)](https://www.codefactor.io/repository/github/intelowlproject/intelowl)
512
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
613
[![codecov](https://codecov.io/gh/intelowlproject/IntelOwl/branch/master/graph/badge.svg?token=R097M4TYA6)](https://codecov.io/gh/intelowlproject/IntelOwl)
7-
![Build & Tests](https://github.com/intelowlproject/IntelOwl/workflows/Build%20&%20Tests/badge.svg)
14+
[![Build & Tests](https://github.com/intelowlproject/IntelOwl/workflows/Build%20&%20Tests/badge.svg)](https://github.com/intelowlproject/IntelOwl/actions)
15+
816

917
# Intel Owl
1018

@@ -60,6 +68,8 @@ acknowledging that your use of each package will be subject to its respective
6068
license terms.
6169

6270
[osslsigncode](https://github.com/develar/osslsigncode),
71+
[PyExifTool](https://github.com/sylikc/pyexiftool),
72+
[Exiftool package](https://exiftool.org/#license),
6373
[stringsifter](https://github.com/fireeye/stringsifter),
6474
[peepdf](https://github.com/jesparza/peepdf),
6575
[pefile](https://github.com/erocarrera/pefile),
@@ -109,17 +119,13 @@ This project was created and will be upgraded thanks to the following organizati
109119

110120
Since its birth, this project has been participating in the GSoC under the Honeynet Project!
111121

112-
* 2020: a lot of [new features](https://www.honeynet.org/gsoc/gsoc-2020/google-summer-of-code-2020-project-ideas/#intel-owl-improvements) were developed by Eshaan Bansal ([Twitter](https://twitter.com/mask0fmydisguis)).
113-
* 2021: you? [Projects available](https://www.honeynet.org/gsoc/gsoc-2021/google-summer-of-code-2021-project-ideas/)
122+
* 2020: a lot of [new features](https://www.honeynet.org/gsoc/gsoc-2020/google-summer-of-code-2020-project-ideas/#intel-owl-improvements) were developed by [Eshaan Bansal](https://twitter.com/mask0fmydisguis).
123+
* 2021: [Sarthak Khattar](https://twitter.com/Mr_Momo07) and [Shubham Pandey](https://twitter.com/imshubham31) are working on these [Projects](https://www.honeynet.org/gsoc/gsoc-2021/google-summer-of-code-2021-project-ideas/)
114124

115125
Stay tuned for the upcoming GSoC! Join the [Honeynet Slack chat](https://gsoc-slack.honeynet.org/) for more info.
116126

117127
## About the author and maintainers
118128

119-
Feel free to contact the main developers at any time:
120-
- Matteo Lodi ([Twitter](https://twitter.com/matte_lodi)): Author and creator
121-
- Eshaan Bansal ([Twitter](https://twitter.com/mask0fmydisguis)): Principal maintainer
122-
123-
We also have:
124-
- a dedicated twitter account for the project: [@intel_owl](https://twitter.com/intel_owl).
125-
- [official site](https://intelowlproject.github.io) hosted in Github Pages
129+
Feel free to contact the main developers at any time in Twitter:
130+
- [Matteo Lodi](https://twitter.com/matte_lodi): Author and creator
131+
- [Eshaan Bansal](https://twitter.com/mask0fmydisguis): Principal maintainer

api_app/admin.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# This file is a part of IntelOwl https://github.com/intelowlproject/IntelOwl
2+
# See the file 'LICENSE' for copying permission.
3+
14
from django.contrib import admin
25

36
from durin.admin import AuthTokenAdmin
@@ -33,35 +36,32 @@ class CustomAuthTokenAdmin(AuthTokenAdmin):
3336
Custom admin view for AuthToken model
3437
"""
3538

36-
fieldsets = []
3739
exclude = []
3840
raw_id_fields = ("user",)
39-
readonly_fields = ("token", "expiry", "client")
40-
__fieldsets_custom = [
41-
(
42-
"Create token for PyIntelOwl",
43-
{
44-
"fields": ("user",),
45-
"description": """
41+
readonly_fields = ("token", "expiry", "created", "expires_in")
42+
43+
def get_fieldsets(self, request, obj=None):
44+
if not obj:
45+
return [
46+
(
47+
"Create token for PyIntelOwl",
48+
{
49+
"fields": ("user",),
50+
"description": """
4651
<h3>Token will be auto-generated on save.</h3>
4752
<h3>This token will be valid for 10 years.</h3>
4853
""",
49-
},
50-
),
51-
]
52-
53-
def add_view(self, request, extra_content=None):
54-
self.fieldsets = self.__fieldsets_custom
55-
return super(CustomAuthTokenAdmin, self).add_view(request)
54+
},
55+
),
56+
]
57+
return super().get_fieldsets(request, obj)
5658

5759
def has_change_permission(self, *args, **kwargs):
5860
return False
5961

6062
def save_model(self, request, obj, form, change):
61-
client = Client.objects.get(name="pyintelowl")
62-
obj = AuthToken.objects.create(
63-
user=obj.user, client=client
64-
) # lgtm [py/unused-local-variable]
63+
obj.client = Client.objects.get(name="pyintelowl")
64+
super(CustomAuthTokenAdmin, self).save_model(request, obj, form, change)
6565

6666

6767
admin.site.register(Job, JobAdminView)

api_app/api.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# This file is a part of IntelOwl https://github.com/intelowlproject/IntelOwl
2+
# See the file 'LICENSE' for copying permission.
3+
14
import logging
25

36
from api_app import models, serializers, helpers
@@ -485,7 +488,11 @@ class JobViewSet(
485488
viewsets.GenericViewSet,
486489
):
487490

488-
queryset = models.Job.objects.order_by("-received_request_time").all()
491+
queryset = (
492+
models.Job.objects.prefetch_related("tags")
493+
.order_by("-received_request_time")
494+
.all()
495+
)
489496
serializer_class = serializers.JobSerializer
490497
serializer_action_classes = {
491498
"list": serializers.JobListSerializer,

api_app/apps.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# This file is a part of IntelOwl https://github.com/intelowlproject/IntelOwl
2+
# See the file 'LICENSE' for copying permission.
3+
14
from django.apps import AppConfig
25

36

api_app/auth.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# This file is a part of IntelOwl https://github.com/intelowlproject/IntelOwl
2+
# See the file 'LICENSE' for copying permission.
3+
14
import logging
25

36
from django.contrib.auth import login, logout
@@ -11,8 +14,7 @@
1114

1215

1316
class LoginView(durin_views.LoginView):
14-
@staticmethod
15-
def get_client_obj(request):
17+
def get_client_obj(self, request):
1618
return Client.objects.get(name="web-browser")
1719

1820
def post(self, request, *args, **kwargs):

api_app/crons.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# This file is a part of IntelOwl https://github.com/intelowlproject/IntelOwl
2+
# See the file 'LICENSE' for copying permission.
3+
14
import datetime
25
import logging
36

api_app/documents.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# This file is a part of IntelOwl https://github.com/intelowlproject/IntelOwl
2+
# See the file 'LICENSE' for copying permission.
3+
14
from django_elasticsearch_dsl import Document, fields
25
from django_elasticsearch_dsl.registries import registry
36
from .models import Job

api_app/exceptions.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# This file is a part of IntelOwl https://github.com/intelowlproject/IntelOwl
2+
# See the file 'LICENSE' for copying permission.
3+
4+
15
class NotRunnableAnalyzer(Exception):
26
pass
37

api_app/helpers.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# This file is a part of IntelOwl https://github.com/intelowlproject/IntelOwl
2+
# See the file 'LICENSE' for copying permission.
3+
14
# general helper functions used by the Django API
25

36
import json

0 commit comments

Comments
 (0)