MCP, MCP server
io.github.Bahamas1717/aibvf-mcp
Turn an AI proposal into a decision brief: the verdict, the evidence gaps and the next action for the person who owns the work.
Compatibility: Not stated.
Grade C
One Medium finding. Read the findings before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit b793b7fa9480, unchanged since the check below.
OBFUSCATION_MINIFIED_PAYLOAD
Why this grade
- OBFUSCATION_MINIFIED_PAYLOAD Medium
Contains a very long line with almost no spaces in a script or style file.
AI-BVF.html, line 1
<!--
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Pass
No shell or command execution found, and no extra permission was declared.
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address. can reach api.anthropic.com. The description does not name that host.
NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST
api/agent/sweep.ts, line 75
const res = await fetch(`${ESTATE_URL}/${path}`, {
bvf-agent/BVFAgent.jsx, line 106
const response = await fetch("https://api.anthropic.com/v1/messages", {
packages/mcp/src/server.ts, line 154
const request = fetch(TELEMETRY_DEFAULT_URL, {
Show more
scripts/adoption.mjs, line 23
const r = await fetch(url, { headers });
AI-BVF.html, line 3502
const res=await fetch('https://api.anthropic.com/v1/messages',{
app.html, line 5760
const res=await fetch('https://api.anthropic.com/v1/messages',{
bvf-agent/BVF-Agent.html, line 489
const res=await fetch('https://api.anthropic.com/v1/messages',{
Secrets
Note
reads an environment variable.
SECRETS_ENV_READ
api/agent/sweep.ts, line 22
const ESTATE_KEY = process.env.AIBVF_ESTATE_SERVICE_KEY ?? '';
api/agent/sweep.ts, line 23
const CRON_SECRET = process.env.CRON_SECRET ?? '';
examples/workflow-coroner/coroner.py, line 40
if mode == "agent" or os.environ.get("ANTHROPIC_API_KEY"):
Show more
packages/mcp/telemetry-test.mjs, line 8
process.env.AIBVF_TELEMETRY_KEY = '
packages/mcp/src/server.ts, line 45
const TELEMETRY_DEFAULT_KEY = process.env.AIBVF_TELEMETRY_KEY
scripts/adoption.mjs, line 19
if (process.env.GITHUB_TOKEN && url.includes('api.github.com')) {
scripts/adoption.mjs, line 20
headers.Authorization = `Bearer ${process.env.GITHUB_TOKEN}`;
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Concern
contains a minified payload.
OBFUSCATION_MINIFIED_PAYLOAD
AI-BVF.html, line 1
<!--
app.html, line 1
<!DOCTYPE html>
design-system/_ds_bundle.js, line 1
/* @ds-bundle: {"format":4,"namespace":"AIBVFDesignSystem_ab2d84","components":[{"name":"Button","sourcePath":"components/core/Button.jsx"},{"name":"Card","sourcePath":"components/
Show more
examples/workflow-coroner/narration/full-narration.m4a, line 1