Skip to main content

CLI-first DevSecOps audit toolkit — SOC 2, CIS, OWASP CI/CD Top 10, ISO 27001

Project description

Sentinel

CLI-first DevSecOps audit toolkit by Cephalon Labs.

Sentinel scans local repository checkouts for security issues across CI/CD pipelines, source code management hygiene, hardcoded secrets, and vulnerable dependencies. It produces SOC 2, CIS Benchmark, OWASP CI/CD Top 10, and ISO 27001-mapped findings in your choice of JSON, Markdown, HTML, or PDF output.

Sentinel is an offline scanner. It works on code already on your machine — no GitLab API credentials required.


Quick Start

# 1. Install system dependencies (Arch Linux — run once with sudo)
sudo bash scripts/install-system-deps.sh

# 2. Create virtualenv and install Sentinel
bash scripts/setup-dev.sh
source .venv/bin/activate

# 3. Scan a local repository
sentinel audit /path/to/your/repo --format json

# 4. Generate a full PDF report
sentinel audit /path/to/your/repo --format pdf --format json

# 5. Run only the CI/CD module
sentinel audit /path/to/your/repo --module cicd

# 6. Scan with deep CI include resolution
sentinel audit /path/to/your/repo --module cicd --deep-include

Modules

Module What it checks
CI/CD (deep) .gitlab-ci.yml — OWASP CI/CD Top 10, missing security stages, hardcoded secrets, PPE risks, runner config, artifact integrity
SCM Git history, CODEOWNERS, LICENSE, .gitignore patterns, tracked sensitive files, unsigned commits
Secrets 150+ regex patterns + Shannon entropy across all repo files; optional git history scan
Dependencies npm, pip, Go, Cargo, Ruby — CVEs via OSV.dev (no API key), lockfile enforcement, license compliance

Compliance Frameworks

Each finding maps to one or more controls from:

  • SOC 2 Trust Service Criteria (CC6.x, CC7.x, CC8.x)
  • CIS Benchmarks (CIS GitLab, CIS Software Supply Chain)
  • OWASP CI/CD Security Top 10 (CICD-SEC-1 through CICD-SEC-10)
  • ISO 27001:2022 Annex A

Configuration

Generate an example config:

sentinel init

The sentinel.yml controls all scan behaviour. CLI flags override config values.

version: "1.0"
client:
  name: "Acme Corp"
scan:
  modules: [cicd, scm, secrets, deps]
cicd:
  deep_include: false
  required_stages: [sast, secret_detection, dependency_scanning]
deps:
  ecosystems: [npm, pip]
  ignore_cves: []
secrets:
  scan_history: false
reporting:
  formats: [json, pdf]
  output_dir: ./sentinel-reports

Output

All formats are generated from the same findings data:

Format Use case
json Machine-readable, CI integration, further processing
markdown GitLab issues/wikis, inline review
html Standalone browser report, dark/light theme
pdf Client-facing branded report for CTO presentation
sentinel audit . --format json --format pdf --format markdown

Security Design

  • Zero credential storage — authentication via environment variables only
  • Read-only — Sentinel never modifies any scanned resource
  • Secret redaction — detected secrets are shown as abcd****wxyz in all output
  • Artifact cleanup — raw scan data in .sentinel/collected/ is purged after reporting (use --keep-artifacts to retain)

Development

bash scripts/setup-dev.sh
source .venv/bin/activate
pytest
ruff check sentinel/
mypy sentinel/

License

Sentinel is open source under the GNU Affero General Public License v3.0.

For commercial use cases that require redistribution or proprietary integration, including potential additional features and active/passive support, a commercial license is available upon contact with lead developer/maintainer.

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

sentinel_audit-0.1.0.tar.gz (53.1 kB view details)

Uploaded Source

Built Distribution

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

sentinel_audit-0.1.0-py3-none-any.whl (64.7 kB view details)

Uploaded Python 3

File details

Details for the file sentinel_audit-0.1.0.tar.gz.

File metadata

  • Download URL: sentinel_audit-0.1.0.tar.gz
  • Upload date:
  • Size: 53.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for sentinel_audit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a8a1ca9a1514477b271af7bbbfcb4b009d0b007548df3e278a01bb7e04fd9ef6
MD5 918fe6d09d7c4930dcfd66d52eb5f3e3
BLAKE2b-256 d132fca9752928ffec1dd29f096070fcc5d83d1eee2f059728ad97da29165c58

See more details on using hashes here.

File details

Details for the file sentinel_audit-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sentinel_audit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 64.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for sentinel_audit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9115bcb21fe139a036a9f2200fb1e8f326f8dffb3832f328c416c68e04df0f88
MD5 c4327456b3a3475afff6b54cd68d82ba
BLAKE2b-256 85825de09ad0c3ec3ecd5a01a9a86c97fe9aec1913ad6edab1dce2a3d1c21ba5

See more details on using hashes here.

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