riciplay-cli
Riciplay Security Platform — Command-line Interface
An autonomous AI-driven bug bounty hunting agent for web applications and codebases. Runs local investigations with an LLM-in-a-loop leader that orchestrates specialists, probes endpoints, verifies findings, and chains vulnerabilities.
Features
-
Autonomous DAST (Dynamic Application Security Testing) — Web app vulnerability scanning with automatic attack-surface enumeration, multi-class injection probing (XSS / SQLi / IDOR / open-redirect / SSRF), and interception-driven recon through miniproxy + headless browser.
-
Autonomous SAST (Static Application Security Testing) — Code audit with semgrep, code search, and AI-guided data-flow tracing. Finds injection sinks, hardcoded secrets, weak crypto, and path traversal.
-
Manual-analysis mode — Human-pentester-style workflow: observe through browser, take notebook notes, register accounts, test cross-account, reason and iterate.
-
Specialist orchestration — Parallel execution of domain specialists (Recon, Web, API, Auth, Cloud, Business Logic) with shared findings, cross-specialist corroboration, and compound attack chaining.
-
Coverage gates — Deterministic finish-time enforcement ensures every discovered endpoint×parameter×attack-class combination is attempted before the investigation concludes.
-
Two-identity IDOR testing — Automatic account registration/login and cross-account replay for authorization bypass detection.
-
Phase-separated investigation — DISCOVER (breadth-first surface mapping and probing) followed by REPORT (impact verification, chaining, and quality gating).
Installation
pip install riciplay-cli
Requires Python 3.10+, mitmdump (for proxy capture), and optionally Chromium
(via Playwright) for browser-based discoveries.
Quick Start
# Authenticate against the Riciplay backend
riciplay auth set-key <your-api-key>
# Run a DAST investigation against a target
riciplay scan investigate https://example.com --budget 12
# SAST code audit — point it at a path and name a focus skill
riciplay scan investigate ./my-project --focus sast-audit --budget 8
# Headless: natural-language instruction, JSON to stdout
riciplay scan investigate https://example.com --prompt "find IDOR in /api/orders" --budget 15
# Named session so an interrupted run can be resumed
riciplay scan investigate https://example.com --session audit-1 --budget 12
Options: --budget/-b · --focus/-f · --prompt/-p · --authorized/-a
(lab/CTF, skips prompts) · --session/-s · --output/-o · --plan-mode.
There is no --mode flag — DAST and SAST are the same command pointed at a URL
or a path.
Configuration
riciplay auth status— Check authentication and tierriciplay auth whoami— Show current account inforiciplay review <path>— Code review with markdown outputriciplay --help— Full command reference
Release files for riciplay-cli 1.8.85
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| riciplay_cli-1.8.85.tar.gz | 957.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| riciplay_cli-1.8.85-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.9 MB
Release files / riciplay_cli-1.8.85.tar.gz
| Download URL | riciplay_cli-1.8.85.tar.gz |
|---|---|
| Size | 957.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
355a0caa9359b967b03c7ae5db70ec85438e76a817572b38ba9cf59f50f343d7
|
|
BLAKE2b-256 checksum How to use checksums |
0ba26b1e20be2cf14deb66e4d16347f3262c8c6aeaa8b07071b1a047adbac09a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / riciplay_cli-1.8.85-py3-none-any.whl
| Download URL | riciplay_cli-1.8.85-py3-none-any.whl |
|---|---|
| Size | 911.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bcaae8067c5a359aed87466a091835738249d785da699c8926b197e472c57f98
|
|
BLAKE2b-256 checksum How to use checksums |
33c963f9a78e303c9b167d00dfe60b05b9ea3f718b32d279762755ec0d83062f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|