Skip to content

Commit 4abcb35

Browse files
authored
Merge pull request #3608 from intelowlproject/develop
v6.6.0
2 parents 8419ace + 534c7d5 commit 4abcb35

File tree

206 files changed

+10264
-2444
lines changed

Some content is hidden

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

206 files changed

+10264
-2444
lines changed

.github/CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
[**Upgrade Guide**](https://intelowlproject.github.io/docs/IntelOwl/installation/#update-to-the-most-recent-version)
44

5+
## [v6.6.0](https://github.com/intelowlproject/IntelOwl/releases/tag/v6.6.0)
6+
A lot of minor contributions to fix bugs and improve maintenance plus some new visualizers and analyzers improvements
7+
58
## [v6.5.1](https://github.com/intelowlproject/IntelOwl/releases/tag/v6.5.1)
69
A lot of minor contributions to fix bugs and improve maintenance
710

@@ -620,7 +623,7 @@ We are proud to announce two new sponsorships today!
620623
If you are interested in helping the project through a donation, read [here](https://github.com/intelowlproject/IntelOwl/blob/master/.github/partnership_and_sponsors.md) how you can do it!
621624

622625
**New/Improved Analyzers:**
623-
- New [CyberChef](https://gchq.githuba.io/CyberChef/) Analyzer! Run your own recipes in IntelOwl! Check the [docs](https://intelowlproject.github.io/docs/advanced_usage/#cyberchef)!
626+
- New [CyberChef](https://gchq.github.io/CyberChef/) Analyzer! Run your own recipes in IntelOwl! Check the [docs](https://intelowlproject.github.io/docs/advanced_usage/#cyberchef)!
624627

625628
**Other:**
626629
- fixes: [#931](https://github.com/intelowlproject/IntelOwl/issues/931)

.github/FUNDING.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
open_collective: intelowl-project
2-
github: intelowlproject

.github/pull_request_template.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Please delete options that are not relevant.
1111
- [ ] Bug fix (non-breaking change which fixes an issue).
1212
- [ ] New feature (non-breaking change which adds functionality).
1313
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).
14+
- [ ] Chore (refactoring, dependency updates, CI/CD changes, code cleanup, docs-only changes).
1415

1516
# Checklist
1617

@@ -38,6 +39,8 @@ Please delete options that are not relevant.
3839
- [ ] I have a provided a screenshot of the result in the PR.
3940
- [ ] I have created new frontend tests for the new component or updated existing ones.
4041
- [ ] After you had submitted the PR, if `DeepSource`, `Django Doctors` or other third-party linters have triggered any alerts during the CI checks, I have solved those alerts.
42+
- [ ] I have addressed raised Copilot issues. In case of FPs, I have commented the Copilot issue and proved that it is wrong before having the comment resolved.
43+
- [ ] I have reviewed and verified any LLM-generated code included in this PR. Also, I have explicitly stated that I have used LLMs in this PR.
4144

4245
### Important Rules
4346
- If you miss to compile the Checklist properly, your PR won't be reviewed by the maintainers.

.github/workflows/codeql-analysis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
6666
# Initializes the CodeQL tools for scanning.
6767
- name: Initialize CodeQL
68-
uses: github/codeql-action/init@v4.32.0
68+
uses: github/codeql-action/init@v4.35.1
6969
with:
7070
languages: python
7171
# Override the default behavior so that the action doesn't attempt
@@ -93,4 +93,4 @@ jobs:
9393
# make release
9494

9595
- name: Perform CodeQL Analysis
96-
uses: github/codeql-action/analyze@v4.32.0
96+
uses: github/codeql-action/analyze@v4.35.1
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
permissions:
2+
contents: read
3+
packages: write
4+
5+
name: Docker Build Cache
6+
7+
on:
8+
push:
9+
branches: [develop]
10+
paths-ignore:
11+
- "**.md"
12+
- "docs/**"
13+
- "integrations/**"
14+
15+
jobs:
16+
build-main-image:
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Checkout IntelOwl
21+
uses: actions/checkout@v6.0.2
22+
23+
- name: Set image repo
24+
run: echo "IMAGE_REPO=ghcr.io/${GITHUB_REPOSITORY,,}" >> "$GITHUB_ENV"
25+
26+
- name: Set up Docker Buildx
27+
uses: docker/setup-buildx-action@v4
28+
29+
- name: Login to GHCR
30+
uses: docker/login-action@v4
31+
with:
32+
registry: ghcr.io
33+
username: ${{ github.actor }}
34+
password: ${{ secrets.GITHUB_TOKEN }}
35+
36+
- name: Build main image and push cache
37+
uses: docker/build-push-action@v7
38+
with:
39+
context: .
40+
file: docker/Dockerfile
41+
push: false
42+
build-args: |
43+
REPO_DOWNLOADER_ENABLED=false
44+
cache-from: type=registry,ref=${{ env.IMAGE_REPO }}:cache-main
45+
cache-to: type=registry,ref=${{ env.IMAGE_REPO }}:cache-main,mode=max

.github/workflows/pull_request_automation.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,16 @@ jobs:
7676
cp docker/env_file_app_template docker/env_file_app
7777
cp docker/env_file_postgres_template docker/env_file_postgres
7878
79+
- name: Set image repo
80+
run: echo "IMAGE_REPO=ghcr.io/${GITHUB_REPOSITORY,,}" >> "$GITHUB_ENV"
81+
82+
- name: Login to GHCR
83+
uses: docker/login-action@v4
84+
with:
85+
registry: ghcr.io
86+
username: ${{ github.actor }}
87+
password: ${{ secrets.GITHUB_TOKEN }}
88+
7989
- name: Startup script launch (Slow)
8090
if: contains(github.base_ref, 'master')
8191
run: |
@@ -96,7 +106,7 @@ jobs:
96106
BUILDKIT_PROGRESS: "plain"
97107
STAGE: "ci"
98108
REPO_DOWNLOADER_ENABLED: false
99-
109+
100110
- name: Docker debug
101111
if: always()
102112
run: |
@@ -154,4 +164,4 @@ jobs:
154164
- name: Test with Jest
155165
run: |
156166
npm run test -- --silent --coverage
157-
working-directory: ./frontend
167+
working-directory: ./frontend

.github/workflows/scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,6 @@ jobs:
6868

6969
# Upload the results to GitHub's code scanning dashboard.
7070
- name: "Upload to code-scanning"
71-
uses: github/codeql-action/upload-sarif@ee1e1399e292f3386c840526dac6a4dc7509ad72 # v2.22.11
71+
uses: github/codeql-action/upload-sarif@a899987af240c0578ed84ce13c02319a693e168f # v2.22.11
7272
with:
7373
sarif_file: results.sarif

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ repos:
2121
- eslint-plugin-react@7.30.0
2222
- eslint-plugin-react-hooks@4.5.0
2323
args: ["--fix"]
24-
files: frontend/src/
24+
files: frontend/(src|tests)/
2525
- repo: https://github.com/pre-commit/mirrors-prettier
2626
rev: v3.1.0
2727
hooks:
2828
- id: prettier
29-
files: frontend/src/
29+
files: frontend/(src|tests)/
3030
- repo: https://github.com/awebdeveloper/pre-commit-stylelint
3131
rev: 0.0.2
3232
hooks:

README.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
[![DeepSource](https://app.deepsource.com/gh/intelowlproject/IntelOwl.svg/?label=resolved+issues&token=BSvKHrnk875Y0Bykb79GNo8w)](https://app.deepsource.com/gh/intelowlproject/IntelOwl/?ref=repository-badge)
1616
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/intelowlproject/IntelOwl/badge)](https://api.securityscorecards.dev/projects/github.com/intelowlproject/IntelOwl)
1717
[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7120/badge)](https://bestpractices.coreinfrastructure.org/projects/7120)
18+
19+
<a href="https://trendshift.io/repositories/11483" target="_blank"><img src="https://trendshift.io/api/badge/repositories/11483" alt="intelowlproject%2FIntelOwl | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
20+
1821
# Intel Owl
1922

2023
Do you want to get **threat intelligence data** about a malware, an IP address or a domain? Do you want to get this kind of data from multiple sources at the same time using **a single API request**?
@@ -39,6 +42,8 @@ It provides:
3942
- *ingestors* that allow to automatically ingest stream of observables or files to IntelOwl itself
4043
- *playbooks* that are meant to make analysis easily repeatable
4144
- *data models* to map the different data extracted from analyzers to a single common schema
45+
- *artifacts* that are representations of observables or files that can be analyzed multiple times for different evaluations
46+
- *user events* that allow users to add custom evaluation or additional info to any artifact
4247
- A starting point for analysts' **Investigations**: users can register their findings, correlate the information found, and collaborate...all in a single place
4348

4449

@@ -63,7 +68,7 @@ You can see the full list of all available analyzers in the [documentation](http
6368

6469
As open source project maintainers, we strongly rely on external support to get the resources and time to work on keeping the project alive, with a constant release of new features, bug fixes and general improvements.
6570

66-
Because of this, we joined [Open Collective](https://opencollective.com/intelowl-project) to obtain US and EU non-profit equal level status which allows the organization to receive and manage donations transparently and with tax exemption. Please support IntelOwl and all the community by choosing a plan (BRONZE, SILVER, etc).
71+
Because of this, we joined [Open Collective](https://opencollective.com/intelowl-project) to obtain US and EU non-profit equal level status which allows the organization to receive and manage donations transparently and with tax exemption. Please support IntelOwl and all the community.
6772

6873
<a href="https://opencollective.com/intelowl-project/donate" target="_blank">
6974
<img src="https://opencollective.com/intelowl-project/donate/button@2x.png?color=blue" width=200 />
@@ -108,8 +113,8 @@ In 2022 IntelOwl joined the official [DigitalOcean Open Source Program](https://
108113

109114
Feel free to contact the main developers at any time on Twitter:
110115

111-
- [Matteo Lodi](https://twitter.com/matte_lodi): Author, Advisor and Administrator
112-
- [Daniele Rosetti](https://github.com/drosetti): Administrator and Frontend Maintainer
113-
- [Simone Berni](https://twitter.com/0ssig3no): Backend Maintainer
116+
- [Matteo Lodi](https://twitter.com/matte_lodi): Author and Principal Maintainer
117+
- [Daniele Rosetti](https://github.com/drosetti): Frontend Maintainer
114118
- [Federico Gibertoni](https://x.com/fgibertoni1): Maintainer and Community Assistant
119+
- [Simone Berni](https://twitter.com/0ssig3no): Key Contributor
115120
- [Eshaan Bansal](https://twitter.com/eshaan7_): Key Contributor

api_app/analyzers_manager/admin.py

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,18 @@
33
from django.contrib import admin
44

55
from api_app.admin import AbstractReportAdminView, PythonConfigAdminView
6-
from api_app.analyzers_manager.models import AnalyzerConfig, AnalyzerReport
6+
from api_app.analyzers_manager.models import (
7+
AnalyzerConfig,
8+
AnalyzerReport,
9+
PhishingArmyDomain,
10+
Ja4DBEntry,
11+
TorDanMeUKNode,
12+
TorExitNode,
13+
TweetFeedItem,
14+
SpamhausDropItem,
15+
StratosphereIPEntry,
16+
FireholIPEntry,
17+
)
718

819

920
# flake8: noqa
@@ -20,3 +31,51 @@ class AnalyzerConfigAdminView(PythonConfigAdminView):
2031
)
2132
list_filter = ["type", "maximum_tlp"] + PythonConfigAdminView.list_filter
2233
exclude = ["update_task"]
34+
35+
36+
@admin.register(TorExitNode)
37+
class TorExitNodeAdmin(admin.ModelAdmin):
38+
list_display = ["ip", "updated_at"]
39+
40+
41+
@admin.register(TorDanMeUKNode)
42+
class TorDanMeUKNodeAdmin(admin.ModelAdmin):
43+
list_display = ["ip", "updated_at"]
44+
45+
46+
@admin.register(PhishingArmyDomain)
47+
class PhishingArmyDomainAdmin(admin.ModelAdmin):
48+
list_display = ["domain", "updated_at"]
49+
50+
51+
@admin.register(TweetFeedItem)
52+
class TweetFeedItemAdmin(admin.ModelAdmin):
53+
list_display = ["value", "updated_at"]
54+
55+
56+
@admin.register(SpamhausDropItem)
57+
class SpamhausDropItemAdmin(admin.ModelAdmin):
58+
list_display = ["data_type", "value", "network_address", "updated_at"]
59+
list_filter = ["data_type"]
60+
search_fields = ["value", "network_address"]
61+
62+
63+
@admin.register(StratosphereIPEntry)
64+
class StratosphereIPEntryAdmin(admin.ModelAdmin):
65+
list_display = ["ip", "list_type", "rating", "updated_at"]
66+
list_filter = ["list_type"]
67+
search_fields = ["ip"]
68+
69+
70+
@admin.register(FireholIPEntry)
71+
class FireholIPEntryAdmin(admin.ModelAdmin):
72+
list_display = ["ip_or_subnet", "list_name", "network_address", "updated_at"]
73+
list_filter = ["list_name"]
74+
search_fields = ["ip_or_subnet", "network_address"]
75+
76+
77+
@admin.register(Ja4DBEntry)
78+
class Ja4DBEntryAdmin(admin.ModelAdmin):
79+
list_display = ["fingerprint_type", "fingerprint_value", "updated_at"]
80+
list_filter = ["fingerprint_type"]
81+
search_fields = ["fingerprint_value"]

0 commit comments

Comments
 (0)