The most autonomous AI agent framework: runs unattended on GitHub Actions, self-healing skills, drives Claude Code, Grok, Codex & more. No approval loops. Configure once, forget forever.
Drift inferred · capture-to-capture
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
- HIGH code analysis flagged hidden prompt content ×2, committed secret in aeonfun/aeon
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 commit 7e1c6ad · analyzer v33 · 6h ago
skills & prompt files 42
- hidden: skill: skill-exfil aeonfun-aeon-7e1c6ad/skills/heartbeat/SKILL.md :285
secret→sink: - POST to `https://api.resend.com/emails`: - hidden: skill: skill-exfil aeonfun-aeon-7e1c6ad/skills/send-email/SKILL.md :88
secret→sink: 9. **Build payload + send.** Build the JSON with `python3` reading `RESEND_FROM`/`RESEND_REPLY_TO` from `os.environ` — so no secret-named var ever lands on a command line (a `--arg from "
- skill aeonfun-aeon-7e1c6ad/.claude/skills/aeon/SKILL.md
- agent-rules aeonfun-aeon-7e1c6ad/AGENTS.md
- agent-rules aeonfun-aeon-7e1c6ad/CLAUDE.md
- skill aeonfun-aeon-7e1c6ad/docs/examples/skill-templates/code-reviewer/SKILL.md
- skill aeonfun-aeon-7e1c6ad/docs/examples/skill-templates/community-manager/SKILL.md
- skill aeonfun-aeon-7e1c6ad/docs/examples/skill-templates/crypto-tracker/SKILL.md
- skill aeonfun-aeon-7e1c6ad/docs/examples/skill-templates/deploy-watcher/SKILL.md
- skill aeonfun-aeon-7e1c6ad/docs/examples/skill-templates/research-digest/SKILL.md
- skill aeonfun-aeon-7e1c6ad/docs/examples/skill-templates/social-monitor/SKILL.md
- skill aeonfun-aeon-7e1c6ad/plugin/skills/aeon/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/benign-authcall/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/benign-cmdsub/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/benign-defensive/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/benign-templatevar/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-curlperl/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-curlsh/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-exfil-query/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-exfil/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-injection-keyword/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-injection-quoted/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-injection/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-rce-procsub/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-rce-source/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-rmrf-flags/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-rmrf-glob/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-rmrf-quoted/SKILL.md
- skill aeonfun-aeon-7e1c6ad/scripts/tests/skill-scan-fixtures/malicious-rmrf/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/action-converter/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/aeon-doctor/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/aeon-update/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/article/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/auto-merge/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/auto-workflow/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/autoresearch/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/base-mcp/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/bd-radar/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/changelog/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/competitor-monitor/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/compute-resell/SKILL.md
- skill aeonfun-aeon-7e1c6ad/skills/cortx-reliability/SKILL.md
danger signals8
- suspicious endpoint api.telegram.org aeonfun-aeon-7e1c6ad/apps/dashboard/components/InstantModeCard.tsx :38
`curl "https://api.telegram.org/bot${botToken.trim() || '<YOUR_BOT_TOKEN>'}/setWebhook?url=${fullWorkerUrl || 'https://<your-worker>.workers.dev'}"` - suspicious endpoint t.me aeonfun-aeon-7e1c6ad/apps/dashboard/components/InstantModeCard.tsx :125
<a href="https://t.me/BotFather" target="_blank" rel="noopener noreferrer" - suspicious endpoint t.me aeonfun-aeon-7e1c6ad/apps/dashboard/components/SecretsPanel.tsx :164
href="https://t.me/BotFather" - suspicious endpoint api.telegram.org aeonfun-aeon-7e1c6ad/apps/dashboard/components/TelegramChatIdHelper.tsx :31
const getUpdatesUrl = trimmed ? `https://api.telegram.org/bot${trimmed}/getUpdates` : null - suspicious endpoint mcp.posthog.com (telemetry) aeonfun-aeon-7e1c6ad/apps/dashboard/lib/mcp-catalog.ts :109
url: 'https://mcp.posthog.com/mcp', - suspicious endpoint api.telegram.org aeonfun-aeon-7e1c6ad/apps/webhook/src/worker.js :228
await fetch(`https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/answerCallbackQuery`, { - committed secret GitHub fine-grained PAT aeonfun-aeon-7e1c6ad/apps/dashboard/lib/github-auth.test.ts :13
github…(42 chars, redacted) - committed secret OpenAI key aeonfun-aeon-7e1c6ad/scripts/dry-run.sh :63
sk-DRY…(39 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 280
filesystem 22
- fs (weak) aeonfun-aeon-7e1c6ad/.claude/skills/aeon/scripts/mine-history.mjs :25
import fs from 'node:fs'; - fs (weak) aeonfun-aeon-7e1c6ad/.github/scripts/iron-config.mjs :10
import { readFileSync } from "node:fs"; - fs (weak) aeonfun-aeon-7e1c6ad/.github/scripts/iron-report.mjs :10
import { readFileSync } from "node:fs"; - fs aeonfun-aeon-7e1c6ad/apps/cli/src/commands/secrets.ts :1
import { readFileSync } from 'node:fs' - fs aeonfun-aeon-7e1c6ad/apps/cli/src/commands/strategy.ts :2
import { readFileSync } from 'node:fs' - fs aeonfun-aeon-7e1c6ad/apps/dashboard/app/api/analytics/route.ts :4
import { readFileSync } from 'fs' - fs aeonfun-aeon-7e1c6ad/apps/dashboard/app/api/grok-auth/route.ts :3
import { existsSync } from 'fs' - fs aeonfun-aeon-7e1c6ad/apps/dashboard/app/api/outputs/route.ts :2
import { readdir, readFile } from 'fs/promises' - fs aeonfun-aeon-7e1c6ad/apps/dashboard/lib/github.ts :1
import { readFile, writeFile, readdir, mkdir, rm } from 'fs/promises' - fs aeonfun-aeon-7e1c6ad/apps/dashboard/lib/harness-auth-server.ts :2
import { existsSync } from 'fs' - fs aeonfun-aeon-7e1c6ad/apps/dashboard/lib/memory.ts :1
import { readdir, readFile, stat } from 'fs/promises' - fs aeonfun-aeon-7e1c6ad/apps/mcp-server/src/skill-executor.ts :11
import { readFileSync, existsSync } from "fs";
show 10 more
- fs (weak) aeonfun-aeon-7e1c6ad/plugin/skills/aeon/scripts/mine-history.mjs :26
import fs from 'node:fs'; - fs (weak) aeonfun-aeon-7e1c6ad/scripts/competitor-monitor.mjs :29
import { readFileSync, writeFileSync } from 'node:fs' - fs (weak) aeonfun-aeon-7e1c6ad/scripts/fleet-scorecard.mjs :17
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs'; - fs (weak) aeonfun-aeon-7e1c6ad/scripts/gen-agents-md.js :33
const fs = require('fs') - fs (weak) aeonfun-aeon-7e1c6ad/scripts/skill-health-routing.mjs :13
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) aeonfun-aeon-7e1c6ad/scripts/tests/test_fleet_scorecard.mjs :3
import { readFileSync } from 'node:fs' - fs (weak) aeonfun-aeon-7e1c6ad/scripts/validate-config.js :38
const fs = require('fs'); - fs (weak) aeonfun-aeon-7e1c6ad/scripts/validate-config.test.js :14
const fs = require('fs'); - fs (weak) aeonfun-aeon-7e1c6ad/scripts/validate-readme-catalog.mjs :47
import { readFileSync, existsSync } from 'node:fs' - fs (weak) aeonfun-aeon-7e1c6ad/scripts/validate-skill-packs.mjs :46
import { readFileSync, existsSync } from 'node:fs'
shell / exec 19
- shell aeonfun-aeon-7e1c6ad/apps/dashboard/app/api/analytics/route.ts :2
import { execFileSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/app/api/grok-auth/route.ts :2
import { spawn, execFileSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/app/api/observability/route.ts :2
import { execFileSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/app/api/outputs/route.ts :4
import { execSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/auth.ts :1
import { execFileSync, execSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/builders.ts :1
import { execFileSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/dispatch.ts :25
* `execFileSync('gh', [...])` (argv array, no shell), so this is defense-in-depth - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/gh.ts :1
import { execSync, execFileSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/github-auth.ts :1
import { execFileSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/github.ts :2
import { execFileSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/harness-auth-server.ts :1
import { execFileSync, spawn, type ChildProcess } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/open-browser.ts :6
import { execFile } from 'child_process'
show 7 more
- shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/run-skill.ts :1
import { execFileSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/runs.ts :1
import { execFileSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/secrets-catalog.ts :1
import { execFileSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/skills.ts :1
import { execSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/dashboard/lib/sync.ts :1
import { execSync } from 'child_process' - shell aeonfun-aeon-7e1c6ad/apps/mcp-server/src/skill-executor.ts :13
import { spawn, spawnSync } from "child_process"; - shell aeonfun-aeon-7e1c6ad/skills/rightstack/run.mjs :3
import { spawnSync } from "node:child_process";
network 20
- net aeonfun-aeon-7e1c6ad/apps/dashboard/app/page.tsx :115
try { const [sr, rr, secr] = await Promise.all([fetch('/api/skills'), fetch('/api/runs'), fetch('/api/secrets')]); if (sr.ok) { const d = await sr.json() as SkillsResponse; setSkills(d.skills); if (d. - net aeonfun-aeon-7e1c6ad/apps/dashboard/components/InstantModeCard.tsx :56
const res = await fetch(`https://api.telegram.org/bot${botToken.trim()}/setWebhook?url=${encodeURIComponent(fullWorkerUrl)}`) - net aeonfun-aeon-7e1c6ad/apps/dashboard/components/LangfuseRegionCard.tsx :32
fetch('/api/observability') - net aeonfun-aeon-7e1c6ad/apps/dashboard/components/McpPanel.tsx :158
const res = await fetch('/api/mcp-auth', { - net aeonfun-aeon-7e1c6ad/apps/dashboard/components/RightPanel.tsx :55
try { const r = await fetch(`/api/runs/${run.id}/logs`); if (r.ok) { const d = await r.json() as RunLogs; setRunSummary(d.summary || ''); setRunLogs(d.logs || '') } } catch { setRunLogs('Failed') } fi - net aeonfun-aeon-7e1c6ad/apps/dashboard/components/SoulPanel.tsx :48
useEffect(() => { fetch('/api/soul/examples').then(r => r.ok ? r.json() as Promise<SoulExamplesResponse> : { examples: [] }).then(d => setExamples(d.examples || [])).catch(() => {}) }, []) - net aeonfun-aeon-7e1c6ad/apps/dashboard/components/TelegramChatIdHelper.tsx :41
const res = await fetch(getUpdatesUrl) - net aeonfun-aeon-7e1c6ad/apps/dashboard/components/TelegramCommandsCard.tsx :27
const res = await fetch('/api/telegram/commands', { method: 'POST' }) - net aeonfun-aeon-7e1c6ad/apps/dashboard/lib/api-client.ts :19
const res = await fetch(url, init) - net aeonfun-aeon-7e1c6ad/apps/dashboard/lib/github.ts :100
return fetch(`${GITHUB_API}/repos/${repo}/contents/${path}`, { - net aeonfun-aeon-7e1c6ad/apps/dashboard/lib/mcp-oauth.ts :60
const res = await fetch(url, { ...init, headers: { Accept: 'application/json', ...(init?.headers ?? {}) } }) - net aeonfun-aeon-7e1c6ad/apps/dashboard/lib/security/api-gate.ts :29
* `fetch("http://localhost:5555/api/skills/foo/run", { method: "POST",
show 8 more
- net aeonfun-aeon-7e1c6ad/apps/dashboard/lib/sync.ts :11
// GET /api/sync and `aeon sync --status`. A failed fetch (offline/no remote) leaves - net aeonfun-aeon-7e1c6ad/apps/webhook/src/worker.js :38
async fetch(request, env, ctx) { - net (weak) aeonfun-aeon-7e1c6ad/apps/webhook/test/replay-guard.test.mjs :33
// --- stub the outbound fetch() the Worker uses for both the GitHub dispatch - net (weak) aeonfun-aeon-7e1c6ad/scripts/competitor-monitor.mjs :25
// Exit 0 on success. `snapshot` exits 1 only if EVERY url failed to fetch (one dead - net (weak) aeonfun-aeon-7e1c6ad/scripts/fleet-scorecard.mjs :31
return fetch(`https://api.github.com/${path}`, { headers }); - net (weak) aeonfun-aeon-7e1c6ad/scripts/seo-audit.mjs :423
return fetch(url, { - net aeonfun-aeon-7e1c6ad/skills/compute-resell/bootstrap-siwe.mjs :40
const chalRes = await fetch(`${HOST}/v1/seller/auth/challenge?address=${address}`, { - net (weak) aeonfun-aeon-7e1c6ad/skills/taskmarket-delegate/scripts/taskmarket.js :24
const res = await fetch(`${BASE}/api/tasks?limit=100`);
secrets 5
- secrets aeonfun-aeon-7e1c6ad/apps/dashboard/lib/github.ts :18
return !process.env.GITHUB_TOKEN || !process.env.GITHUB_REPO - secrets (weak) aeonfun-aeon-7e1c6ad/scripts/fleet-scorecard.mjs :19
const TOKEN = process.env.GH_READ_PAT || process.env.GH_GLOBAL || process.env.GH_TOKEN || process.env.GITHUB_TOKEN || ''; - secrets (weak) aeonfun-aeon-7e1c6ad/scripts/seo-audit.mjs :966
const pagespeedKey = process.env.PAGESPEED_API_KEY || null - secrets aeonfun-aeon-7e1c6ad/skills/compute-resell/bootstrap-siwe.mjs :27
const pk = process.env.SELLER_WALLET_PRIVATE_KEY; - secrets (weak) aeonfun-aeon-7e1c6ad/skills/taskmarket-delegate/scripts/taskmarket.js :42
if (!process.env.TASKMARKET_API_KEY) exit(3, 'TASKMARKET_API_KEY not set; write actions require it');
obfuscation 1
- dynamic require()/import() aeonfun-aeon-7e1c6ad/scripts/tests/test_fleet_scorecard.mjs :34
await import(new URL(`../fleet-scorecard.mjs?test=${Date.now()}`, import.meta.url))
perm:untrusted 1
- untrusted aeonfun-aeon-7e1c6ad/apps/dashboard/lib/api-client.ts :29
return fetch(url).then(r => r.ok ? r.json() as Promise<T> : Promise.reject(new Error(`HTTP ${r.status}`)))