Metadata-Version: 2.4
Name: bastion-cli
Version: 0.1.0
Summary: AI-powered security scanner for vibe-coded codebases
Home-page: https://github.com/phalanx-security/phalanx-cli
Author: Bastion Security Team
Author-email: Bastion Security Team <team@bastion.dev>
License: MIT
Project-URL: Homepage, https://github.com/bastion-security/bastion-cli
Project-URL: Repository, https://github.com/bastion-security/bastion-cli.git
Project-URL: Documentation, https://bastion-cli.readthedocs.io/
Project-URL: Bug Tracker, https://github.com/bastion-security/bastion-cli/issues
Keywords: security,scanner,ai,code-analysis,vibe-code
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: click>=8.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: requests>=2.31.0
Requires-Dist: pathlib>=1.0.1
Requires-Dist: tree>=0.2.4
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: colorama>=0.4.6
Requires-Dist: tabulate>=0.9.0
Provides-Extra: test
Requires-Dist: pytest>=7.0.0; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Requires-Dist: black>=23.0.0; extra == "test"
Requires-Dist: flake8>=6.0.0; extra == "test"
Dynamic: author
Dynamic: home-page
Dynamic: requires-python

# Bastion CLI

A command-line interface for Bastion security scanning tool, allowing developers to scan local codebases without leaving their IDE.

## Features

- **11 Security Categories**: Secrets, SQL injection, auth flaws, XSS, command injection, IDOR, client exposure, dependencies, misconfigurations, and prompt injection
- **Multi-Language Support**: Python, JavaScript, TypeScript, PHP, Java, Ruby, Go, Rust
- **Rich Output**: Beautiful tables, progress bars, and syntax highlighting
- **Flexible Configuration**: Custom patterns, severity filtering, and output formats
- **Export Options**: JSON output for CI/CD integration

## Installation

```bash
pip install bastion
```

## Quick Start

```bash
# Scan current directory
bastion scan

# Scan specific path
bastion scan /path/to/your/code

# Export results to JSON
bastion scan /path/to/code --output results.json --json

# Filter by severity
bastion scan /path/to/code --severity high

# Filter by category
bastion scan /path/to/code --category secrets
```

## Commands

### `scan`
Scan a codebase for security vulnerabilities.

```bash
bastion scan [PATH] [OPTIONS]
```

**Options:**
- `--output, -o`: Export results to JSON file
- `--patterns, -p`: Custom security patterns file
- `--extensions, -e`: File extensions to scan (comma-separated)
- `--severity, -s`: Filter by minimum severity level
- `--category, -c`: Filter by category
- `--json, -j`: Output results in JSON format
- `--quiet, -q`: Only show results, no progress bars

### `init`
Initialize Phalanx configuration in current directory.

```bash
phalanx init [--output OUTPUT]
```

### `version`
Show version information.

```bash
phalanx version
```

## Security Categories

| Category | Description | Severity |
|-----------|-------------|----------|
| **secrets** | Hardcoded secrets and credentials | Critical |
| **sql_injection** | SQL injection vulnerabilities | High |
| **auth_flaws** | Authentication and authorization issues | High |
| **xss** | Cross-site scripting vulnerabilities | High |
| **command_injection** | Command injection vulnerabilities | Critical |
| **idor** | Insecure direct object references | Medium |
| **client_exposure** | Sensitive data on client side | Medium |
| **dependencies** | Vulnerable dependencies | Info |
| **misconfigurations** | Security misconfigurations | Medium |
| **prompt_injection** | AI prompt injection vulnerabilities | High |

## Configuration

Create a `.phalanx/config.json` file for custom settings:

```json
{
  "scan_paths": ["src/", "lib/", "app/"],
  "exclude_paths": ["node_modules/", ".git/", "__pycache__/"],
  "file_extensions": [".py", ".js", ".ts", ".jsx", ".tsx"],
  "severity_threshold": "medium",
  "output_format": "table",
  "custom_patterns": null
}
```

## Exit Codes

- `0`: No security issues found
- `1`: Security issues detected

## Integration

### GitHub Actions

```yaml
name: Security Scan
on: [push, pull_request]
jobs:
  phalanx:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.9'
      - name: Install Phalanx
        run: pip install phalanx-cli
      - name: Run Security Scan
        run: phalanx scan . --output results.json --json
      - name: Upload Results
        uses: actions/upload-artifact@v3
        with:
          name: security-scan-results
          path: results.json
```

### CI/CD Pipeline

```bash
# Fail build on security issues
phalanx scan . --severity high || exit 1

# Generate SARIF for GitHub
phalanx scan . --output results.sarif --json
```

## Contributing

1. Fork the repository
2. Create a feature branch
3. Add your security patterns or features
4. Run tests: `pytest`
5. Submit a pull request

## License

MIT License - see [LICENSE](LICENSE) file for details.

## Support

- 📖 [Documentation](https://phalanx-cli.readthedocs.io/)
- 🐛 [Bug Reports](https://github.com/phalanx-security/phalanx-cli/issues)
- 💬 [Discussions](https://github.com/phalanx-security/phalanx-cli/discussions)

---

🛡️ **Scan smart, code secure** - Phalanx CLI
