Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
d0aeafe
Switch core library to shuriken-based
zinwang Jan 19, 2025
f514ac5
Set shuriken version in CI and setup.py
zinwang Jan 20, 2025
6cc023e
fix shuriken init in forensic.py
zinwang Jan 20, 2025
705a810
Fix the smoke tests
haeter525 Jan 21, 2025
7b52d9d
Fix quark script api, Method.findSuperclassHierarchy
haeter525 Jan 21, 2025
c850919
Fix missing semicolons
haeter525 Jan 22, 2025
3b6dc6e
Remove uncessary output for isDebuggable API
zinwang Jan 24, 2025
d58c2d7
Set shuriken version in CI for Linux
zinwang Jan 24, 2025
879cd9e
Add Shuriken Analyzer to Pipfile
haeter525 Jan 23, 2025
1aeb3fc
Check if the descriptors from Quark rules miss a semicolon at the end
haeter525 Jan 24, 2025
51ba338
Fix adding semicolon to empty class
haeter525 Jan 24, 2025
004da8d
Update tests because Shuriken extracts more strings
haeter525 Jan 26, 2025
e8df1d6
Update Shuriken version
haeter525 Jan 26, 2025
675a578
Update shuriken version
zinwang Mar 10, 2025
3b32709
Add cmake in docker for shuriken
zinwang Mar 10, 2025
a01149e
Fix kali deb build
zinwang Mar 12, 2025
f212250
Update shuriken version
zinwang Mar 25, 2025
097e015
Fix pep8 issue
zinwang Mar 25, 2025
2cddb35
Update expected number of strings in pytest for shuriken
zinwang Mar 25, 2025
1759dd0
Update expected number of strings in pytest for shuriken
zinwang Mar 25, 2025
67208a2
Choose Debian Trixie as Docker base image
sidra-asa Mar 26, 2025
e5bb06d
Make shuriken optional
zinwang Apr 1, 2025
b1c7ec0
Modify warning message for users not having shuriken installed
zinwang Apr 1, 2025
b8d4c96
Fix docker push CI
zinwang Apr 1, 2025
062cb47
Fix kali deb package
zinwang Apr 1, 2025
e3a639f
Update installing method in the docs
zinwang Apr 2, 2025
0f5d727
Merge branch 'master' of https://github.com/quark-engine/quark-engine…
zinwang Apr 2, 2025
f29454e
Fix Codacy issues.
sidra-asa Apr 6, 2025
8203fa7
Modify warning message for users not having shuriken installed
zinwang Apr 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,6 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Build the Docker image
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)
run: |
cp .github/workflows/ping .
docker build . --file Dockerfile --tag my-image-name:$(date +%s)
5 changes: 4 additions & 1 deletion .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:

- name: Run tests
run: |
cp .github/workflows/ping .
if [ -f docker-compose.test.yml ]; then
docker-compose --file docker-compose.test.yml build
docker-compose --file docker-compose.test.yml run sut
Expand All @@ -48,7 +49,9 @@ jobs:
- uses: actions/checkout@v3

- name: Build image
run: docker build . --file Dockerfile --tag $IMAGE_NAME
run: |
cp .github/workflows/ping .
docker build . --file Dockerfile --tag $IMAGE_NAME

- name: Log into registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/kali-package.dockerfile
Original file line number Diff line number Diff line change
@@ -1,15 +1,24 @@
From kalilinux/kali-rolling:latest

RUN apt-get update -y && apt-get install --no-install-recommends -y \
git python3 python3-pip debhelper \
git python3 python3-pip debhelper cmake gcc-13 g++-13\
dh-virtualenv build-essential devscripts equivs \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

ENV CC=gcc-13 CXX=g++-13

COPY ping /usr/bin/ping
RUN chmod +x /usr/bin/ping

WORKDIR /root/
COPY quark-engine /root/quark-engine

WORKDIR /root/quark-engine
RUN shurikenCommit='b26778813b487aa55e7e183d153ec83300f4e075' && \
shurikenSource="\"ShurikenAnalyzer @ git+https://github.com/Fare9/Shuriken-Analyzer.git@$shurikenCommit#subdirectory=shuriken/bindings/Python/\"," && \
sed -i "s|required_requirements = \[|required_requirements = [\n $shurikenSource|" setup.py

RUN touch Makefile

CMD ["dpkg-buildpackage", "-us", "-uc", "-b"]
1 change: 1 addition & 0 deletions .github/workflows/kali-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ jobs:
run: |
cd ..
cp quark-engine/.github/workflows/kali-package.dockerfile .
cp quark-engine/.github/workflows/ping .
docker build . --file kali-package.dockerfile -t packaging_for_kali
cd -

Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/ping
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/bash

cat <<< "PING www.google.com (142.250.196.196) 56(84) bytes of data.
64 bytes from nctsaa-ac-in-f4.1e100.net (142.250.196.196): icmp_seq=1 ttl=115 time=44.5 ms
64 bytes from nctsaa-ac-in-f4.1e100.net (142.250.196.196): icmp_seq=2 ttl=115 time=227 ms

--- www.google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 44.475/135.747/227.019/91.272 ms"

2 changes: 1 addition & 1 deletion .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:

- name: Install Shuriken-Analyzer
run: |
pip install git+https://github.com/Fare9/Shuriken-Analyzer.git@main#subdirectory=shuriken/bindings/Python/
pip install git+https://github.com/Fare9/Shuriken-Analyzer.git@b26778813b487aa55e7e183d153ec83300f4e075#subdirectory=shuriken/bindings/Python/

- name: Install Quark-Engine
run: pip install .
Expand Down
10 changes: 2 additions & 8 deletions .github/workflows/smoke_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,9 @@ jobs:
# Install click <= 8.1.7 for CLI supports
python -m pip install "click<=8.1.7"

- name: Install Shuriken-Analyzer for Linux
- name: Install Shuriken-Analyzer
run: |
pip install git+https://github.com/Fare9/Shuriken-Analyzer.git@main#subdirectory=shuriken/bindings/Python/
if: matrix.os == 'ubuntu-latest'

- name: Install Shuriken-Analyzer for MacOS
run: |
pip install git+https://github.com/Fare9/Shuriken-Analyzer.git@main#subdirectory=shuriken/bindings/Python/
if: matrix.os == 'macos-13'
pip install git+https://github.com/Fare9/Shuriken-Analyzer.git@b26778813b487aa55e7e183d153ec83300f4e075#subdirectory=shuriken/bindings/Python/

- name: Install MacPorts
uses: melusina-org/setup-macports@v1
Expand Down
32 changes: 29 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,39 @@
FROM python:3.10-slim
FROM debian:trixie

COPY . /app
WORKDIR /app

RUN apt-get update && apt-get install --no-install-recommends -y git graphviz \
COPY ping /usr/bin/ping
RUN chmod +x /usr/bin/ping

RUN apt-get update \
&& apt-get install --no-install-recommends -y git=1:2.47.2-0.1 \
graphviz=2.42.4-3 cmake=3.31.6-1 \
build-essential=12.12 gcc-13=13.3.0-13 \
g++-13=13.3.0-13 ca-certificates=20241223 \
zlib1g-dev=1:1.3.dfsg+really1.3.1-1+b1 \
libgdbm-dev=1.24-2 libnss3-dev=2:3.109-1 \
libssl-dev=3.4.1-1 libreadline-dev=8.2-6 \
libffi-dev=3.4.7-1 libsqlite3-dev=3.46.1-2 \
wget=1.25.0-2 libbz2-dev=1.0.8-6 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

RUN pip install pipenv && pipenv install --skip-lock
RUN wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz \
&& tar -xvf Python-3.10.0.tgz

WORKDIR /app/Python-3.10.0
RUN ./configure \
&& make \
&& make altinstall

WORKDIR /app
RUN ln -s /usr/local/bin/python3.10 /usr/bin/python \
&& ln -s /usr/local/bin/pip3.10 /usr/bin/pip

ENV CC=gcc-13 CXX=g++-13
RUN pip install --upgrade pipenv==2024.4.1 pip==25.0.1 \
&& pipenv install --skip-lock
RUN pipenv run freshquark

WORKDIR /app/quark
Expand Down
3 changes: 2 additions & 1 deletion Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ sphinx-rtd-theme = "*"
prettytable = "<=2.4.0"
tqdm = "<=4.66.5"
colorama = "<=0.4.4"
quark-engine = {editable = true,path = "."}
click = "<=8.1.7"
androguard = "==3.4.0a1"
graphviz = "<=0.18.2"
Expand All @@ -25,6 +24,8 @@ frida-tools = "<=12.3.0"
objection = "<=1.11.0"
frida = "<=15.2.2"
r2pipe = "==1.8.0"
shurikenanalyzer = {ref = "b26778813b487aa55e7e183d153ec83300f4e075", git = "https://github.com/Fare9/Shuriken-Analyzer.git", subdirectory = "shuriken/bindings/Python/"}
quark-engine = {file = ".", editable = true}

[requires]
python_version = "3.10"
Expand Down
Loading
Loading