CBE — Cyber-Butler Enforcement gate
Who it is for: platform, security, and release engineers who need a deterministic gate between “CI passed” and “this artifact may ship”.
What it solves: CBE turns rule-pack manifests into an enforceable release gate: it validates the pack, runs providers, rejects disable/skip attempts, emits SARIF, and produces a machine-readable gate report plus a Release-body fragment. It is a sibling of CBS, CBP, and CBM, not a replacement for them.
How to start:
python -m pip install cbe-review
cbe --help
cbe validate-manifest --manifest rules.json \
--package-type cbs --package-version v1.7.0
Important:
pip install cbeinstalls a different project (Crossroads Bank for Enterprises). This project is distributed ascbe-review. Its import package and CLI are stillcbe.
Install
python -m pip install cbe-review
Requires Python 3.10+. Runtime dependencies: jsonschema and pyyaml.
From a GitHub Release, use the attached
cbe_review-0.1.1-py3-none-any.whl (or the sdist).
Quick start
# Validate a rule pack
cbe validate-manifest --manifest rules.json
# Run providers and write evidence
cbe run-provider --manifest rules.json --source-root . --out-dir out --all
# Enforce no-bypass rules
cbe enforce-no-bypass --manifest rules.json --source-root . \
--package-type cbs --package-version v1.7.0 --workflows
# Build a symbol index / merge SARIF
cbe symbol-index --source-root . --out out/symbol-index.json
cbe emit-sarif --manifest rules.json --run-report out/run.json \
--source-root . --out out/cbe.sarif
Exit codes: 0 PASS, 2 input/format error, 3 gate failure or SKIPPED_INFRA, 4 skip ratio > 20%.
What CBE checks
- Rule-pack schema and semantics, including canonical manifest hash.
- Provider execution and SARIF/JSON artifact validation.
- No-bypass controls across config, source comments, environment, and GitHub Actions workflows.
- Workflow gate-job reachability, including local reusable-workflow delegation.
- CBE report identity, counts, skip ratio, and Release-body Section B.
Dynamic workflow expressions are not guessed. By default they are reported as
UNVERIFIABLE_* warnings; use enforce-no-bypass --strict to turn the
unverifiable conditions into exit 3.
Project links
- Homepage / repository: https://github.com/JunxiangPan/cbe
- Issues: https://github.com/JunxiangPan/cbe/issues
- CLI reference: docs/CLI_V1.md
- Rule-pack schema: docs/RULE_PACK_MANIFEST_V1.md
- E2E matrix: docs/E2E_MATRIX_V1.md
- Boundaries: docs/BOUNDARIES_V1.md
- 0.1.1 metadata/licensing note: docs/CBE-0.1.1_METADATA.md
- Mutation recall: tests/mutation/README.md
- Signing/attestation: docs/SIGNING.md
- Self-protection: docs/SELF_PROTECTION.md
- Threat model: docs/THREAT_MODEL.md
- Package name: docs/PACKAGE_NAME.md
- Schema integration: docs/SCHEMA_INTEGRATION.md
Topics: release-gate, sarif, supply-chain, provenance, python.
Status and compatibility
CBE 0.1.1 is released on GitHub and PyPI
(cbe-review==0.1.1).
This tree is 0.2.0 development, adding quantified mutation recall, opt-in
remote reusable-workflow closure, sidecar signing/attestation schemas and an
offline verifier, self-protection, and 80% coverage.
0.1.0 remains available for historical installs
(cbe-review==0.1.0); its
metadata is immutable. The 0.1.0/0.1.1 artifacts and tags are unchanged.
License
Apache License 2.0. See LICENSE.
Development
python -m pip install -e ".[e2e]"
pytest
pytest tests/unit --cov=cbe --cov-fail-under=80
The CI matrix runs Ubuntu and Windows on Python 3.10. The 80% gate covers unit coverage; E2E commands run in subprocesses and are not counted by coverage. There is no suppression/omit list.
Metadata
Release files for cbe-review 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cbe_review-0.2.0.tar.gz | 47.2 kB | With provenance | Details for cbe_review-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cbe_review-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for cbe_review-0.2.0-py3-none-any.whl |
Total release size: 104.4 kB
Release files / cbe_review-0.2.0.tar.gz
| Download URL | cbe_review-0.2.0.tar.gz |
|---|---|
| Size | 47.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e4c5cdb28ee91a0732cf1d43193c785e5c3feeff7b73924454d69690da61cf9f
|
|
BLAKE2b-256 checksum How to use checksums |
c55b4ba4d50f732913a126f80c620622850a8ae9cba8a4f9c018b36083fca47e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.
Transparency logRelease files / cbe_review-0.2.0-py3-none-any.whl
| Download URL | cbe_review-0.2.0-py3-none-any.whl |
|---|---|
| Size | 57.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d9acbefaaf14172ce1d4fda50bf49007c13e443a1988de16bc125be3d1daac91
|
|
BLAKE2b-256 checksum How to use checksums |
d9c3010b5c8095c36f2cb7e811fb1a377f7435b648217b36d2a710d33d05254f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.
Transparency logSecurity for cbe-review 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for cbe_review-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 11, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.