https://github.com/kneelinghorse/reasonbook
reasonbook
Risky
Score 59 / 100 · 80 files read · 0 critical, 0 high, 8 medium, 5 low findings
Report 0740e047d092c1d1 · first scanned 2026-10-28 · scanned 1× · keyed to the exact package contents, so this link always shows this version
Subscores
100 is clean. Deductions come only from the cited findings below.
Findings
mediumCode contacts agent-plugins.org, which the documentation never mentions
(package) · line 1 · rule M3
agent-plugins.org
mediumInstructions involve running commands with sudo
CHANGELOG.md · line 700 · rule M6
otes, after `run`, `sudo`, a setting or a shell operator, or in a quoted server entry. Prose such as "the cmos-mcp review ca
mediumCan run shell commands from code
docs/reviewer/sample.cjs · line 7 · rule M1
c } = require('node:child_process'); const { createInterface } = require('node:readline'); async function main() { if (process.
mediumRuns a command automatically at install time (prepare)
package.json · line 1 · rule M4
prepare: husky
mediumCan run shell commands from code
plugins/reasonbook-chat/server/install-state.mjs · line 8 · rule M1
wnSync } from 'node:child_process'; export const PACKAGE_NAME = '@aquex/reasonbook'; /** The package's folder under node_modules,
mediumCan run shell commands from code
plugins/reasonbook-chat/server/install-worker.mjs · line 7 · rule M1
wnSync } from 'node:child_process'; import { COMMAND, createContext, PACKAGE_DIR, validateInstall, validatePackage, wr
mediumCan run shell commands from code
plugins/reasonbook-chat/server/installing-server.mjs · line 4 · rule M1
spawn } from 'node:child_process'; import { randomUUID } from 'node:crypto'; import { createInterface } from 'node:readline'; imp
mediumCan run shell commands from code
plugins/reasonbook-chat/server/package-manager.mjs · line 6 · rule M1
spawn } from 'node:child_process'; export function packageManager( name, args, { execPath = process.execPath, platform = p
lowReads named environment variables (normal for API keys; listed in the permission summary)
docs/reviewer/sample.cjs · line 27 · rule L1
t env = { PATH: process.env.PATH, RBOOK_CONFIG_DIR: path.join(root, 'config'), RBOOK_CHECKPOINT_SYNC: 'off', RBOOK
lowReads named environment variables (normal for API keys; listed in the permission summary)
plugins/reasonbook-chat/server/install-state.mjs · line 17 · rule L1
nfigDirectory(env = process.env) { return path.resolve(resolveConfigDirectory(env)); } export function readPluginVersion(plugin
lowReads named environment variables (normal for API keys; listed in the permission summary)
plugins/reasonbook-chat/server/install-worker.mjs · line 37 · rule L1
env: { ...process.env, ...npm.env, PATH: path.dirname(process.execPath) + path.delimiter + (process.env.PATH
lowReads named environment variables (normal for API keys; listed in the permission summary)
plugins/reasonbook-chat/server/installing-server.mjs · line 12 · rule L1
ctx, { env = process.env, input = process.stdin, output = process.stdout, writeError = (text) => process.stderr
lowReads named environment variables (normal for API keys; listed in the permission summary)
plugins/reasonbook-chat/server/legacy-compat.mjs · line 8 · rule L1
Setting(name, env = process.env) { const suffix = name.replace(/^(?:RBOOK|CMOS)_/, ''); return env[`RBOOK_${suffix}`] ?? env[`
Permission surface
- Network endpoints
- agent-plugins.orgcmos-mcp.comcmos.aquex.aicode.claude.comcode.visualstudio.comcursor.comdevelopers.openai.comdocs.devin.aidocs.github.comgithub.comimg.shields.iokeepachangelog.comlearn.chatgpt.comraw.githubusercontent.comreasonbook.airender.comsemver.orgstatic.modelcontextprotocol.iowww.npmjs.com
- Environment read
- PATH
- Shell execution
- yes — code or scripts can run shell commands
- Install hooks
- prepare: husky
- Credential material
- Reads named environment variables (normal for API keys; listed in the permission summary)
Provenance
- Source
- GitHub
- Repository
- kneelinghorse/reasonbook
- Owner
- kneelinghorse
- Stars
- 0
- Forks
- 0
- Repo created
- 2026-06-08
- Last push
- 2026-10-27
- License
- Apache-2.0
Watch this package
Interest list only. We store the address and this report link, nothing else. No mail is sent in v1.
Share this report: https://preflight.orbitaldeskllc.com/r/0740e047d092c1d1