🐉 Vishap
🐉 Vishap — 6-stage LLM pipeline for analyzing engineering materials (code, spec, logs, config, data).
Vishap takes a file as input → returns a structured Markdown report with risks, STRIDE threat model, refactoring options and audit trail with PII detection and compliance flags.
🌐 Live demo
| Service | URL | Stack |
|---|---|---|
| Frontend | vishap-ui.onrender.com | Next.js 16 · Node 24 |
| Backend | vishap-zwpx.onrender.com | FastAPI · Docker |
| API docs | /docs | Swagger UI |
⚠️ Free tier: first request may take 30–50 s (cold start).
🎉 What's new in v7.2.6
- JavaScript / TypeScript support:
detect_language(.js/.jsx/.mjs/.cjs/.ts/.tsx),js_parser.scan_js_patterns(XSS, SQLi, RCE, path traversal, command injection), LLM hints inbuild_prompt.
Audit evidence (#1–#8)
- #1
context_thread— wires metrics / cwe / evidence → activates #3 / #5 / #6 - #2
compute_critique_verdict—NEEDS_VERIFICATION/REQUIRES_REVIEW/SAFE; criticalrisk_nodes/security→REQUIRES_REVIEW - #3
fidelity_index— 0.0–1.0; bias passed when in[0.3, 0.95] - #4
negative_evidence— checked-but-not-found CWEs with reason - #5
reproducer— runnablepython -c+ verified viasys.executable - #6
bias_check— critical_ratio, FI-range, RCE-without-critical - #7
CWE_MAPPING— 15 keys - #8
report_date/valid_until— ISO + 90 days
UI (ui-next/)
- LLMSettings: provider =
custom|harness(DeepSeek via custom) - Report v7.2 block: Fidelity / Bias check / Reproducer / Negative evidence / Report date / valid_until
- CORS fix:
app.add_middleware(CORSMiddleware, ...)— Settings form works in browser - mojibake fix: em-dash
—, ellipsis…, emoji 🐉
Backend
async_chat— respectsVISHAP_LLM_PROVIDER=custom(was harness-only)- Docker: bind
0.0.0.0—-p 5001:5001smoke-test passes - CI: ruff F401 cleanup;
ensure_harnessprobe fallback;services.postgresfix - Version sync: 7.2.2 (
pyproject.toml,version.py,package.json,main.py,layout.tsx)
🛠️ Features
- 6-stage pipeline: Ingestion → Taint Analysis → Dataflow → Risk Assessment → Verdict → Report.
- Multi-language: Python, Java, C, JavaScript / TypeScript (AST + taint patterns).
- Multi-provider LLM: DeepSeek (custom), DSH Harness, or any OpenAI-compatible endpoint (Groq, OpenAI, Mistral, OpenRouter, Together).
- Async API: FastAPI + Celery workers (optional in-process fallback).
- Security: HMAC-SHA256 for API keys (with pepper), Fernet for secrets.
- Observability: Structlog (JSON), Prometheus
/metrics, OpenTelemetry traces. - CI/CD: GitHub Actions (tests, lint, docs deploy).
- Desktop: Tauri app for Windows.
📦 Quick Start
Backend (Docker)
docker build -t vishap .
docker run --rm -p 5001:5001 \
-e VISHAP_DEV=true \
-e VISHAP_LLM_PROVIDER=custom \
-e CUSTOM_LLM_URL=https://api.deepseek.com/v1 \
-e CUSTOM_LLM_MODEL=deepseek-chat \
-e CUSTOM_LLM_KEY=sk-... \
vishap
## 🧠 Claude Desktop extension
Install **Vishap Security Analysis** in Claude Desktop (Windows/macOS):
1. Download [`claude-plugin/claude-plugin.mcpb`](claude-plugin/claude-plugin.mcpb).
2. Claude → **Settings** → **Extensions** → **Install extension** → select `.mcpb`.
3. **Configure**:
- `LLM Base URL` — `https://api.deepseek.com/v1` (or OpenAI / Groq / Ollama / any OpenAI-compatible)
- `LLM API Key` — your key (empty for local Ollama)
- `LLM Model` — `deepseek-chat` / `gpt-4o-mini` / `llama3.1` / ...
4. **Enable** → ask Claude: *"Analyze this code for SQL injection: ..."*
Source: [`claude-plugin/`](claude-plugin/) · `.mcpb` built with `mcpb pack`.
Metadata
Release files for vishap-analyzer 7.2.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| vishap_analyzer-7.2.6.tar.gz | 207.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vishap_analyzer-7.2.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 376.6 kB
Release files / vishap_analyzer-7.2.6.tar.gz
| Download URL | vishap_analyzer-7.2.6.tar.gz |
|---|---|
| Size | 207.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b77bc9bfcd1f89b9166701a49a5d7a7c3e74c947bcc3b08c487f7f7fe6a90f42
|
|
BLAKE2b-256 checksum How to use checksums |
0610a8a3f8604ae2bf4dfd1ffa35b8fbda7aa43b8aafb5cf929ef753f6291217
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / vishap_analyzer-7.2.6-py3-none-any.whl
| Download URL | vishap_analyzer-7.2.6-py3-none-any.whl |
|---|---|
| Size | 168.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2a07365154cadcee0b4aa455be35acf73543f222406e14ca324540b5747d5eb1
|
|
BLAKE2b-256 checksum How to use checksums |
f2b4748180bbfe84e535224a8afcb8046c81c61ec172405d4a5d9e4843bbf5c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Security for vishap-analyzer 7.2.6
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.