The open-source AI teammate for Slack. Self-hosted, credential-isolated, every tool call audited.
Drift inferred · capture-to-capture
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
- HIGH code analysis flagged committed secret in getlibero/libero
transport http 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 commit 9120828 · analyzer v33 · 1w ago
skills & prompt files 3
danger signals12
- suspicious endpoint 169.254.169.254 (cloud metadata) getlibero-libero-9120828/packages/proxy/src/custody-aws-client.ts :53
export const DEFAULT_IMDS_ENDPOINT = "http://169.254.169.254"; - over-broad OAuth scope delete_repo getlibero-libero-9120828/apps/proxy-server/src/audit-cli.test.ts :79
{ at: NOON + 1000, tool: "delete_repo", outcome: "refused", refusalReason: "tool_not_allowed" }, - over-broad OAuth scope delete_repo getlibero-libero-9120828/e2e/src/attempt-record.test.ts :145
tool: "delete_repo", - over-broad OAuth scope delete_repo getlibero-libero-9120828/packages/proxy/src/audit-db.test.ts :1872
db.append(record({ at: NOON + 1, channel: CHANNEL, server: "github", tool: "delete_repo", outcome: "refused", refusalReason: "tool_not_allowed", task: "t-1" })); - over-broad OAuth scope delete_repo getlibero-libero-9120828/packages/proxy/src/enforce.test.ts :361
{ name: "delete_repo", approval: "none" }, - over-broad OAuth scope delete_repo getlibero-libero-9120828/packages/schema/src/refusal.test.ts :11
tool_not_allowed: { reason: "tool_not_allowed", server: "github", tool: "delete_repo" }, - over-broad OAuth scope delete_repo getlibero-libero-9120828/site/scripts/build-assets.mjs :180
el('div', { style: { flex: 1 } }, 'github.delete_repo'), - committed secret Slack token getlibero-libero-9120828/packages/agent/src/proxy/tools.test.ts :485
xoxb-n…(31 chars, redacted) - committed secret Slack app token getlibero-libero-9120828/packages/cli/src/doctor-cli.test.ts :27
xapp-1…(35 chars, redacted) - committed secret Slack token getlibero-libero-9120828/packages/schema/src/names.ts :18
xoxb-2…(20 chars, redacted) - committed secret GitHub token getlibero-libero-9120828/packages/schema/src/refusal.test.ts :129
ghp_16…(40 chars, redacted) - committed secret Slack token getlibero-libero-9120828/packages/schema/src/refusal.test.ts :129
xoxb-2…(20 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 493
filesystem 146
- fs (weak) getlibero-libero-9120828/apps/proxy-server/src/audit-cli.test.ts :1
import { existsSync, mkdtempSync, rmSync } from "node:fs"; - fs getlibero-libero-9120828/apps/proxy-server/src/audit-cli.ts :37
import { existsSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/proxy-server/src/audit-csv.test.ts :1
import { mkdtempSync, rmSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/proxy-server/src/budget-cli.test.ts :1
import { mkdtempSync, rmSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/proxy-server/src/drift-cli.test.ts :11
import { mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/proxy-server/src/env.test.ts :2
import { chmodSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs getlibero-libero-9120828/apps/proxy-server/src/env.ts :4
import { readFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/proxy-server/src/grant-cli.test.ts :2
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs getlibero-libero-9120828/apps/proxy-server/src/grant-cli.ts :30
import { readFileSync, readdirSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/proxy-server/src/vault-cli.test.ts :2
import { chmodSync, existsSync, mkdtempSync, readFileSync, rmSync, statSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/runner/src/sandbox.docker.test.ts :55
import { statSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/runner/src/server.test.ts :4
import { mkdtempSync, readFileSync, rmSync } from "node:fs";
show 28 more
- fs getlibero-libero-9120828/apps/runner/src/tls.ts :10
import { readFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/context.test.ts :17
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/follow-up.test.ts :18
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/memory-task.test.ts :17
import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/message-intake.test.ts :19
import { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/proactive-compose.test.ts :13
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/rebuild-cli.test.ts :17
import { mkdirSync, mkdtempSync, rmSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/revision-intake.test.ts :21
import { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/ambient.test.ts :13
import { mkdirSync, mkdtempSync, rmSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/channels.test.ts :7
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs getlibero-libero-9120828/apps/server/src/session/channels.ts :16
import { readdir } from "node:fs/promises"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/check.test.ts :13
import { mkdirSync, mkdtempSync, rmSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/heartbeat.test.ts :13
import { mkdirSync, mkdtempSync, rmSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/memory.test.ts :10
import { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs getlibero-libero-9120828/apps/server/src/session/memory.ts :36
import { existsSync } from "node:fs"; - fs getlibero-libero-9120828/apps/server/src/session/proposals.ts :21
import { existsSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/recall.test.ts :13
import { mkdirSync, mkdtempSync, rmSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/rule.test.ts :14
import { mkdirSync, mkdtempSync, rmSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/shared-skills.test.ts :8
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/sheet.test.ts :5
import { mkdtemp, mkdir, rm, writeFile } from "node:fs/promises"; - fs getlibero-libero-9120828/apps/server/src/session/sheet.ts :24
import { readFile } from "node:fs/promises"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/skill-curate.test.ts :24
} from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/skill-embed.test.ts :15
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/skill-lifecycle.test.ts :18
import { mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/skill-pool.test.ts :8
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/skill-recall.test.ts :15
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs (weak) getlibero-libero-9120828/apps/server/src/session/skills.test.ts :10
import { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs getlibero-libero-9120828/apps/server/src/session/skills.ts :40
import { existsSync } from "node:fs";
106 more not shown — this panel samples each group; the count above is the real total.
shell / exec 19
- shell (weak) getlibero-libero-9120828/apps/runner/src/sandbox.docker.test.ts :54
import { execFileSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/apps/runner/src/server.test.ts :3
import { execFileSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/e2e/src/harness/audit-cli.ts :21
import { spawn } from "node:child_process"; - shell (weak) getlibero-libero-9120828/e2e/src/harness/budget-cli.ts :23
import { spawn } from "node:child_process"; - shell (weak) getlibero-libero-9120828/e2e/src/harness/certs.ts :15
import { execFileSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/e2e/src/harness/drift-cli.ts :17
import { spawn } from "node:child_process"; - shell (weak) getlibero-libero-9120828/e2e/src/harness/proxy-process.ts :16
import { spawn } from "node:child_process"; - shell (weak) getlibero-libero-9120828/e2e/src/harness/runner-process.ts :23
import { spawn, type ChildProcess, execFileSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/e2e/src/sandbox-attack.test.ts :38
import { execFileSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/packages/agent/src/proxy/transport.test.ts :21
import { execFileSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/packages/atomic-write/src/atomic-write.test.ts :24
import { execFileSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/packages/aws-conformance/src/localstack.docker.test.ts :47
import { execFileSync } from "node:child_process";
show 7 more
- shell getlibero-libero-9120828/packages/cli/src/dev-certs.ts :26
import { spawnSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/packages/litellm-conformance/src/sidecar.docker.test.ts :57
import { execFileSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/packages/proxy/src/audit-db.test.ts :1
import { spawnSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/packages/proxy/src/outbound.test.ts :1
import { execFileSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/packages/proxy/src/sandbox-dispatcher.gate.test.ts :16
import { execFileSync } from "node:child_process"; - shell (weak) getlibero-libero-9120828/packages/proxy/src/server.test.ts :12
import { execFileSync } from "node:child_process"; - shell getlibero-libero-9120828/site/src/lib/last-modified.mjs :17
import { execFileSync } from 'node:child_process';
network 28
- net (weak) getlibero-libero-9120828/apps/proxy-server/src/grant-cli.test.ts :91
const response = await fetch(match[1], { redirect: "manual" }); - net getlibero-libero-9120828/apps/runner/src/docker.ts :29
import { request as httpRequest } from "node:http"; - net (weak) getlibero-libero-9120828/apps/runner/src/hop-server.test.ts :4
import { connect } from "node:net"; - net getlibero-libero-9120828/apps/runner/src/hop-server.ts :48
import { createServer, type Server } from "node:http"; - net (weak) getlibero-libero-9120828/apps/runner/src/server.test.ts :9
import { request as httpsRequest } from "node:https"; - net getlibero-libero-9120828/apps/runner/src/server.ts :35
import { createServer, type Server, type ServerOptions } from "node:https"; - net getlibero-libero-9120828/apps/runner/src/tls.ts :11
import type { ServerOptions } from "node:https"; - net (weak) getlibero-libero-9120828/e2e/src/harness/client.ts :23
import { request as httpsRequest } from "node:https"; - net (weak) getlibero-libero-9120828/e2e/src/oauth-rotation.test.ts :105
const replay = await fetch(`${as.url}/token`, { - net (weak) getlibero-libero-9120828/e2e/src/oauth.test.ts :263
const response = await fetch(`${upstream.url}/mcp`, { - net (weak) getlibero-libero-9120828/packages/agent/src/proxy/transport.test.ts :24
import { createServer, type Server } from "node:https"; - net getlibero-libero-9120828/packages/agent/src/proxy/transport.ts :31
import { Agent, request as httpsRequest } from "node:https";
show 16 more
- net (weak) getlibero-libero-9120828/packages/aws-conformance/src/localstack.docker.test.ts :48
import { createServer, type Server } from "node:http"; - net (weak) getlibero-libero-9120828/packages/litellm-conformance/src/sidecar.docker.test.ts :58
import { createServer, type Server } from "node:http"; - net (weak) getlibero-libero-9120828/packages/proxy/src/custody-gcp.test.ts :219
const created = await fetch( - net getlibero-libero-9120828/packages/proxy/src/fake-secret-manager.ts :31
import { createServer } from "node:http"; - net getlibero-libero-9120828/packages/proxy/src/fake-secrets-manager.ts :34
import { createServer } from "node:http"; - net (weak) getlibero-libero-9120828/packages/proxy/src/fake-token-issuer.test.ts :50
const response = await fetch(`${at.url}/token`, { - net getlibero-libero-9120828/packages/proxy/src/fake-token-issuer.ts :47
import { type Server, createServer } from "node:http"; - net (weak) getlibero-libero-9120828/packages/proxy/src/grant-flow.test.ts :71
const response = await fetch(shown, { redirect: "manual" }); - net (weak) getlibero-libero-9120828/packages/proxy/src/http-dispatcher.test.ts :3
import { createServer } from "node:http"; - net getlibero-libero-9120828/packages/proxy/src/mcp-fake-server.ts :39
import { type Server, createServer } from "node:http"; - net (weak) getlibero-libero-9120828/packages/proxy/src/outbound.test.ts :3
import { createServer } from "node:http"; - net (weak) getlibero-libero-9120828/packages/proxy/src/sandbox-dispatcher.gate.test.ts :21
import { createServer, type Server } from "node:https"; - net getlibero-libero-9120828/packages/proxy/src/sandbox-dispatcher.ts :35
import { Agent, request as httpsRequest } from "node:https"; - net (weak) getlibero-libero-9120828/packages/proxy/src/server.test.ts :15
import { request } from "node:https"; - net getlibero-libero-9120828/packages/proxy/src/server.ts :68
import type { IncomingMessage, ServerResponse } from "node:http"; - net getlibero-libero-9120828/packages/proxy/src/tls.ts :9
import type { ServerOptions } from "node:https";
secrets 1
- secrets getlibero-libero-9120828/apps/proxy-server/src/index.ts :83
delete process.env.PROXY_VAULT_KEY;
declared dependencies 5
- @types/node@^24.13.3
- eslint@^10.9.1
- license-checker-rseidelsohn@^5.0.1
- typescript@^6.0.3
- typescript-eslint@^8.68.0
transport_posture 2
- network-listening, binds all interfaces, no auth detected getlibero-libero-9120828/apps/runner/src/hop.ts :34
server.listen(port, "0.0.0.0", () => { - binds all interfaces (0.0.0.0) getlibero-libero-9120828/packages/litellm-conformance/src/sidecar.docker.test.ts :177
server.listen(0, "0.0.0.0", () =>