Skip to content

Commit b29384a

Browse files
committed
feat: add the report summaries guide
Signed-off-by: Nicolas Crocfer <[email protected]>
1 parent 3ae012a commit b29384a

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

docs/guides/report_summaries.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Report Summaries with AI
2+
3+
## Overview
4+
5+
OpenCVE includes a feature that automatically generates **daily summaries of reports** using a Large Language Model (LLM).
6+
7+
Each night at **2:00 AM UTC**, an Airflow DAG (`summarize_reports`) collects all the reports created the previous day and generates a concise summary for each of them by calling an LLM.
8+
9+
This feature is especially useful for quickly identifying what really matters in the list of CVEs of the day, without having to manually read through each report in full.
10+
11+
!!! info "Reminder"
12+
13+
A report is always linked to a project. It gathers all modifications concerning CVEs related to this project.
14+
15+
A CVE is related to a project when the project is subscribed to at least one of the CVE’s vendors or products.
16+
17+
![Report Summary](../images/guides/report_summaries/report-summary.png){.center style="width:100%"}
18+
19+
## Availability
20+
21+
!!! info
22+
23+
On [OpenCVE.io](https://www.opencve.io), this feature is enabled for **Starter**, **Pro**, and **Enterprise** customers.
24+
25+
If you are using the [on-premise version](https://github.com/opencve/opencve) of OpenCVE, you can also enable this feature, provided you have access to an API compatible with the **OpenAI API format** (Chat Completions endpoint).
26+
27+
Compatible providers include:
28+
29+
- OpenAI (ChatGPT models)
30+
- Anthropic (Claude models via OpenRouter)
31+
- Mistral (Mixtral, Mistral Small, etc.)
32+
- Llama.cpp (local inference with OpenAI-compatible API)
33+
- Ollama (self-hosted LLMs with OpenAI API compatibility)
34+
- Any other API exposing an OpenAI-compatible `/v1/chat/completions` endpoint
35+
36+
## Configuration
37+
38+
To enable report summarization on your own deployment, you need to configure the LLM endpoint in your Airflow scheduler.
39+
40+
Edit the file `scheduler/airflow.cfg` and update the following section:
41+
42+
````
43+
# The starting date of the summarize_reports workflow
44+
start_date_summarize_reports = 2025-08-28
45+
46+
# The configuration for the LLM
47+
llm_api_key = sk-proj-1234567890
48+
llm_api_url = https://api.example.com
49+
llm_model = Mistral-7B-Instruct-v0.3
50+
````
51+
52+
- `llm_api_key`: API key used for authentication (set to notused if not required by your provider).
53+
- `llm_api_url`: Base URL of your OpenAI-compatible API.
54+
- `llm_model`: Identifier of the model to use (provider-dependent).
55+
56+
## Activating the DAG
57+
58+
Once the configuration is in place, you need to activate the Airflow DAG named `summarize_reports`.
59+
60+
You can do this from the Airflow UI:
61+
62+
- Open the DAGs list.
63+
- Locate the DAG `summarize_reports`.
64+
- Switch it to active.
65+
66+
From now on, every night at 2:00 AM UTC, the summaries of all reports created the previous day will be automatically generated.
533 KB
Loading

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ nav:
3232
- Views: 'guides/views.md'
3333
- Social Authentication: 'guides/social_auth.md'
3434
- Migrate OpenCVE v1 data: 'guides/migrate_opencve_v1.md'
35+
- Report Summaries: 'guides/report_summaries.md'
3536
- SMTP Configuration: 'guides/smtp_configuration.md'
3637
- API:
3738
- Introduction: 'api/index.md'

0 commit comments

Comments
 (0)