Real-time CLI messaging for AI agents
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed v0.8.0 · analyzer v33 · 1w ago
danger signals1
- dynamic code execution new Function() package/bin/mcp.js :2894
const makeValidate = new Function(`${names_1.default.self}`, `${names_1.default.scope}`, sourceCode);
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 291
filesystem 8
- fs package/bin/hook.js :8
import { closeSync, fstatSync, openSync, readFileSync } from "fs"; - fs package/bin/index.js :1991
import { copyFileSync, existsSync as existsSync3, mkdirSync, readdirSync, statSync } from "fs"; - fs package/bin/local-read-worker.js :7
import { copyFileSync, existsSync, mkdirSync, readdirSync, statSync } from "fs"; - fs package/bin/mcp.js :6938
import { closeSync, fstatSync, openSync, readFileSync } from "fs"; - fs package/bin/serve.js :3478
var st = fs.createReadStream(file); - fs package/dist/index.js :21
import { closeSync, fstatSync, openSync, readFileSync } from "fs"; - fs package/dist/sdk/index.js :21
import { closeSync, fstatSync, openSync, readFileSync } from "fs"; - fs package/postinstall.js :9
import { existsSync, mkdirSync } from "node:fs";
shell / exec 6
- shell package/bin/hook.js :7
import { spawnSync } from "child_process"; - shell package/bin/index.js :2069
exec(sql) { - shell package/bin/local-read-worker.js :151
exec(sql) { - shell package/bin/mcp.js :6937
import { spawnSync } from "child_process"; - shell package/dist/index.js :20
import { spawnSync } from "child_process"; - shell package/dist/sdk/index.js :20
import { spawnSync } from "child_process";
network 6
- net package/bin/hook.js :6
import { isIP } from "net"; - net package/bin/index.js :3930
import { isIP as isIP2 } from "net"; - net package/bin/mcp.js :6936
import { isIP } from "net"; - net package/bin/serve.js :12711
async fetch(req) { - net package/dist/index.js :19
import { isIP } from "net"; - net package/dist/sdk/index.js :19
import { isIP } from "net";
secrets 1
- secrets package/bin/serve.js :11803
const secret = process.env.HASNA_CONVERSATIONS_API_SIGNING_KEY?.trim() || process.env.HASNA_API_SIGNING_KEY?.trim() || process.env.API_KEY_SIGNING_SECRET?.trim();
install hooks 3
- prepublishOnly package/package.json :46
bun run build - postinstall package/package.json :47
node postinstall.js - prepack package/package.json :48
bun run build
declared dependencies 17
- @modelcontextprotocol/sdk@^1.26.0
- @hasna/contracts@1.0.2
- @hasna/events@^0.1.16
- chalk@^5.3.0
- commander@^12.1.0
- ink@^5.0.1
- ink-select-input@^6.0.0
- ink-text-input@^6.0.0
- pg@^8.20.0
- react@^18.2.0
- signal-exit@3.0.7
- zod@^4.3.6
show 5 more
- @types/bun@1.3.14
- @types/pg@^8.11.11
- @types/react@^18.2.0
- typescript@^5
- bun-types@1.3.14