Skip to content

Commit 919cb81

Browse files
FenrisfulsurMadSquirrel
authored andcommitted
Bump version 1.0.1
2 parents 2a1b865 + 849ccee commit 919cb81

55 files changed

Lines changed: 1408 additions & 203 deletions

File tree

Some content is hidden

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

.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ ELASTIC_PASSWORD=passwordSUPERPAssword
22
ELASTIC_USERNAME=bsim
33
CERTS_DIR=/cert
44
BASE_URL=ghcr.io/quarkslab/sighthouse
5-
VERSION="1.0.0"
5+
VERSION="1.0.1"

.github/workflows/ci.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,3 +135,52 @@ jobs:
135135
- name: Deploy to GitHub Pages
136136
id: deployment
137137
uses: actions/deploy-pages@v4
138+
139+
pypi:
140+
environment: release
141+
name: upload release to PyPI (${{ matrix.package }})
142+
runs-on: ubuntu-latest
143+
permissions:
144+
id-token: write
145+
strategy:
146+
matrix:
147+
package:
148+
- .
149+
- sighthouse-cli
150+
- sighthouse-client
151+
- sighthouse-core
152+
- sighthouse-frontend
153+
- sighthouse-pipeline
154+
fail-fast: false
155+
156+
steps:
157+
- uses: actions/checkout@v3
158+
159+
- uses: actions/setup-python@v4
160+
with:
161+
python-version: "3.x"
162+
163+
- name: deps
164+
run: python -m pip install -U build
165+
166+
- name: build
167+
run: python -m build ${{ matrix.package }}
168+
169+
- name: mint API token
170+
id: mint-token
171+
run: |
172+
resp=$(curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \
173+
"$ACTIONS_ID_TOKEN_REQUEST_URL&audience=pypi")
174+
oidc_token=$(jq -r '.value' <<< "${resp}")
175+
176+
resp=$(curl -X POST https://pypi.org/_/oidc/mint-token -d "{\"token\": \"${oidc_token}\"}")
177+
api_token=$(jq -r '.token' <<< "${resp}")
178+
179+
echo "::add-mask::${api_token}"
180+
echo "api-token=${api_token}" >> "${GITHUB_OUTPUT}"
181+
182+
- name: publish
183+
uses: pypa/gh-action-pypi-publish@release/v1
184+
with:
185+
password: ${{ steps.mint-token.outputs.api-token }}
186+
packages-dir: ${{ matrix.package }}/dist/

Makefile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,22 @@
1+
VERSION = 1.0.1
12

23
default: help
34

45
help: # Show help for each of the Makefile recipes.
56
@grep -E '^[a-zA-Z0-9 -]+:.*#' Makefile | sort | while read -r l; do printf "\033[1;32m$$(echo $$l | cut -f 1 -d':')\033[00m:$$(echo $$l | cut -f 2- -d'#')\n"; done
67

8+
bump: # Bump the version .
9+
@echo "[+] Bump package version $(VERSION)"
10+
@# Update docker version
11+
@sed -i "s/VERSION=.*/VERSION=\"$(VERSION)\"/" .env
12+
@# Update pyprojects
13+
@sed -i "s/version = .*/version = \"$(VERSION)\"/" sighthouse-cli/pyproject.toml
14+
@sed -i "s/version = .*/version = \"$(VERSION)\"/" sighthouse-client/pyproject.toml
15+
@sed -i "s/version = .*/version = \"$(VERSION)\"/" sighthouse-core/pyproject.toml
16+
@sed -i "s/version = .*/version = \"$(VERSION)\"/" sighthouse-frontend/pyproject.toml
17+
@sed -i "s/version = .*/version = \"$(VERSION)\"/" sighthouse-pipeline/pyproject.toml
18+
@sed -i "s/__version__ = .*/__version__ = \"$(VERSION)\"/" src/sighthouse/version.py
19+
720
lint: # Format with black and lint with ruff.
821
@echo "[+] Linting"
922
@if [ ! -d "./venv" ]; then echo "No venv detected. Please use 'make install-dev' first."; exit 1; fi
@@ -63,6 +76,10 @@ install-dev: install-hooks
6376
@. ./venv/bin/activate && pip install .[all]
6477
@. ./venv/bin/activate && pip install pytest mypy black pytest-cov
6578

79+
release:
80+
@. ./venv/bin/activate && pip install build wheel
81+
82+
6683
clean: # Clean build artefacts
6784
@echo "[+] Clean"
6885
@find . -name '__pycache__' -type d -exec rm -rf {} +
13.2 MB
Binary file not shown.

doc/docs/clients/installation.md

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,18 @@ different Software Reverse Engineering (SRE) tools.
1414
In order to run the SightHouse plugin, you will need at least [Ghidra 11.3](https://github.com/NationalSecurityAgency/ghidra/releases/tag/Ghidra_11.3_build)
1515
as it now come with Python 3 support thought pyGhidra.
1616

17-
We advise you to launch for a first time ghidra before installed this plugin.
17+
We advise you to launch for a first time ghidra before installing this plugin.
18+
19+
The easiest way to install the Ghidra plugin is to install the `sighthouse-client`
20+
package and then run the following commands.
21+
22+
```bash
23+
pip install sighthouse-client
24+
sighthouse client install ghidra --ghidra-install-dir /path/to/ghidra
25+
```
26+
27+
It's also possible to install it from the repository:
1828

19-
To install the Ghidra plugin use the following commands:
2029
```bash
2130
git clone https://github.com/quarkslab/sighthouse
2231
cd sighthouse/sighthouse-client
@@ -38,7 +47,16 @@ client dependencies and then ask you where you want to copy your script.
3847

3948
</div>
4049

41-
To install the IDA plugin use the following commands:
50+
The easiest way to install the IDA plugin is to install the `sighthouse-client`
51+
package and then run the following commands.
52+
53+
```bash
54+
pip install sighthouse-client
55+
sighthouse client install ida --ida-dir /path/to/ida_dir
56+
```
57+
58+
It's also possible to install it from the repository:
59+
4260
```bash
4361
git clone https://github.com/quarkslab/sighthouse
4462
cd sighthouse/sighthouse-client
@@ -54,7 +72,16 @@ IDA_DIR=/path/to/ida_dir make install_ida
5472

5573
</div>
5674

57-
To install the Binary Ninja plugin use the following commands:
75+
The easiest way to install the Binary Ninja plugin is to install
76+
the `sighthouse-client` package and then run the following commands.
77+
78+
```bash
79+
pip install sighthouse-client
80+
sighthouse client install binja
81+
```
82+
83+
It's also possible to install it from the repository:
84+
5885
```bash
5986
git clone https://github.com/quarkslab/sighthouse
6087
cd sighthouse/sighthouse-client

doc/docs/frontend/quickstart.md

Lines changed: 16 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,6 @@ run SightHouse without any arguments to get the help:
66
```bash
77
$ sighthouse
88

9-
_^_
10-
|@|
11-
=====
12-
#::
13-
#:: SightHouse v1.0.0
14-
#:: by: Fenrisfulsur & Madsquirrels
15-
#::
16-
#::
17-
#::
18-
###::^-..
19-
^ ~ ~~ ~~ ~ ~ ~
20-
\~~ ~~ ~ ~ ~~~~~
21-
22-
239
usage: sighthouse [-h] [--version] [-d] {package,pipeline,frontend} ...
2410

2511
SightHouse CLI
@@ -81,51 +67,35 @@ simplify this process, we provided a Docker Compose file, allowing you to deploy
8167
services:
8268
redis:
8369
image: redis:7
84-
hostname: redis
8570
volumes:
8671
- ./data/redis:/data
8772
8873
bsim_postgres:
89-
image: ghidra-bsim-postgres:1.0.0
90-
hostname: bsim_postgres
74+
image: ghcr.io/quarkslab/sighthouse/ghidra-bsim-postgres:latest
9175
volumes:
9276
- ./data/postgres:/home/user/ghidra-data
93-
ports:
94-
- 5432:5432
95-
restart: unless-stopped
96-
healthcheck:
97-
test: ["CMD-SHELL", "/ghidra/Ghidra/Features/BSim/support/pg_is_ready.sh || exit 1 "]
98-
retries: 5
99-
interval: "30s"
100-
timeout: "5s"
10177
10278
create_user:
103-
image: sighthouse:1.0.0
104-
entrypoint: '/home/user/.local/bin/sighthouse'
105-
command: 'frontend add-user -d sqlite:////data/frontend.db user -p password'
106-
restart: no
79+
image: ghcr.io/quarkslab/sighthouse/sighthouse-frontend:latest
80+
entrypoint: sighthouse
81+
command: "frontend add-user -d sqlite:////data/frontend.db user -p password"
82+
restart: "no"
10783
volumes:
10884
- ./data/frontend:/data
10985
110-
11186
sighthouse_frontend:
112-
image: sighthouse:1.0.0
113-
restart: unless-stopped
114-
entrypoint: '/home/user/.local/bin/sighthouse'
115-
command: 'frontend -g /ghidra -d sqlite:////data/frontend.db -r local://data start -w redis://redis:6379/0 -b postgresql://user@bsim_postgres:5432/bsim'
116-
healthcheck:
117-
test: ["CMD-SHELL", "curl http://localhost:6671/api/v1/ping || exit 1 "]
118-
retries: "5"
119-
interval: "60s"
120-
timeout: "5s"
121-
volumes:
122-
- ./data/frontend:/data
123-
depends_on:
124-
- create_user
125-
- bsim_postgres
126-
- redis
87+
image: ghcr.io/quarkslab/sighthouse/sighthouse-frontend:latest
88+
command: >
89+
frontend -g /ghidra -d sqlite:////data/frontend.db
90+
-r local://data start
91+
-w redis://redis:6379/0
92+
-b postgresql://user@bsim_postgres:5432/bsim
12793
ports:
12894
- "6669:6671"
95+
volumes:
96+
- ./data/frontend:/data
97+
depends_on: [create_user, bsim_postgres, redis]
12998
```
13099
131-
The frontend can then simply be started using `docker compose up -d`.
100+
The frontend can then simply be started using `docker compose up -d`.
101+
The API will be available on port 6669.

doc/docs/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ collection for function extraction, SightHouse automatically scrapes, compiles,
88
new projects. This process allows us to continuously enhance and expand the database with new
99
signatures.
1010

11+
<video autoplay muted>
12+
<source src="assets/images/demo-pwn2own.mp4" type="video/mp4"/>
13+
</video>
14+
1115
## What are you looking for ?
1216

1317
You either ended up on your own or somebody <s>forced</s> incited you to test SightHouse. In any case, you

0 commit comments

Comments
 (0)