Skip to content

BASIL - What's New, What's Next

Luigi Pellecchia

Blue TeamThe Linux Foundation42 minIntermediateOpen on YouTube ↗

Investigates BASIL - Whats New, Whats Next and evaluates key implications for security practitioners.

Summary

# Overview In this talk, Luigi Pelleia, Principal Software Quality Engineer at Red Hat and member of the ELISA Technical Steering Committee, presents BASIL, an open-source tool hosted under the ELISA Linux Foundation project. BASIL was originally developed at Red Hat to manage work items and build traceability matrices for ISO 26262 functional safety compliance certification for Red Hat In-Vehicle Operating System (Automotive Linux / rivals). The tool connects software specifications, manuals, or source code (split into snippets) with requirements, test specifications, test cases, and justification records.

# Key Topics - **Traceability Matrix Management**: BASIL maps hierarchical relationships between source code or specification snippets, software requirements, test specifications, test cases, and justification notes, calculating completeness and showing gaps in a waterfall view. - **Embedded and External Test Integration**: Incorporates Red Hat's TMT (Test Management Tool) as an embedded engine to run test suites across containers, VMs, or physical hardware via SSH. It also interfaces with external test frameworks including Linaro LAVA, GitLab CI, GitHub Actions, KernelCI, and Testing Farm. - **Recent Enhancements**: Addition of a deployment script managing Podman containers and volumes, improved user management (usernames, email configuration for password resets, granular permissions, permission cloning across components), browser independence away from Chrome-specific APIs, and requirement/test case importing. - **In-App AI Assistance**: Integration with OpenAI-compatible endpoints (demonstrated using Ramalama) to automatically generate draft test specifications and test cases from reference documentation. - **SPDX Safety SBOMs**: Generation of SPDX-based Software Bill of Materials (SBOM) in JSON format capturing the full traceability matrix and database row checksums.

# Technical Details BASIL exposes both a web user interface and an HTTP REST API, with a backend written in Flask (tested via pytest) and frontend end-to-end testing running in Cypress. Requirements can be imported from CSV, YAML, JSON, spreadsheets, StrictDoc, and SPDX JSON formats. Test cases can be scanned and imported from remote Git repositories adhering to the TMT format, such as Fedora Glibc or kernel test repos.

The tool supports external execution triggers and result parsing; during the demo, Pelleia demonstrated connecting to a local LAVA instance using preset YAML configurations, triggering a test run, viewing status and logs, and linking external test results back into the BASIL traceability matrix. Additionally, test execution parameters and scenarios can be adjusted dynamically through environment variables or TMT context variables.

# Takeaways BASIL provides an open-source, automated solution for safety-critical traceability and evidence collection. The roadmap includes: - Supporting the evolving SPDX Safety Profile (targeting version 3.1), which is also utilized by continuous compliance tools like InfoMagnus. - Project baselining directly inside the tool to capture point-in-time certification snapshots. - Migrating backend storage from SQLite to PostgreSQL to handle concurrent users, multiple workers, and multithreading. - Enhancing file management (nested folders) and expanding LAVA integration to support Jinja templating.

Related talks