An intelligent agent system for processing and analyzing RHEL CoreOS (RHCOS) Common Vulnerabilities and Exposures (CVEs) using Google's Agent Development Kit (ADK) and AI models.
The CoreOS CVE Agent automatically gathers, processes, and verifies CVE information related to Red Hat Enterprise Linux CoreOS from the Red Hat Jira instance. It uses a multi-agent pipeline to:
- Query Jira for RHCOS CVEs and extract associated OCPBUGS
- Find RHEL package fixes for each CVE
- Get latest OCP versions for affected components
- Verify package presence in RHCOS builds
- Python 3.11+
- uv Python package manager
- Google API key
- Access to Red Hat Jira instance
-
Clone and install dependencies:
git clone <repository-url> cd coreos-cve-agent uv sync
-
Set up environment variables:
cp .env.example .env # Edit .env with your API keys -
Run the agent:
# Using ADK run uv run adk run # Using ADK web interface uv run adk web # Using the direct script uv run python run_agent.py
For observability and debugging, you can run Phoenix to monitor agent performance and trace execution flows:
podman run --rm -p 6006:6006 -p 4317:4317 -i -t arizephoenix/phoenix:latestAccess the Phoenix UI at http://localhost:6006 to view traces and telemetry data.
- User Guide: Comprehensive user guide with features, limitations, and usage guidelines
- Data Flow Diagram: Visual representation of system integrations and data flows
Create a .env file with the following variables:
# Gemini model configurations
GEMINI_FLASH_MODEL="gemini-2.5-flash"
GEMINI_PRO_MODEL="gemini-2.5-pro"
# Google API Key for Gemini models
GOOGLE_API_KEY="your-google-api-key"
GOOGLE_GENAI_USE_VERTEXAI="FALSE"
# Red Hat Jira credentials
JIRA_TOKEN="your-jira-token"
# OpenShift release accepted URL
OCP_RELEASE_ACCEPTED_URL="https://amd64.ocp.releases.ci.openshift.org/api/v1/releasestreams/accepted"
# Red Hat Jira URL
JIRA_URL="https://issues.redhat.com"
# Registry Authentication
REGISTRY_AUTH_FILE="you registry auth file path, ie: ${XDG_RUNTIME_DIR}/containers/auth.json"The agent uses Google's Gemini models:
- Gemini Flash (gemini-2.5-flash): For Jira queries and version lookups
- Gemini Pro (gemini-2.5-pro): For build verification tasks