Skip to main content

Cyberjury

AI-assisted security review for code diffs and repositories.

The tool has two review paths:

  • Diff Review audits a git range against its repository in one command.
  • Repository Review fans out across a repository, reviews focused units, and deduplicates candidates.

Diff Review is fast and reports findings at post change lines shown in the patch. Every finding keeps an exact old or new change anchor, so added behavior and removed controls use one scope contract. Each diff unit is grounded with repository source context while its reportable boundary remains the patch. Repository Review covers the complete repository as focused units, so a clean Diff Review does not by itself clear the repository.

The review contract is data. One language-independent security reasoning kernel, one severity rubric, and the file classification rules live in src/cyberjury/review/contract/. Language support is the Tree-sitter query data in src/cyberjury/review/syntax/queries.yaml. A language without queries is still reviewed from its raw source. Each review records a hash of these files in contract.json.

A Repository Review of a Git work tree covers the tracked files and the untracked files Git does not ignore. A plain directory is covered completely. Files that are not UTF-8 text, binary, or empty are listed as skipped in outcome.json.

Quick Review

cyberjury review diff --repository /path/to/app --git-range origin/main...HEAD
cyberjury review repository /path/to/repo

Re-running a repository review resumes open work. Use --fresh to start a new review session.

Output and Exit Codes

Review commands print a JSON result and return a process style exit code. 0 means the requested action completed. Exit code 1 means the run was degraded or incomplete. Every finding the finder reports is kept, and the review does not run a second model to delete findings.

Diff and repository reviews write findings.json and outcome.json in the review attempt workspace.

findings.json also groups findings into issues: findings that one code change fixes. Grouping never removes a finding, and each finding names its issue_id. Findings of one category at the same file and line form one issue. Other findings form one issue only when their cited source traces the other's location and the model answers that one code change fixes both.

Install

Requires Python 3.12 or newer. The base install includes tree-sitter and the grammar packages.

pip install cyberjury
cyberjury install-slash-command

The cyberjury install-slash-command command installs /cyberjury-review for Claude Code and Codex.

Configure

All model settings come from a .env file in the working directory. An exported shell value wins over the file. Copy .env.example to .env and fill in what you use:

Setting Meaning
OPENAI_API_KEY OpenAI key. When it is set the review uses OpenAI.
ANTHROPIC_API_KEY Anthropic key, used when no OpenAI key is set.
CYBERJURY_MODEL Model name, default gpt-5.6 for OpenAI and claude-opus-5 for Anthropic.
CYBERJURY_API_BASE Gateway or proxy endpoint for the provider.

One model finds the issues and also answers the issue grouping question, so use the strongest model you can.

Metadata

Release files for cyberjury 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cyberjury 0.2.0
File Size Uploaded Provenance Actions
cyberjury-0.2.0.tar.gz 144.6 kB With provenance Details for cyberjury-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cyberjury 0.2.0
File Interpreter ABI Platform Actions
cyberjury-0.2.0-py3-none-any.whl Python 3 none any Details for cyberjury-0.2.0-py3-none-any.whl

Total release size: 303.2 kB

Release files / cyberjury-0.2.0.tar.gz

Download URL cyberjury-0.2.0.tar.gz
Size 144.6 kB
Tags Source
SHA-256 checksum
How to use checksums
97a8bbff8b22fa7cca398d6940dccb7840fe0d0eb3016794f278f45c6efcffc0
BLAKE2b-256 checksum
How to use checksums
8ad9a8eaaf96e3922b83e3cbb917c7e118bd1a42ef7e01b70286ff5ba6a2198f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 19, 2026.

Transparency log

Release files / cyberjury-0.2.0-py3-none-any.whl

Download URL cyberjury-0.2.0-py3-none-any.whl
Size 158.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
feeb5535436ae44e03938cd4f67d7f07ab6fdee7fee2aed749dbae1e80f56d36
BLAKE2b-256 checksum
How to use checksums
db3136bc05e3b6ba8f4fcd25cbd8304a9c11d6063a10e0606c4889b7063b4ce7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 19, 2026.

Transparency log

Security for cyberjury 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

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for cyberjury-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 Oct 19, 2026.

Transparency log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page