archlinux/arch-security-tracker

Arch Linux Security Tracker

135

stars

478

commits

Python

primary language

Dec 14, 2025

updated

security.archlinux.org
advisory
archlinux
audit
cve
security
tracker
website

README

Arch Linux Security Tracker Build Status

The Arch Linux Security Tracker is a lightweight flask based panel for tracking vulnerabilities in Arch Linux packages, displaying vulnerability details and generating security advisories.

Features

  • Issue tracking
  • Issue grouping
  • libalpm support
  • Todo lists
  • Advisory scheduling
  • Advisory generation
  • SSO or local users

Dependencies

Application

  • python >= 3.4
  • python-sqlalchemy
  • python-sqlalchemy-continuum
  • python-flask
  • python-flask-sqlalchemy
  • python-flask-talisman
  • python-flask-wtf
  • python-flask-login
  • python-flask-migrate
  • python-authlib
  • python-email-validator
  • python-requests
  • python-scrypt
  • python-feedgen
  • python-pytz
  • python-markupsafe
  • pyalpm
  • sqlite

Tests

  • python-isort
  • python-pytest
  • python-pytest-cov

Virtualenv

Python dependencies can be installed in a virtual environment (venv), by running:

python -m venv .virtualenv
. .virtualenv/bin/activate
pip install -r requirements.txt

For running tests:

pip install -r test-requirements.txt

Setup

make

run debug mode:

make run

adding a new user:

make user

run tests:

make test

For production run it through uwsgi

Command line interface

The trackerctl script provides access to the command line interface that controls and operates different parts of the tracker. All commands and subcommands provide a --help option that describes the operation and all its available options.

Configuration

The configurations are all placed into the config directory and applied as a sorted cascade.

The default values in the 00-default.conf file should not be altered for customization. If some tweaking is required, simply create a new configuration file with a .local.conf suffix and some non zero prefix like 20-user.local.conf. Files using this suffix are on the .gitignore and not handled as untracked or dirty.

SSO setup

A simple test environment for SSO can be configured using Keycloak:

  1. Run a local Keycloak installation via docker as described upstream.

  2. Create an arch-security-tracker client in Keycloak like in test/data/openid-client.json. Make sure the client contains a mapper for the group memberships called groups which is included as a claim.

  3. Create a local tracker config file with enabled SSO and configure OIDC secrets, groups and metadata url accordingly.

Contribution

Help is appreciated, for some guidelines and recommendations check our Contribution file.

Contributors

anthraxx

394 commits

jelly

58 commits

jamietanna

3 commits

archlinux/arch-security-tracker

Arch Linux Security Tracker

135

stars

478

commits

Python

primary language

Dec 14, 2025

updated

security.archlinux.org
advisory
archlinux
audit
cve
security
tracker
website

README

Arch Linux Security Tracker Build Status

The Arch Linux Security Tracker is a lightweight flask based panel for tracking vulnerabilities in Arch Linux packages, displaying vulnerability details and generating security advisories.

Features

  • Issue tracking
  • Issue grouping
  • libalpm support
  • Todo lists
  • Advisory scheduling
  • Advisory generation
  • SSO or local users

Dependencies

Application

  • python >= 3.4
  • python-sqlalchemy
  • python-sqlalchemy-continuum
  • python-flask
  • python-flask-sqlalchemy
  • python-flask-talisman
  • python-flask-wtf
  • python-flask-login
  • python-flask-migrate
  • python-authlib
  • python-email-validator
  • python-requests
  • python-scrypt
  • python-feedgen
  • python-pytz
  • python-markupsafe
  • pyalpm
  • sqlite

Tests

  • python-isort
  • python-pytest
  • python-pytest-cov

Virtualenv

Python dependencies can be installed in a virtual environment (venv), by running:

python -m venv .virtualenv
. .virtualenv/bin/activate
pip install -r requirements.txt

For running tests:

pip install -r test-requirements.txt

Setup

make

run debug mode:

make run

adding a new user:

make user

run tests:

make test

For production run it through uwsgi

Command line interface

The trackerctl script provides access to the command line interface that controls and operates different parts of the tracker. All commands and subcommands provide a --help option that describes the operation and all its available options.

Configuration

The configurations are all placed into the config directory and applied as a sorted cascade.

The default values in the 00-default.conf file should not be altered for customization. If some tweaking is required, simply create a new configuration file with a .local.conf suffix and some non zero prefix like 20-user.local.conf. Files using this suffix are on the .gitignore and not handled as untracked or dirty.

SSO setup

A simple test environment for SSO can be configured using Keycloak:

  1. Run a local Keycloak installation via docker as described upstream.

  2. Create an arch-security-tracker client in Keycloak like in test/data/openid-client.json. Make sure the client contains a mapper for the group memberships called groups which is included as a claim.

  3. Create a local tracker config file with enabled SSO and configure OIDC secrets, groups and metadata url accordingly.

Contribution

Help is appreciated, for some guidelines and recommendations check our Contribution file.

Contributors

anthraxx

394 commits

jelly

58 commits

jamietanna

3 commits

Languages

Python

81.7%

HTML

15.5%

CSS

2.3%