Metadata-Version: 2.4
Name: klyrek-cli
Version: 0.1.1
Summary: Unified command-line interface for the Klyrek ecosystem
Author: Klyrek Contributors
License: MIT
Keywords: appsec,cli,pentesting,reconnaissance,security
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security
Requires-Python: >=3.10
Requires-Dist: klyrek-api
Requires-Dist: klyrek-assets
Requires-Dist: klyrek-auth
Requires-Dist: klyrek-core
Requires-Dist: klyrek-crawler
Requires-Dist: klyrek-dashboard
Requires-Dist: klyrek-headers
Requires-Dist: klyrek-http
Requires-Dist: klyrek-js
Requires-Dist: klyrek-monitor
Requires-Dist: klyrek-report
Requires-Dist: klyrek-tech
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Description-Content-Type: text/markdown

# klyrek-cli

The unified entry point: `klyrek crawl https://target.com` ties every recon package built so
far into one command.

```
klyrek crawl https://target.com \
    --max-pages 100 --max-depth 3 --rate-limit 5 \
    --format all -o ./klyrek_output
```

What one `crawl` invocation does:

1. Declares the target's own host (+ wildcard subdomain) as the only authorized scope, plus any
   `--include-host` additions.
2. `klyrek-crawler` maps pages, forms, and script references.
3. Every crawled page is re-fetched once for analysis: `klyrek-tech` fingerprints it,
   `klyrek-headers` checks its security headers, `klyrek-auth` looks for session mechanisms, and
   `klyrek-assets` scans the body for cloud storage bucket references (probing any it finds).
4. Every discovered script is fetched and run through `klyrek-js` (endpoints, secrets, source
   maps).
5. `klyrek-auth` classifies discovered forms as login/register/password-reset/logout.
6. `klyrek-api` separately probes for an OpenAPI/Swagger spec, common API roots, and GraphQL.
7. `klyrek-assets` probes a curated set of commonly-exposed sensitive files.
8. Everything lands in one `ScanResult`, rendered via `klyrek-report` (`--format
   markdown|json|html|all`) and written to the output directory.

Any individual step can be disabled: `--skip-tech`, `--skip-headers`, `--skip-api`,
`--skip-auth`, `--skip-js`, `--skip-assets`.

`klyrek_cli.pipeline.run_scan(url, options)` is the same orchestration logic used by the CLI,
importable directly for anyone scripting Klyrek rather than invoking the command.
