Skip to main content

AI-powered security hardening for Python developers

Project description

Sentinel - AI-Powered Security Hardening

Sentinel Logo

PyPI version GitHub Actions License: GPL v3

Sentinel is a developer-first CLI tool that finds security vulnerabilities in Python projects and provides AI-powered fixes - all in an interactive terminal dashboard.


Features

  • SAST - detects SQLi, XSS, command injection, hardcoded secrets, insecure crypto.
  • SCA - checks dependencies against OSV.dev and NVD.
  • DAST - optionally tests running web apps.
  • AI enrichment (Mistral) - re-evaluates severity, explains attack scenarios, suggests fixes.
  • Interactive TUI - no more grepping JSON logs.
  • Auto-fix - applies safe remediations.
  • CI/CD ready - GitHub Action, Docker, PyPI.

Quick Start

# Install
pip install sentinel-scanner

# Scan
sentinel scan .

# With AI (get a free key from Mistral AI)
export MISTRAL_API_KEY=your-key
sentinel scan . --ai

For full documentation, visit Sentinel Docs.


Distribution & Running

  • PyPI: pip install sentinel-scanner
  • Docker: Run Sentinel in a containerized environment (details in Docker README):
    docker run --rm -v $(pwd):/app ghcr.io/ronaldgosso/sentinel:latest scan .
    
  • GitHub Action: Integrate into your workflows using uses: ronaldgosso/sentinel-action@v1.

GitHub Actions / CI/CD Workflows

The repository uses automated GitHub Actions workflows to maintain code quality, build Docker images, publish PyPI releases, and host the documentation website:

Workflow File Trigger Description
Continuous Integration (CI) ci.yml Push/PR to main Runs tests, Ruff (linting), and Mypy (type checking) to ensure code meets quality standards before merge.
Publish to PyPI pypi-publish.yml Push tag v*.*.* Runs quality checks first. If successful, builds wheels and publishes the distribution packages to [...]
Build & Publish Docker docker-build.yml Push to main, tags v*, or PyPI success Automates building the optimized multi-stage Python wheel Docker im[...]
Deploy Docs docs.yml Push to main Deploys static files from the website/ folder directly to GitHub Pages at https://ronaldgosso.github.io/sentinel [...]

Project Documentation & Useful Guides

Check out these documents to learn more about developing, building, and contributing to Sentinel:

  • Docker Guide - Details on running Sentinel via Docker, passing environment variables (like API keys), and exporting reports.
  • Contributing Guidelines - Guide on repository setup, adding custom SAST/AST detectors, running tests, and the Pull Request/release process.
  • Product Roadmap - Overview of features planned for future releases (v1.1, v1.2, and v2.0).
  • Security Policy - Instructions on how to report security vulnerabilities privately.
  • Code of Conduct - Standards of behavior to ensure a welcoming community.

License

This project is licensed under the GPLv3 license. See the LICENSE file for details.


Show your support

Give a star if this project helped you!

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_scanner-1.0.8.tar.gz (43.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_scanner-1.0.8-py3-none-any.whl (48.6 kB view details)

Uploaded Python 3

File details

Details for the file sentinel_scanner-1.0.8.tar.gz.

File metadata

  • Download URL: sentinel_scanner-1.0.8.tar.gz
  • Upload date:
  • Size: 43.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sentinel_scanner-1.0.8.tar.gz
Algorithm Hash digest
SHA256 bfd4a24c445358d0784450b1db4328c6eb6aa933367185780fc8938b753945b4
MD5 a89cb5f6336a7ddfa2bc7316f1c69908
BLAKE2b-256 23bad179c90e50d777154431170e03ebdc1b49c48db218c9a2e7a434195cecca

See more details on using hashes here.

Provenance

The following attestation bundles were made for sentinel_scanner-1.0.8.tar.gz:

Publisher: pypi-publish.yml on ronaldgosso/sentinel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sentinel_scanner-1.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for sentinel_scanner-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 537844ba9b238363dcec5da6dc2c7467ad31f57a76a609de715f6c38693c9553
MD5 cc45cd31d2a3d17213d31e96d88ee7a8
BLAKE2b-256 a1450d244b6b04866d73751d1178a1e64e2244c0861c7064b06f410d66dc518c

See more details on using hashes here.

Provenance

The following attestation bundles were made for sentinel_scanner-1.0.8-py3-none-any.whl:

Publisher: pypi-publish.yml on ronaldgosso/sentinel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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