github TypeScript analyzed 39b3872

Eilodon/KARMA-Eilodon

github

Agentic skill-economy protocol for AI agents — identity, reputation, escrow, and governance, live on Casper Testnet (Odra) and Stellar Testnet (Soroban ZK).

maintainer
Eilodon
license
Apache-2.0
first seen
2026-07-10
last seen
2026-08-02
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×4 in Eilodon/KARMA-Eilodon
  2. HIGH code analysis flagged dynamic code execution ×2 in Eilodon/KARMA-Eilodon
  3. HIGH code analysis flagged dynamic code execution ×2 in Eilodon/KARMA-Eilodon
  4. HIGH code analysis flagged dynamic code execution ×2 in Eilodon/KARMA-Eilodon
capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 39b3872 · analyzer v28 · 3d ago

skills & prompt files 1

danger signals6

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 293

filesystem 13

  • fs Eilodon-KARMA-Eilodon-39b3872/demo-video/extract_casper_txs.mjs :9 import fs from "node:fs";
  • fs Eilodon-KARMA-Eilodon-39b3872/demo-video/manifest.mjs :9 import fs from "node:fs";
  • fs Eilodon-KARMA-Eilodon-39b3872/demo-video/manifest_casper.mjs :11 import fs from "node:fs";
  • fs Eilodon-KARMA-Eilodon-39b3872/src/core/plugin_loader.ts :1 import fs from "node:fs/promises";
  • fs Eilodon-KARMA-Eilodon-39b3872/src/core/plugin_worker.ts :98 const fs = require("node:fs");
  • fs Eilodon-KARMA-Eilodon-39b3872/src/lib/autonomous_loop/dashboard.ts :14 import { writeFileSync, mkdirSync, appendFileSync } from "node:fs";
  • fs Eilodon-KARMA-Eilodon-39b3872/src/lib/autonomous_loop/runner.ts :12 import { existsSync, readFileSync } from "node:fs";
  • fs Eilodon-KARMA-Eilodon-39b3872/src/lib/casper/live_client.ts :1 import { readFileSync } from "node:fs";
  • fs Eilodon-KARMA-Eilodon-39b3872/src/lib/keystore.ts :8 import { readFile } from "node:fs/promises";
  • fs Eilodon-KARMA-Eilodon-39b3872/src/lib/zk/reputation_aggregation.ts :23 import { readFileSync } from "node:fs";
  • fs Eilodon-KARMA-Eilodon-39b3872/src/storage/audit_store.ts :1 import { appendFile, mkdir, readFile } from "node:fs/promises";
  • fs Eilodon-KARMA-Eilodon-39b3872/src/storage/local_fs.ts :1 import { access, mkdir, readFile, readdir, rename, rm, writeFile } from "node:fs/promises";
  • fs Eilodon-KARMA-Eilodon-39b3872/src/telemetry/file_logger.ts :1 import { appendFile, rename, stat, mkdir, chmod } from "node:fs/promises";

shell / exec 7

  • shell Eilodon-KARMA-Eilodon-39b3872/demo-video/extract_casper_txs.mjs :11 import { execFileSync } from "node:child_process";
  • shell Eilodon-KARMA-Eilodon-39b3872/demo-video/manifest.mjs :11 import { execFileSync } from "node:child_process";
  • shell Eilodon-KARMA-Eilodon-39b3872/demo-video/manifest_casper.mjs :13 import { execFileSync } from "node:child_process";
  • shell Eilodon-KARMA-Eilodon-39b3872/src/core/pattern_debt.ts :47 "JS-level guards block worker_threads.Worker, dgram, http2, raw net.Socket, VM APIs, process.dlopen, process.kill, DNS, inspector, cluster, child_process, and expanded filesystem mutation APIs.",
  • shell Eilodon-KARMA-Eilodon-39b3872/src/core/plugin_external_runner.ts :1 import { fork, type ChildProcess } from "node:child_process";
  • shell Eilodon-KARMA-Eilodon-39b3872/src/core/plugin_worker.ts :11 // module has installed plugin guards. Prewarm it before child_process and
  • shell Eilodon-KARMA-Eilodon-39b3872/src/core/runtime_identity.ts :4 * The external plugin worker (src/core/plugin_worker.ts) is a per-call `fork()` with a fresh

network 3

  • net Eilodon-KARMA-Eilodon-39b3872/src/core/plugin_worker.ts :193 const net = require("node:net");
  • net Eilodon-KARMA-Eilodon-39b3872/src/lib/autonomous_loop/llm_strategy.ts :224 const res = await fetch(url, {
  • net Eilodon-KARMA-Eilodon-39b3872/src/lib/zk/signed_tls_attestation.ts :31 import { request as httpsRequest, type RequestOptions } from "node:https";

secrets 4

  • secrets Eilodon-KARMA-Eilodon-39b3872/src/config/env.ts :175 MCP_API_KEY: process.env.MCP_API_KEY,
  • secrets Eilodon-KARMA-Eilodon-39b3872/src/index.ts :124 rpcHeaders: process.env.CASPER_RPC_API_KEY ? { Authorization: process.env.CASPER_RPC_API_KEY } : undefined,
  • secrets Eilodon-KARMA-Eilodon-39b3872/src/plugins/casper.tool.ts :1316 const apiKey = process.env.CASPER_RPC_API_KEY;
  • secrets Eilodon-KARMA-Eilodon-39b3872/src/plugins/x402_casper.ts :262 opts.settlementTokenPackageHash ?? process.env.KARMA_X402_CASPER_SETTLEMENT_TOKEN;

database 6

  • db Eilodon-KARMA-Eilodon-39b3872/src/middlewares/execution_lock.ts :2 import type { Redis } from "ioredis";
  • db Eilodon-KARMA-Eilodon-39b3872/src/middlewares/idempotency.ts :3 import type { Redis } from "ioredis";
  • db Eilodon-KARMA-Eilodon-39b3872/src/middlewares/quota.ts :2 import type { Redis } from "ioredis";
  • db Eilodon-KARMA-Eilodon-39b3872/src/middlewares/rate_limit.ts :2 import type { Redis } from "ioredis";
  • db Eilodon-KARMA-Eilodon-39b3872/src/middlewares/vault.ts :1 import type { Redis } from "ioredis";
  • db Eilodon-KARMA-Eilodon-39b3872/src/storage/redis_client.ts :1 import { Redis } from "ioredis";

declared dependencies 48

  • @modelcontextprotocol/express@^2.0.0-beta.4
  • @modelcontextprotocol/node@^2.0.0-beta.4
  • @modelcontextprotocol/server@^2.0.0-beta.4
  • @anthropic-ai/sdk@^0.112.3
  • @aws-sdk/client-kms@^3.1089.0
  • @casper-ecosystem/casper-eip-712@^1.2.1
  • @cfworker/json-schema@^4.1.1
  • @opentelemetry/api@^1.9.0
  • @opentelemetry/exporter-trace-otlp-http@^0.220.0
  • @opentelemetry/resources@^2.9.0
  • @opentelemetry/sdk-node@^0.220.0
  • @opentelemetry/semantic-conventions@^1.30.0
  • @stellar/stellar-sdk@16.0.1
  • @terminal3/t3n-sdk@4.14.0
  • @x402/core@^2.17.0
  • @x402/stellar@^2.16.0
  • ajv@^8.17.1
  • blake2b@^2.1.4
  • casper-js-sdk@^5.0.12
  • circomlibjs@^0.1.7
  • cors@^2.8.6
  • dotenv@^17.4.2
  • express@^5.2.1
  • ioredis@^5.4.0
  • jose@^6.2.3
  • minisearch@^7.2.0
  • snarkjs@^0.7.6
  • viem@^2.55.2
  • zod@^4.1.13
  • @eslint/js@^10.0.1
  • @openzeppelin/contracts@^5.6.1
  • @resvg/resvg-js@^2.6.2
  • @types/cors@^2.8.19
  • @types/express@^5.0.6
  • @types/node@^26.1.0
  • esbuild@^0.28.1
  • eslint@^10.6.0
  • eslint-plugin-n@^18.2.1
  • eslint-plugin-security@^4.0.1
  • tsx@^4.22.5
  • typescript@^6.0.3
  • typescript-eslint@^8.64.0
  • vitest@^4.1.9
  • odra@=2.9.0
  • odra-modules@=2.8.2
  • odra-build@=2.9.0
  • odra-test@=2.9.0
  • proptest@1

obfuscation 1

  • dynamic require()/import() Eilodon-KARMA-Eilodon-39b3872/src/core/plugin_loader.ts :203 const module = await import(`file://${fullPath}`);