Skip to content

OPERATIONS

Andrii Sheiko edited this page Jun 23, 2026 · 10 revisions

Operations

Python Versions

  • рекомендована версія Python для deployment і локальної розробки: 3.11+
  • rule-service підтримує Python 3.11+
  • local-agent підтримує Python 3.8+

Typical Rollout

1. Build Ubuntu rules

/opt/rule-service/run-rule-builder.sh \
  --canonical-cves \
  --releases focal,jammy,noble \
  --output-dir /srv/www/pycve/rules

2. Build Ubuntu rules via OVAL (альтернатива)

/opt/rule-service/run-rule-builder.sh \
  --ubuntu-oval \
  --releases focal,jammy,noble \
  --output-dir /srv/www/pycve/rules

3. Build Debian rules

/opt/rule-service/run-rule-builder.sh \
  --debian-cves \
  --releases bookworm,bullseye,trixie \
  --output-dir /srv/www/pycve/rules

4. Build or refresh priority payload

Повний build разом із rules:

/opt/rule-service/run-rule-builder.sh \
  --canonical-cves \
  --releases focal,jammy,noble \
  --output-dir /srv/www/pycve/rules \
  --write-priority

Швидкий refresh без rebuild rules:

/opt/rule-service/run-rule-builder.sh \
  --output-dir /srv/www/pycve/rules \
  --priority-only

З ручними override:

/opt/rule-service/run-rule-builder.sh \
  --output-dir /srv/www/pycve/rules \
  --priority-only \
  --manual-priority-file /srv/www/pycve/manual-priority.json

Agent Usage

Базовий режим:

/opt/local-agent/run-local-agent.sh \
  --rules-base-url https://host/rules

Тільки kernel:

/opt/local-agent/run-local-agent.sh \
  --rules-base-url https://host/rules \
  --kernel-only

Тільки packages:

/opt/local-agent/run-local-agent.sh \
  --rules-base-url https://host/rules \
  --packages-only

Тільки precise findings з published fixed version:

/opt/local-agent/run-local-agent.sh \
  --rules-base-url https://host/rules \
  --fixed-only

Показати більше CVE у stdout:

/opt/local-agent/run-local-agent.sh \
  --rules-base-url https://host/rules \
  --cve-limit 20

Показати всі знайдені CVE:

/opt/local-agent/run-local-agent.sh \
  --rules-base-url https://host/rules \
  --show-all-cves

Static Hosting

Static host має віддавати:

  • /rules/<release>.json
  • /rules/cve-priority.json

Наприклад, якщо були згенеровані focal, jammy і bookworm, server може віддавати:

  • https://host/rules/focal.json
  • https://host/rules/jammy.json
  • https://host/rules/bookworm.json
  • https://host/rules/cve-priority.json

Recommended Jobs

Ubuntu rules:

0 3 * * * /opt/rule-service/run-rule-builder.sh --canonical-cves --releases focal,jammy,noble --output-dir /srv/www/pycve/rules >> /var/log/pycve-rule-builder.log 2>&1

Ubuntu rules via OVAL (якщо обрано замість --canonical-cves):

0 3 * * * /opt/rule-service/run-rule-builder.sh --ubuntu-oval --releases focal,jammy,noble --output-dir /srv/www/pycve/rules >> /var/log/pycve-rule-builder.log 2>&1

Debian rules:

0 4 * * 1 /opt/rule-service/run-rule-builder.sh --debian-cves --releases bookworm,bullseye,trixie --output-dir /srv/www/pycve/rules >> /var/log/pycve-rule-builder.log 2>&1

Priority refresh:

0 * * * * /opt/rule-service/run-rule-builder.sh --output-dir /srv/www/pycve/rules --priority-only >> /var/log/pycve-priority.log 2>&1

Agent run:

*/15 * * * * /opt/local-agent/run-local-agent.sh --rules-base-url https://host/rules >> /var/log/local-agent.log 2>&1

Notes

  • --priority-only не потребує source flag
  • cve-priority.json не заміняє applicability rules
  • --ubuntu-oval є практичною альтернативою до --canonical-cves: дані еквівалентні за якістю для основних пакетів, один HTTP-запит на release, без rate limit — але кожен запуск завантажує повний файл (~150-200MB на release)

Operational Notes

  • якщо під час --canonical-cves build з’явилися canonical-feed.checkpoint.json і canonical-feed.checkpoint.json.records.jsonl, це нормальний resume state
  • якщо build ще не завершився, ці файли не треба видаляти
  • --priority-only працює тільки від already built release rulesets у --output-dir
  • якщо cve-priority.json не оновився через timeout до KEV/EPSS, applicability rules при цьому лишаються валідними

Clone this wiki locally