.github/workflows | ||
blueskysight | ||
.editorconfig | ||
.gitignore | ||
.pre-commit-config.yaml | ||
CHANGELOG.md | ||
COPYING | ||
docker-compose.yml | ||
Dockerfile | ||
poetry.lock | ||
pyproject.toml | ||
README.md |
BlueSkySight
A client to gather vulnerability-related information from Bluesky. The collected data is then sent to the Vulnerability-Lookup API as sightings.
Installation
pipx is an easy way to install and run Python applications in isolated environments. It's easy to install.
$ pipx install BlueSkySight
$ export BLUESKYSIGHT_CONFIG=~/.BlueSkySight/conf.py
The configuration should be defined in a Python file (e.g., ~/.BlueSkySight/conf.py
).
You must then set an environment variable (BLUESKYSIGHT_CONFIG
) with the full path to this file.
You can have a look at this example of configuration.
With Docker
git clone https://github.com/vulnerability-lookup/BlueSkySight
cd BlueSkySight
# Make sure conf.py exists in the project root before running
docker compose up --build
Note
The docker-compose.yml expects a conf.py file in the root directory. You can create it manually or copy the provided example:
$ cp blueskysight/conf_sample.py conf.py
Streaming the Firehose
BlueSkySight-Firehose
streams data from the Bluesky's firehose and uses PyVulnerabilityLookup to create sightings in Vulnerability-Lookup.
$ BlueSkySight-Firehose
Connecting to the Bluesky firehose…
Connection established.
Streaming a Jetstream service
BlueSkySight-Jetstream
connects to Bluesky's firehose via Jetstream.
$ BlueSkySight-Jetstream --help
usage: BlueSkySight-Jetstream [-h] [--collections COLLECTIONS] [--geo {us-east,us-west}] [--instance {1,2}]
Connect to a Jetstream service.
options:
-h, --help show this help message and exit
--collections COLLECTIONS
The collections to subscribe to. If not provided, subscribe to all.
--geo {us-east,us-west}
Region of the Jetstream service.
--instance {1,2} Instance of the Jetstream service.
$ BlueSkySight-Jetstream
Connecting to the Bluesky Jetstream at wss://jetstream1.us-west.bsky.network/subscribe?wantedCollections=app.bsky.feed.post…
Connection established. Listening for messages…
License
BlueSkySight is licensed under GNU General Public License version 3
Copyright (c) 2024-2025 Computer Incident Response Center Luxembourg (CIRCL)
Copyright (C) 2024-2025 Cédric Bonhomme - https://github.com/cedricbonhomme