🛡️ Pluto - AI-Powered Code Security Analyzer
╭─────[By 0xSaikat]───────────────────────────────────╮
│ │
│ ____ __ __ │
│ / __ \/ /_ __/ /_____ │
│ / /_/ / / / / / __/ __ \ │
│ / ____/ / /_/ / /_/ /_/ / │
│ /_/ /_/\__,_/\__/\____/ V-1.0 │
│ │
│ AI-Powered Code Security Analyzer │
│ │
╰─────────────────────────────────[hackbit.org]───────╯
Pluto is a powerful CLI tool that uses AI to detect security vulnerabilities in your code.
Features • Installation • Usage • Examples • Contributing
🚀 Features
- 🤖 Multiple AI Providers: Claude, OpenAI, Ollama (local)
- 📁 Flexible Input: Analyze files, directories, or GitHub repositories
- 📊 Multiple Report Formats: Terminal, PDF, JSON, Markdown
- 🔒 Privacy-First: Local analysis with Ollama support
- 🎯 Severity Filtering: Focus on CRITICAL, HIGH, MEDIUM, or LOW issues
- 🌐 Multi-Language Support: Python, JavaScript, Java, C/C++, Go, Rust, PHP, Ruby, and more
🔍 Security Checks
Pluto detects:
- SQL Injection
- XSS (Cross-Site Scripting)
- Authentication/Authorization flaws
- Hardcoded secrets & credentials
- Insecure cryptography
- Path traversal
- Command injection
- CSRF vulnerabilities
- Insecure dependencies
- And many more...
📦 Installation
From PyPI (Recommended)
pip install pluto-ai
From Source
git clone https://github.com/0xsaikat/pluto.git
cd pluto
pip install -e .
⚙️ Setup
For Claude (Recommended)
export ANTHROPIC_API_KEY='your-api-key-here'
Get your API key from: https://console.anthropic.com/
For OpenAI
export OPENAI_API_KEY='your-api-key-here'
For Ollama (Local, Free)
# Install Ollama from https://ollama.ai
ollama pull phi
ollama serve
💻 Usage
Basic Commands
# Analyze a single file
pluto scan -code app.py
# Analyze entire directory
pluto scan -dir ./src --report pdf --output security_report
# Analyze GitHub repository
pluto scan -git https://github.com/user/repo --provider claude
# Use local AI (Ollama)
pluto scan -code app.py --provider ollama --model phi
# Filter by severity
pluto scan -dir ./src --min-severity HIGH
Command Options
Options:
-code, --code-file PATH Analyze a single code file
-dir, --directory PATH Analyze entire directory
-git, --git-repo TEXT Analyze GitHub repository
--provider [claude|openai|ollama] AI provider (default: claude)
--model TEXT Model name
--report [terminal|pdf|json|markdown] Report format (default: terminal)
--output TEXT Output file name
--min-severity [LOW|MEDIUM|HIGH|CRITICAL] Minimum severity level
--help Show this message and exit
📚 Examples
Quick Security Scan
pluto scan -code myapp.py
Full Project Audit
pluto scan -dir ./backend --provider claude --report pdf --output project_audit
GitHub Repository Analysis
pluto scan -git https://github.com/user/vulnerable-app --report json
Local Private Scan
pluto scan -code sensitive_code.py --provider ollama --model phi
CI/CD Integration
pluto scan -dir ./src --report json --output results.json --min-severity HIGH
📊 Report Formats
- Terminal: Colorful, real-time output with severity highlighting
- PDF: Professional report with logo, charts, and detailed findings
- JSON: Machine-readable format for automation and CI/CD
- Markdown: Documentation-friendly format
🎨 Supported Languages
Python • JavaScript • TypeScript • Java • C/C++ • Go • Rust • PHP • Ruby • Swift • Kotlin
🔧 Configuration
Create a .plutorc file in your project root:
provider: claude
model: claude-sonnet-4-20250514
min_severity: MEDIUM
report_format: pdf
output_dir: ./security-reports
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
👨💻 Author
0xSaikat
- Website: hackbit.org
- GitHub: @0xsaikat
🙏 Acknowledgments
- Powered by Claude (Anthropic), OpenAI, and Ollama
- Built with ❤️ for the security community
⚠️ Disclaimer
Pluto is a security analysis tool intended for educational and legitimate security testing purposes only. Always ensure you have permission before scanning code or repositories you don't own.
Metadata
Release files for pluto-ai 1.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 | |
|---|---|---|---|
| pluto_ai-1.2.0.tar.gz | 82.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pluto_ai-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 111.1 kB
Release files / pluto_ai-1.2.0.tar.gz
| Download URL | pluto_ai-1.2.0.tar.gz |
|---|---|
| Size | 82.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
646e008b3934fda6785e85e5a84b1a975c7bd55a009c67554a822c78c260b493
|
|
BLAKE2b-256 checksum How to use checksums |
f4cdd2e5b2b76dba2aadcc3ee55cb90d0e27bcdea6d95d35ca510cb48414e052
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Release files / pluto_ai-1.2.0-py3-none-any.whl
| Download URL | pluto_ai-1.2.0-py3-none-any.whl |
|---|---|
| Size | 28.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bc7f9b04c81d926322a12ca04d589c4cd4edffe527a13482136a58f34701c9b5
|
|
BLAKE2b-256 checksum How to use checksums |
82060c3a5ec418ca552245b604ca80608bc4c58a21d42437fda3ff529559cf87
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|