C2Xai
D 52 failed
Other
monorepo / typescript · medium
677
Files
106,502
LOC
5
Frameworks
11
Languages
Pipeline State
failedRun ID
#410510Phase
EXTENDED_ANALYSISProgress
0%Started
2026-04-13 06:15:41Finished
—LLM tokens
0timeout
Pipeline Metadata
Stage
ScoredDecision
proceedNovelty
80.93Framework unique
—Isolation
—Last stage change
2026-05-04 16:25:11Deduplication group #3536107
Member of a group with 1 similar repo(s) — this repo is canonical view group →
Same scanner, your repo: https://repobility.com — Repobility
AI Prompt
Create an AI-powered penetration testing assistant application. I need the core functionality built using Next.js and React, structured as a monorepo. The system should integrate with various AI providers like OpenAI and OpenRouter, and use Convex for the backend and database. Since this is a security tool, please ensure it supports agent mode, potentially utilizing E2B for secure code execution. The setup should also account for user management via WorkOS and potentially integrate file storage using Amazon S3.
typescript next.js react monorepo ai pentesting convex e2b openai web-app
Generated by gemma4:latest
Catalog Information
Create an AI-powered penetration testing assistant application. I need the core functionality built using Next.js and React, structured as a monorepo. The system should integrate with various AI providers like OpenAI and OpenRouter, and use Convex for the backend and database. Since this is a security tool, please ensure it supports agent mode, potentially utilizing E2B for secure code execution. The setup should also account for user management via WorkOS and potentially integrate file storage
Tags
typescript next.js react monorepo ai pentesting convex e2b openai web-app
Quality Score
D
52.2/100
Structure
57
Code Quality
49
Documentation
43
Testing
65
Practices
56
Security
40
Dependencies
90
Strengths
- CI/CD pipeline configured (github_actions)
- Code linting configured (eslint)
- Containerized deployment (Docker)
- Properly licensed project
Weaknesses
- 8 files with critical complexity need refactoring
- Potential hardcoded secrets in 6 files
- 12628 duplicate lines detected — consider DRY refactoring
- 25 'god files' with >500 LOC need decomposition
Recommendations
- Move hardcoded secrets to environment variables or a secrets manager
- Address 240 TODO/FIXME items — consider tracking them as issues
Languages
Frameworks
React Next.js Tauri Jest Turbopack
Symbols
variable4,284
function1,385
method393
interface265
constant254
type_alias123
class35
property20
struct11
enum3
Repobility's GitHub App fixes findings like these · https://github.com/apps/repobility-bot
API Endpoints (44)
| Method | Path | Handler | Framework | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Generated by Repobility's multi-pass static-analysis pipeline (https://repobility.com) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | accept | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | code | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | code | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | confirm-migrate-pentestgpt | urlParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | confirm-migrate-pentestgpt | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | confirm-migrate-pentestgpt | searchParams.delete | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | confirm-migrate-pentestgpt | searchParams.delete | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | confirm-migrate-pentestgpt | urlParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | dev_callback_port | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | error | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | error | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | host | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | id | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | id | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | intent | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | numSeats | searchParams.delete | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | numSeats | urlParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | numSeats | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | post_login_redirect | cookieStore.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | post_login_redirect | cookieStore.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | referer | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | refresh | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | refresh | searchParams.delete | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | sec-fetch-site | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | selectedPlan | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | selectedPlan | urlParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | selectedPlan | searchParams.delete | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | state | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | state | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | stripe-signature | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | stripe-signature | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | stripe-signature | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | team-welcome | urlParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | team-welcome | urlParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | team-welcome | searchParams.delete | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | temporary-chat | urlParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DELETE | temporary-chat | searchParams.delete | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | temporary-chat | urlParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | token | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | user-agent | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | user-agent | headers.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | wos-session | cookies.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | X-Amz-Expires | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | X-Amz-Expires | searchParams.get | Express | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Embed Badge
Add to your README:
BinComp Dependency Hardening
All packages →2 of this repo's dependencies have been scanned for binary hardening. Grade reflects RELRO / stack canary / FORTIFY / PIE coverage.