Skip to main content

Shinobi

Shinobi

10-second security scan for developers who ship fast

Shinobi is a local-first security scanner that checks your codebase for exposed secrets, dangerous defaults, vulnerable dependencies, missing security basics, and AI-specific risks — all in seconds, right from the terminal.

100% local. Zero data ever leaves your machine.

Install

pip install shinobi-scan

Or install from source:

git clone https://github.com/AkrijSama/shinobi.git
cd shinobi
python generate_logo.py
pip install .

Usage

# Scan current directory (fast mode)
shinobi

# Scan a specific directory
shinobi /path/to/project

# Clone and scan a remote public repo
shinobi --repo https://github.com/user/project

# Deep scan — includes git history for previously committed secrets
shinobi --deep

# Save JSON report to a specific file
shinobi --output report.json

# Plain text output (no ANSI colors)
shinobi --no-color

What It Scans

Scanner What It Checks
Secrets API keys (OpenAI, Stripe, AWS, GitHub, etc), passwords, tokens, private keys, .env files not in .gitignore
Defaults DEBUG=True, CORS wildcards, 0.0.0.0 bindings, default database passwords, weak SECRET_KEYs
Dependencies Known CVEs via pip-audit/npm-audit, unpinned versions
Armor Missing rate limiting, CSRF protection, security headers, input sanitization, authentication
AI Risks LLM keys in client code, prompt injection patterns, model files in repo, exposed system prompts
Git History Previously committed secrets across last 500 commits (with --deep)

Sample Output

   __ _     _             _     _
  / _\ |__ (_)_ __   ___ | |__ (_)
  \ \| '_ \| | '_ \ / _ \| '_ \| |
  _\ \ | | | | | | | (_) | |_) | |
  \__/_| |_|_|_| |_|\___/|_.__/|_|

  v1.0 — shadow guard for your code

  🔍 shinobi v1.0 — security scan complete

  Project: my-app
  Scanned: 342 files in 2.1s

  ╔══════════════════════════════════════════════╗
  ║  THREAT LEVEL: CRITICAL 🔴                    ║
  ╚══════════════════════════════════════════════╝

  🔑 SECRETS EXPOSED          3 found
     → src/config.py:12 — OpenAI API Key: sk-a****...x9f2
     → .env:5 — AWS Access Key: AKIA****...XMPL

  ⚠️  DANGEROUS DEFAULTS       1 found
     → settings.py:8 — Debug mode is enabled

  🛡️  MISSING ARMOR            2 gaps
     → No rate limiting detected
     → No CSRF protection detected

  Total issues: 6  |  Critical: 3  |  High: 1  |  Medium: 2

Privacy

Shinobi runs entirely on your machine. It does not make network requests, phone home, or transmit any data. The only external calls are to pip audit and npm audit (which are your own local tools calling their own registries).

License

MIT


Built by SolidDark — https://soliddark.net

Metadata

Release files for shinobi-scan 1.1.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 shinobi-scan 1.1.0
File Size Uploaded Provenance
shinobi_scan-1.1.0.tar.gz 74.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for shinobi-scan 1.1.0
File Interpreter ABI Platform
shinobi_scan-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 152.8 kB

Release files / shinobi_scan-1.1.0.tar.gz

Download URL shinobi_scan-1.1.0.tar.gz
Size 74.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3cf882f5f77b4b3554d9c0acf30936805cffe1880233873be100f392ab3d3225
BLAKE2b-256 checksum
How to use checksums
a1eba085286da81f9f4514ce1ce3795b72be912d0e64cb37709c57e51533f948
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / shinobi_scan-1.1.0-py3-none-any.whl

Download URL shinobi_scan-1.1.0-py3-none-any.whl
Size 78.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
46598e2f55ab28162a03ea8419910b9030488df17a2edc9b7d3a59d9708010ff
BLAKE2b-256 checksum
How to use checksums
d4be486e88149462d917739af491c7fe80a46858ba70a16ae638a97d57972f13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for shinobi-scan 1.1.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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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