scanoss/engine

SCANOSS Open Source Inventory Engine

View on GitHub ↗Jump to charts ↓

scanoss/engine has 40+ stars and 20+ forks on GitHub, is written in C, and was last pushed on Oct 16, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 minute ago
Added to GitGenius on November 17th, 2025
Created on July 12th, 2020
Open Issues & Pull Requests: 5 (+0)
GitHub issues: Enabled
Number of forks: 20
Total Stargazers: 43 (+0)
Total Subscribers: 5 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 21.5 hours
Mean response time: 4.3 days
90th percentile: 18.4 days
Tracked items: 6

Maintainer activity

1 person did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 11, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits. How this is counted.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 2
Closed in 7 days: 1
Avg open age: 1 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 2
Closed in 7 days: 1
Comments in 7 days: 1
Events in 7 days: 7

Top labels

  • bug (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

The SCANOSS Open Source Engine is a command-line tool written in C designed to perform open source software inventory analysis by comparing files and directories against the SCANOSS Knowledge Base. The engine enables developers to identify open source components, detect licenses, and assess vulnerabilities in their codebase from the earliest stages of development, shifting the software bill of materials creation process from a post-development audit to continuous real-time analysis.

The engine operates by matching scanned files through a hierarchical process. It first attempts to match files against entire packages by comparing them to downloaded archives, producing a "url" type identification. If that fails, it matches against known complete files for a "file" type identification. When neither succeeds, the engine performs snippet comparison using snippet hashes to identify partial matches, generating a "snippet" type identification. Files that match none of these criteria receive a "none" type identification. The engine includes a sophisticated file ranking algorithm that uses component hints, release dates, and SBOM ingestion to determine the best match when files appear across multiple components and versions.

Configuration options provide granular control over scanning behavior. Basic settings include processing targets as WFP files, enabling High Precision Snippet Match mode, and adjusting parameters like maximum snippets per file, component limits, and tolerance thresholds. The engine supports SBOM integration in CycloneDX and SPDX 2.2 formats, allowing users to include assets from existing SBOMs or blacklist specific components. Additional features include attribution notice generation, license metadata display, and comprehensive license reporting capabilities.

The engine provides multiple scanning flags that can be toggled to disable or enable specific analysis types including snippet matching, dependencies, licenses, copyrights, vulnerabilities, quality assessment, cryptography analysis, and health layer evaluation. These flags can be set via command-line parameters or configuration files. Environment variables allow customization of the snippet scanning match map size and API endpoint configuration for source file retrieval.

The engine requires the SCANOSS LDB shared library version 4.1.0 or higher and libgcrypt-dev as prerequisites. It outputs results in JSON format to standard output, allowing easy integration into existing development workflows and toolchains. The tool is released under the GPL 2.0 license and represents a developer-focused approach to compliance and supply chain security by embedding open source analysis directly into the development process rather than treating it as a separate compliance step.