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****wxyzin all output - Artifact cleanup — raw scan data in
.sentinel/collected/is purged after reporting (use--keep-artifactsto 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8a1ca9a1514477b271af7bbbfcb4b009d0b007548df3e278a01bb7e04fd9ef6
|
|
| MD5 |
918fe6d09d7c4930dcfd66d52eb5f3e3
|
|
| BLAKE2b-256 |
d132fca9752928ffec1dd29f096070fcc5d83d1eee2f059728ad97da29165c58
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9115bcb21fe139a036a9f2200fb1e8f326f8dffb3832f328c416c68e04df0f88
|
|
| MD5 |
c4327456b3a3475afff6b54cd68d82ba
|
|
| BLAKE2b-256 |
85825de09ad0c3ec3ecd5a01a9a86c97fe9aec1913ad6edab1dce2a3d1c21ba5
|