{ "name": "@jieai/dsh-plugin-vet", "version": "0.4.2", "description": "Audit deepseek-harness (DSH) plugins before install, guard them at runtime. Static verdict + pre-install audit protocol; supply-chain checks (typosquat, OSV); exfiltration & ransomware detection, honeypot canaries, integrity baseline. Alarm-only; blocks confirmed destructive ops.", "license": "MIT", "author": { "name": "wulun811", "url": "https://github.com/wulun811" }, "keywords": [ "deepseek-harness", "dsh", "plugin", "security", "trust", "audit", "guard", "vet", "static-analysis", "sandbox", "supply-chain", "vulnerability", "malware-detection", "typosquat", "runtime-protection", "exfiltration-detection", "ransomware", "honeypot", "key-leak-detection", "capability-analysis", "integrity-baseline", "plugin-audit", "plugin-vetting", "audit-before-install", "pre-install-audit", "llm-tool-security", "ai-agents", "插件审核", "装前审核", "安全审计", "插件安全", "供应链安全" ], "repository": { "type": "git", "url": "git+https://github.com/wulun811/dsh-plugin-vet.git" }, "homepage": "https://github.com/wulun811/dsh-plugin-vet#readme", "bugs": { "url": "https://github.com/wulun811/dsh-plugin-vet/issues" }, "type": "module", "engines": { "node": ">=22.19" }, "main": "lib/index.bundle.js", "types": "lib/types/index.d.ts", "bin": { "vet-gate": "lib/gate-cli.js" }, "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/index.bundle.js" }, "./client": { "types": "./lib/client.d.ts", "default": "./lib/client.js" }, "./gate": { "types": "./lib/types/gate.d.ts", "import": "./lib/gate.js" }, "./cordis.patch.yml": "./cordis.patch.yml", "./package.json": "./package.json" }, "files": [ "lib", "cordis.patch.yml", "vet-self-pins.json", "README.md", "README.zh.md", "AUDIT_PROTOCOL.md", "CHANGELOG.md", "docs/ARCHITECTURE.md", "assets" ], "dsh": { "bundle": { "patch": "./cordis.patch.yml" }, "client": { "platform": "web", "inject": [ "@deepseek-ai/dsh-client-ui-renderer", "@deepseek-ai/dsh-client-ui-conversation", "@deepseek-ai/dsh-client-locale" ] } }, "dshCompat": { "tested": "^0.1.1-rc.1 || ^0.2.0-rc.2 || ^0.2.1-rc.2", "note": "vet 已复验的 DSH 版本范围(自动更新适配提示的真值)。每轮复验后手工更新本字段;不用 peerDependencies 表达——peer 只覆盖模块 API,覆盖不到 patch 锚点/slot 契约。0.4.2 复验于 0.2.1-rc.5:^0.2.1-rc.2 的预发布闸门已覆盖同一 major.minor.patch 的 rc.*,故范围不变(rc.5 实测 compat=ok)。" }, "scripts": { "clean": "node -e \"require('node:fs').rmSync('lib', { recursive: true, force: true })\"", "build": "npm run clean && npm run build:scanner && npm run build:src && npm run bundle:host && npm run build:client", "bundle:host": "node scripts/bundle-host.mjs", "build:scanner": "tsc -p tsconfig.scanner.json", "build:src": "tsc -p tsconfig.src.json", "build:client": "node scripts/build-client.mjs", "typecheck": "npm run typecheck:scanner && npm run typecheck:src && npm run typecheck:client", "typecheck:scanner": "tsc -p tsconfig.scanner.json --noEmit", "typecheck:src": "tsc -p tsconfig.src.json --noEmit", "typecheck:client": "tsc -p tsconfig.client.json", "test": "npm run build && vitest run", "test:watch": "vitest", "gen:self-pin": "node scripts/gen-self-pin.mjs", "check:self": "node scripts/check-self-contract.mjs", "mutant-score": "node scripts/mutant-score.mjs", "check:mutants": "node scripts/mutant-score.mjs --gate", "prepublishOnly": "npm run build && node scripts/check-pack-integrity.mjs && node scripts/check-self-contract.mjs && node scripts/mutant-score.mjs --gate" }, "peerDependencies": { "@deepseek-ai/cordis": "^4.0.1", "@deepseek-ai/dsh-invariants": "^0.1.1-rc.1 || ^0.2.0-rc.1", "@deepseek-ai/dsh-llm": "^0.1.1-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.2", "@deepseek-ai/dsh-session": "^0.1.1-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.2", "@deepseek-ai/dsh-tools": "^0.1.1-rc.1 || ^0.2.0-rc.1 || ^0.2.1-rc.2" }, "peerDependenciesMeta": { "@deepseek-ai/dsh-invariants": { "optional": true } }, "dependencies": { "@deepseek-ai/schemastery": "^3.18.4", "js-yaml": "^5.3.0", "typescript": "^5.5.0" }, "devDependencies": { "@deepseek-ai/cordis": "^4.0.5", "@deepseek-ai/dsh-agent": "^0.2.1-rc.5", "@deepseek-ai/dsh-llm": "^0.2.1-rc.5", "@deepseek-ai/dsh-ptc-runtime": "^0.2.1-rc.5", "@deepseek-ai/dsh-sandbox": "^0.2.1-rc.5", "@deepseek-ai/dsh-sandbox-policy": "^0.2.1-rc.5", "@deepseek-ai/dsh-scope": "^0.2.1-rc.5", "@deepseek-ai/dsh-session": "^0.2.1-rc.5", "@deepseek-ai/dsh-system-prompt": "^0.2.1-rc.5", "@deepseek-ai/dsh-tools": "^0.2.1-rc.5", "@deepseek-ai/dsh-user-approval": "^0.2.1-rc.5", "@deepseek-ai/dsh-working-directory": "^0.2.1-rc.5", "@types/js-yaml": "^4.0.9", "@types/node": "^22.10.0", "@types/react": "^18.3.0", "@vitest/coverage-v8": "^2.1.9", "esbuild": "^0.21.5", "react": "^18.3.1", "react-dom": "^18.3.1", "vitest": "^2.1.9" } }