Skip to main content

AI-powered intelligence layer for the sys-scan-graph security scanner.

Project description

sys-scan-graph

sys-scan-graph Logo

System Security Scanner & Intelligence Graph

Sys-Scan-Graph is a high-speed security analysis tool that transforms raw data from multiple security surfaces into a unified, actionable report.

CodeScene Analysis CodeScene Average Code Health CodeScene System Mastery

This directory contains the optional Python intelligence layer, published as the sys-scan-agent package. It consumes JSON produced by the C++ core scanner and enriches/summarizes results locally.

Key Features

  • Local-first analysis of sys-scan JSON reports
  • CLI entry points provided by the package (sys-scan-graph, sys-scan-intelligence)
  • Deterministic outputs via canonicalization and stable ordering
  • Optional artifacts such as HTML reports (configured via config.yaml) and metrics export (--metrics-out)

Quick Start

Installation

The intelligence layer is installed separately from the C++ core.

python3 -m venv .venv
source .venv/bin/activate

pip install -U pip
pip install sys-scan-agent

Optional local-LLM dependencies:

pip install \
  langgraph langchain-core \
  torch transformers peft accelerate safetensors huggingface_hub

Optional external inference dependencies (LangChain API provider):

# IMPORTANT: You must provide your own provider credentials (not bundled with this project).
pip install langchain langchain-openai langchain-anthropic

Basic Usage

# Run the C++ core scanner (from the repo root)
./build/sys-scan --canonical --output report.json

# Analyze/enrich with the Python layer
source .venv/bin/activate
sys-scan-graph analyze --report report.json --out enriched_report.json

Generate HTML Report

# Enable HTML generation in ./config.yaml, then run:
sys-scan-graph analyze --report report.json --out enriched_report.json

Documentation

For detailed documentation, see our comprehensive wiki:

  • Architecture Overview - High-level system architecture, core vs intelligence layer responsibilities
  • Core Scanners - Scanner implementations, signals, output formats, and schemas
  • Intelligence Layer - Pipeline stages, LangGraph orchestration, LLM providers, data governance

Additional Resources

  • Rules Engine - Rule file formats, MITRE aggregation, severity overrides, validation
  • CLI Guide - Complete command reference
  • Extensibility - Adding custom scanners and rules

Repository Structure

This repository contains:

  • Core Scanner (src/, CMakeLists.txt) - High-performance C++ scanning engine
  • Intelligence Layer (agent/) - Python package (sys-scan-agent) for analysis and enrichment
  • Rules (rules/) - Security rules and MITRE ATT&CK mappings
  • Documentation (docs/wiki/) - Comprehensive project documentation
  • Tests (tests/, agent/tests/) - Test suites for both components

Key Design Principles

  • Type-safe architecture with a C++23 toolchain using C++20 modules and dependency injection via ScanContext
  • Deterministic, reproducible results with stable ordering and canonicalization in the Python layer
  • Local-first security posture: no outbound LLM API calls by default; optional external inference is explicit opt-in
  • Thread-safe parallelization with mutex-protected report aggregation
  • Extensible plugin system supporting custom scanners, rules, and LLM providers
  • Comprehensive testing via CTest (C++) and pytest (Python)

Licensing

This project is licensed under the Apache License 2.0. See LICENSE for complete licensing details.


Support & Community


Mazzlabs Logo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sys_scan_agent-7.0.0.tar.gz (281.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sys_scan_agent-7.0.0-py3-none-any.whl (188.9 kB view details)

Uploaded Python 3

File details

Details for the file sys_scan_agent-7.0.0.tar.gz.

File metadata

  • Download URL: sys_scan_agent-7.0.0.tar.gz
  • Upload date:
  • Size: 281.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sys_scan_agent-7.0.0.tar.gz
Algorithm Hash digest
SHA256 0422fb4ca92f2d0a70bb0157a18c32c7330c903f93c79d556b7549659dbc6443
MD5 362bde5d8ed1ae1ff4d2fe744686711f
BLAKE2b-256 ae568c0d04463d8c12ff7a9b266957bde7801fb772d8309f3cffcbdb6329240f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sys_scan_agent-7.0.0.tar.gz:

Publisher: publish-pypi.yml on J-mazz/sys-scan-graph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sys_scan_agent-7.0.0-py3-none-any.whl.

File metadata

  • Download URL: sys_scan_agent-7.0.0-py3-none-any.whl
  • Upload date:
  • Size: 188.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sys_scan_agent-7.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92a2200d1e76998237754154c5da0c9a4875e3bfce45fd151f04082ea0d726cd
MD5 97a3818e9cf48e51c8146d29b5513fe0
BLAKE2b-256 be8728a833f00b58c4ed7abe57cc0c0f18e8b824234c60f90b6f54b81b1c8a10

See more details on using hashes here.

Provenance

The following attestation bundles were made for sys_scan_agent-7.0.0-py3-none-any.whl:

Publisher: publish-pypi.yml on J-mazz/sys-scan-graph

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page