UNPKG

ubon

Version:

Security scanner for AI-generated apps (Cursor, Lovable, Windsurf, v0). Catches hardcoded secrets, prompt injection, hallucinated imports, Server Actions / Edge runtime mistakes, and the vibe-coded vulnerabilities traditional linters miss.

120 lines (119 loc) 3.5 kB
{ "name": "ubon", "version": "3.2.3", "description": "Security scanner for AI-generated apps (Cursor, Lovable, Windsurf, v0). Catches hardcoded secrets, prompt injection, hallucinated imports, Server Actions / Edge runtime mistakes, and the vibe-coded vulnerabilities traditional linters miss.", "main": "dist/index.js", "types": "dist/index.d.ts", "bin": { "ubon": "dist/cli.js" }, "scripts": { "build": "tsc && chmod +x dist/cli.js", "dev": "tsc --watch", "start": "node dist/cli.js", "test": "jest --runInBand", "test:watch": "jest --watch", "lint": "eslint 'src/**/*.ts'", "lint:fix": "eslint 'src/**/*.ts' --fix", "rules:gen": "node scripts/generate-rules-md.js", "rules:sync": "node scripts/check-rules-sync.js", "validate:harness": "npm run build && npm run validate:harness:test", "validate:harness:test": "jest src/__tests__/validation-harness.test.ts src/__tests__/validation-contracts.test.ts --runInBand --coverage=false", "eval:agent": "node scripts/eval-agent.js", "dogfood": "node dist/cli.js check --fast --no-result-cache --focus-critical --fail-on error", "verify": "npm run lint && npm run build && npm run rules:gen && npm run rules:sync && npm test && npm run validate:harness:test && npm run dogfood", "verify:release": "npm run verify && node scripts/verify-package.js", "preversion": "node scripts/check-changelog.js", "prepublishOnly": "npm run verify:release" }, "keywords": [ "security", "scanner", "ai-generated", "vibe-coding", "cursor", "lovable", "windsurf", "v0", "claude", "react", "nextjs", "next-server-actions", "sveltekit", "astro", "remix", "vite", "supabase", "tailwind", "hono", "prompt-injection", "llm-security", "mcp", "model-context-protocol", "hardcoded-secrets", "static-analysis", "sarif", "ci-cd" ], "author": "Luisfer Romero Calero <luisfer.romero.calero@gmail.com>", "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/luisfer/ubon.git" }, "bugs": { "url": "https://github.com/luisfer/ubon/issues" }, "homepage": "https://github.com/luisfer/ubon#readme", "files": [ "dist", "README.md", "LICENSE", "CHANGELOG.md", "MIGRATION-v3.md", "docs/CLI.md", "docs/RULES.md", "docs/CONFIG.md", "docs/INTEGRATIONS.md", "docs/MCP.md", "docs/ADVANCED.md", "docs/START-HERE.md", "docs/AGENT-HARNESS.md", "docs/AGENT-SEMANTICS.md", "docs/PROGRAMMATIC.md", "docs/RELEASE.md", "docs/VALIDATION.md", "docs/schema/ubon-finding.schema.json" ], "dependencies": { "chokidar": "^4.0.3", "commander": "^13.1.0", "glob": "^13.0.6", "picocolors": "^1.1.1", "typescript": "^5.6.3", "update-notifier": "^5.1.0", "vscode-languageserver": "^9.0.1", "vscode-languageserver-textdocument": "^1.0.12" }, "optionalDependencies": { "@modelcontextprotocol/sdk": "^1.0.4" }, "devDependencies": { "@types/jest": "^29.5.14", "@types/node": "^22.10.0", "@typescript-eslint/eslint-plugin": "^8.18.0", "@typescript-eslint/parser": "^8.18.0", "eslint": "^9.17.0", "jest": "^29.7.0", "ts-jest": "^29.2.5" }, "engines": { "node": ">=20.0.0", "npm": ">=10.0.0" }, "preferGlobal": true, "funding": { "type": "github", "url": "https://github.com/sponsors/luisfer" } }