Skip to main content

Polski

Sentinel

Sentinel is an AI agent for security-auditing other agents, skills, prompt bundles, plugins, hooks, and MCP servers. It runs inside Codex or Claude Code, so it uses the invoking user's signed-in account and model. It does not require an API key belonging to the project author.

Hybrid audit engine

Sentinel is not merely a bundle of prompt-only skills. Every audit combines contextual AI reasoning with a substantial deterministic security phase that runs automatically for the Sentinel agent:

  • 25 catalogued, reproducible checks for prompt injection, credentials, command execution, permissions, network access, TLS, paths, persistence, supply-chain risks, deserialization, archives, and cross-file attack signals;
  • bounded read-only inventory with per-file and whole-package SHA-256 hashes, explicit skipped-file limitations, secret redaction, and stable finding fingerprints;
  • multilingual text indicators, including common instruction-override phrases in Hungarian, Polish, German, French, Spanish, Russian, Ukrainian, Chinese, and Japanese;
  • Python AST checks for real eval/exec, shell APIs, shell=True, unsafe YAML, disabled certificate verification, archive extraction, secret sources, and network sinks;
  • a second deterministic snapshot immediately before the verdict. If the package changed, stale conclusions are discarded and the review restarts once; another change produces INCONCLUSIVE.

These checks produce evidence, not an automatic verdict. The AI independently reviews relevant content in any language, tests whether flagged paths are actually reachable, correlates evidence across files, and dismisses justified false positives. A clean regex result never suppresses contextual review.

The agent includes nine focused skills:

  • target-recon — inventories the target, entry points, declared capabilities, trust boundaries, external integrations, and files that could not be inspected. It establishes the audit scope before any verdict is made.
  • prompt-injection — finds attempts to override instruction hierarchy, extract hidden prompts, promote untrusted content to instructions, or load remote and encoded instructions. It also evaluates whether the agent keeps data and commands separated.
  • tool-safety — reviews tool definitions, permissions, confirmation gates, parameter validation, filesystem and network reach, destructive actions, and the consequences of hostile tool or MCP output.
  • code-security — traces untrusted inputs to sensitive sinks and reviews command execution, dynamic evaluation, path traversal, unsafe deserialization, archive extraction, secret handling, TLS settings, and related implementation flaws.
  • supply-chain — checks dependencies, version pinning, install and update hooks, downloaded executables, remote code, package integrity, and whether a compromised dependency could gain agent authority.
  • agent-behavior — reasons about multi-step autonomy: scope control, approval boundaries, loops, retries, partial failures, persistence, self-modification, misleading success states, and recovery behavior.
  • deterministic-testing — runs Sentinel's bounded read-only scanner, preserves hashes and redacted evidence, records coverage limitations, and treats machine findings as signals that still require contextual AI review.
  • risk-correlation — connects evidence across prompts, code, manifests, and tools into credible attack paths; verifies controls, removes duplicates and false positives, and assigns a defensible verdict and priority.
  • security-reporting — produces the final user-facing audit in the user's language using a table-first layout: verdict and coverage at a glance, followed by exactly what is wrong, where, its priority, what to change, and an offer to provide the full evidence-level report.

The default result is designed for quick decisions rather than raw scanner output:

Result Coverage Deterministic checks Findings
⚠️ CONDITIONAL PASS 18/18 files 25 completed 2
What is wrong Where Priority What to do
Untrusted input reaches a shell handler.py:42 🟠 P1 Pass an argument list and keep shell=False
Dependency version is mutable requirements.txt:3 🟡 P2 Pin the reviewed version and integrity hash

A shared local MCP server gives the agent access to bounded deterministic security checks. The scanner never executes, imports, installs, or invokes the audited target.

Installation

Python 3.11 or newer is required.

pipx install sentinel-ai-auditor

Upgrade an existing PyPI installation:

pipx upgrade sentinel-ai-auditor

Install directly from a pushed repository branch on another computer:

pipx install "git+https://github.com/KacperStasieluk/sentinel.git@BRANCH_NAME"

Use pipx install --force when reinstalling the same branch. After the release tag is published, use its version tag in place of BRANCH_NAME.

Install the agent in Claude Code:

sentinel install claude
claude --agent sentinel

You can also ask Claude in a regular conversation:

Use the Sentinel agent to audit ./path/to/skill

Install the agent in Codex:

sentinel install codex

Then ask Codex:

Use the Sentinel agent to audit ./path/to/agent

Install both host adapters:

sentinel install all

The installer adds the native agent definition, the shared skills, and the local MCP server registration. It does not store any API key. --dry-run shows destination paths, --force replaces modified Sentinel-managed files, and --skip-mcp skips MCP registration.

Local tools

Run only the deterministic scanner, without an AI verdict:

sentinel scan ./target --json

List the bundled skills and deterministic checks:

sentinel skills
sentinel checks

Run the MCP server manually:

sentinel mcp

Deterministic signals are evidence for the agent, not a standalone security verdict. A PASS result is not a guarantee of safety.

Development and publishing

python -m pip install -e ".[dev]"
python -m pytest
python -m ruff check src tests
python -m ruff format --check src tests
python -m build
python -m twine check --strict dist/*

Publishing to PyPI uses GitHub Trusted Publishing after a version-matching tag is pushed.

Metadata

Release files for sentinel-ai-auditor 0.2.2

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

Source distribution (sdist)

Source distribution for sentinel-ai-auditor 0.2.2
File Size Uploaded Provenance Actions
sentinel_ai_auditor-0.2.2.tar.gz 34.0 kB With provenance Details for sentinel_ai_auditor-0.2.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sentinel-ai-auditor 0.2.2
File Interpreter ABI Platform Actions
sentinel_ai_auditor-0.2.2-py3-none-any.whl Python 3 none any Details for sentinel_ai_auditor-0.2.2-py3-none-any.whl

Total release size: 65.9 kB

Release files / sentinel_ai_auditor-0.2.2.tar.gz

Download URL sentinel_ai_auditor-0.2.2.tar.gz
Size 34.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bbdddd602f9a5474817d1695e705b6fc86c858a5bacfa419c6c7f2c73b857b22
BLAKE2b-256 checksum
How to use checksums
ecefbe8f319aca479cefdef761b3633be0897e4245da8423afedcf04d15ba02d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Jul 29, 2026.

Transparency log

Release files / sentinel_ai_auditor-0.2.2-py3-none-any.whl

Download URL sentinel_ai_auditor-0.2.2-py3-none-any.whl
Size 31.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8080b52a8a89e0187775d4f33fea86bfd1e5e59d6425b509f2d2eb64e6e59835
BLAKE2b-256 checksum
How to use checksums
70cf88ce40e2ee3c97817568a6ff47eb30e7c9b548b0bc5255ab3e8985bef9e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Jul 29, 2026.

Transparency log

Security for sentinel-ai-auditor 0.2.2

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 sentinel_ai_auditor-0.2.2.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 Jul 29, 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