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
JSON
{
"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"
}
}