code-yeongyu/oh-my-openagent agent hook mcp skill
code generation
oh-my-openagent is a multi-model agent orchestration server that coordinates work across Claude Code, Codex, and other LLM-based code agents. It ships in two editions: an Ultimate edition for OpenCode with 11 agents and 54+ lifecycle hooks, and a Light edition for Codex CLI with 8 core components. Install it to run complex code tasks through a unified `ultrawork` command rather than managing multiple agents separately.
Orchestrate code generation and refactoring tasks across multiple LLM agents and models from a single command Configure provider authentication (Anthropic, Gemini, Copilot, Z.ai) once and route work to the best-fit model Run autonomous code workflows in Team Mode, with pre-built patterns for analysis, search, and planning tasks Extend agent behavior using 54+ lifecycle hooks and built-in MCPs for git, LSP, and context management Use the Light edition as a portable Codex CLI plugin when full agent orchestration isn't needed 3 CRITICAL✓ 17 HIGH✓ 156 MEDIUM 100 LOW 2 INFO
✓ CRITICAL/HIGH reflect AI-verified findings (false positives excluded) · MEDIUM/LOW/INFO are unverified scanner output
AI-verified (CRITICAL/HIGH): 2 confirmed (10%) 18 likely real (90%) 26 false positive — excluded from CRITICAL/HIGH count above
Findings by checker · 8 high-signal, 8 mostly false-positive (hidden by default)
CHK-129 7 findings 6 likely 1 false positive
14% FP CHK-099 4 findings 3 likely 1 false positive
25% FP CHK-097 2 findings 2 likely
0% FP CHK-081 1 finding 1 likely
0% FP CHK-073 1 finding 1 likely
0% FP CHK-047 1 finding 1 confirmed
0% FP CHK-008 1 finding 1 likely
0% FP CHK-074 1 finding 1 likely
0% FP ▼ Show 8 checkers that are mostly false positives (28 findings) 174 findings click to expand
CHK-097 execSync/exec called with environment variable value — arbitrary command execution
script/qa/xterm-live-terminal.mjs
AI: likely real likely ▼
CHK-097 execSync/exec called with environment variable value — arbitrary command execution
script/qa/web-terminal-visual-qa.mjs
AI: likely real likely ▼
CHK-081 Command injection risk — exec/execSync with string interpolation in packages/omo-opencode/src/features/monitor/filter.ts
packages/omo-opencode/src/features/monitor/filter.ts
AI: likely real confirmed ▼
CHK-099 Potential IDOR — 'task_id' accessed without ownership check
packages/omo-opencode/src/features/tool-metadata-store/task-metadata-contract.ts
AI: likely real possible ▼
CHK-099 Potential IDOR — 'task_id' accessed without ownership check
packages/senpi-task/src/store/record-parse.ts
AI: likely real possible ▼
CHK-073 Curl Pipe Bash Install detected in .devcontainer/Dockerfile
.devcontainer/Dockerfile
AI: likely real likely ▼
CHK-125 spawnSync() — synchronous process spawn — no scope constraint in lsp/process.ts
packages/lsp-core/src/lsp/process.ts
AI: likely real likely ▼
CHK-047 Potential SSRF — user-controlled URL passed to HTTP client in packages/shared-skills/skills/ultimate-browsing/engine/__main__.py
packages/shared-skills/skills/ultimate-browsing/engine/__main__.py
AI: confirmed likely ▼
CHK-023 Embedded instruction in skill file — XML system tags
packages/shared-skills/skills/debugging/references/runtimes/native-binary.md
AI: likely real likely ▼
CHK-125 spawnSync() — synchronous process spawn — no scope constraint in lsp/process.ts
packages/omo-senpi/src/components/lsp/lsp/process.ts
AI: likely real likely ▼
CHK-129 Sensitive field in return type/schema — Token: str
packages/openclaw-core/src/reply-listener-spawn.ts
AI: likely real likely ▼
CHK-129 Sensitive field in return type/schema — api_key: str
script/stats.ts
AI: likely real likely ▼
CHK-129 Sensitive field in return type/schema — Token: str
packages/mcp-client-core/src/mcp-oauth/storage.ts
AI: likely real likely ▼
CHK-008 Stop governance hook captures broad tool output
packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json
AI: likely real likely ▼
CHK-023 Embedded instruction in skill file — XML system tags
.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md
AI: confirmed likely ▼
CHK-074 Permission bypass referenced in documentation
.agents/skills/opencode-qa/references/cli-commands.md
AI: likely real likely ▼
CHK-129 Sensitive field in return type/schema — Token: str
packages/openclaw-core/src/reply-listener-startup.ts
AI: likely real likely ▼
CHK-129 Sensitive field in return type/schema — token: str
packages/openclaw-core/src/session-registry-lock.ts
AI: likely real likely ▼
CHK-099 Potential IDOR — 'task_id' accessed without ownership check
packages/omo-opencode/src/tools/delegate-task/task-id.ts
AI: likely real possible ▼
CHK-129 Sensitive field in return type/schema — Token: str
packages/openclaw-core/src/reply-listener-state.ts
AI: likely real likely ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/programming/references/python/one-liners.md
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in checks/codex-components.ts
packages/omo-opencode/src/cli/doctor/checks/codex-components.ts
possible ▼
CHK-125a fs.unlinkSync — file deletion — no scope constraint in auto-update-checker/cache.ts
packages/omo-opencode/src/hooks/auto-update-checker/cache.ts
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in hashline-read-enhancer/hook.ts
packages/omo-opencode/src/hooks/hashline-read-enhancer/hook.ts
possible ▼
CHK-125a fs.unlinkSync — file deletion — no scope constraint in checker/sync-package-json.ts
packages/omo-opencode/src/hooks/auto-update-checker/checker/sync-package-json.ts
possible ▼
CHK-125 spawnSync() — synchronous process spawn — no scope constraint in scripts/install-local.mjs
packages/omo-codex/scripts/install-local.mjs
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in scripts/auto-update-plan.mjs
packages/omo-codex/plugin/scripts/auto-update-plan.mjs
possible ▼
CHK-125 spawnSync() — synchronous process spawn — no scope constraint in scripts/build-bundled-mcp-runtimes.mjs
packages/omo-codex/plugin/scripts/build-bundled-mcp-runtimes.mjs
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in scripts/sync-skills.mjs
packages/omo-codex/plugin/scripts/sync-skills.mjs
possible ▼
CHK-125 spawnSync() — synchronous process spawn — no scope constraint in scripts/auto-update.mjs
packages/omo-codex/plugin/scripts/auto-update.mjs
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in scripts/hook-status-message.mjs
packages/omo-codex/plugin/scripts/hook-status-message.mjs
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in telemetry/README.md
packages/omo-codex/plugin/components/telemetry/README.md
possible ▼
CHK-125 spawnSync() — synchronous process spawn — no scope constraint in scripts/build.mjs
packages/omo-codex/plugin/components/bootstrap/scripts/build.mjs
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in src/environment.ts
packages/omo-codex/plugin/components/bootstrap/src/environment.ts
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in src/review-blockers.ts
packages/omo-codex/plugin/components/ulw-loop/src/review-blockers.ts
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in src/steering.ts
packages/omo-codex/plugin/components/ulw-loop/src/steering.ts
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in src/codex-hook.ts
packages/omo-codex/plugin/components/lazycodex-executor-verify/src/codex-hook.ts
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/programming/references/rust/libraries.md
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/programming/references/rust/one-liners.md
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/programming/scripts/go/new-project.py
possible ▼
CHK-125 spawnSync() — synchronous process spawn — no scope constraint in scripts/team-worktree.mjs
packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team-worktree.mjs
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/programming/scripts/python/new-project.py
possible ▼
CHK-125 spawnSync() — synchronous process spawn — no scope constraint in scripts/test.mjs
packages/omo-codex/plugin/components/lsp/scripts/test.mjs
possible ▼
CHK-115 Credential file path referenced in skill content: .env"
packages/shared-skills/skills/programming/scripts/python/check-no-excuse-rules.py
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/programming/scripts/python/new-script.py
possible ▼
CHK-125 execSync() — synchronous shell execution — no scope constraint in scripts/build-lsp-tools.mjs
packages/omo-codex/plugin/components/lsp/scripts/build-lsp-tools.mjs
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/programming/scripts/typescript/new-project.ts
possible ▼
CHK-125 execSync() — synchronous shell execution — no scope constraint in scripts/build-lsp-daemon.mjs
packages/omo-codex/plugin/components/lsp/scripts/build-lsp-daemon.mjs
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in migrate-omo-sot/editor.mjs
packages/omo-codex/plugin/scripts/migrate-omo-sot/editor.mjs
possible ▼
CHK-115 Credential file path referenced in skill content: .env.
packages/shared-skills/skills/programming/scripts/typescript/new-project.ts
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/programming/scripts/rust/new-project.py
possible ▼
CHK-020 hooks field in plugin.json — 23 hooks cause duplicate execution in Claude Code v2.1+
packages/omo-codex/plugin/.codex-plugin/plugin.json
possible ▼
CHK-020 hooks field in plugin.json — 1 hooks cause duplicate execution in Claude Code v2.1+
packages/omo-codex/plugin/components/rules/.codex-plugin/plugin.json
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in install/codex-cache-dangling-bins.ts
packages/omo-codex/src/install/codex-cache-dangling-bins.ts
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in install/lazycodex-manual-update.ts
packages/omo-codex/src/install/lazycodex-manual-update.ts
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in src/runner.ts
packages/tmux-core/src/runner.ts
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in src/model-family-detectors.ts
packages/model-core/src/model-family-detectors.ts
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in programming/SKILL.md
packages/shared-skills/skills/programming/SKILL.md
possible ▼
CHK-125 eval() — arbitrary code execution — no scope constraint in references/pitfalls.md
packages/shared-skills/skills/ast-grep/references/pitfalls.md
possible ▼
CHK-125 eval() — arbitrary code execution — no scope constraint in references/cli.md
packages/shared-skills/skills/ast-grep/references/cli.md
possible ▼
CHK-125b sudo invocation — privilege escalation — no scope constraint in references/install.md
packages/shared-skills/skills/ast-grep/references/install.md
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in scripts/ast_grep_helper.py
packages/shared-skills/skills/ast-grep/scripts/ast_grep_helper.py
possible ▼
CHK-125b chmod — permission modification — no scope constraint in design/lazyweb.md
packages/shared-skills/skills/frontend/references/design/lazyweb.md
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in perfection/lighthouse-audit.py
packages/shared-skills/skills/frontend/scripts/perfection/lighthouse-audit.py
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in agent_sessions/opencode.py
packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/opencode.py
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in tools/pwntools.md
packages/shared-skills/skills/debugging/references/tools/pwntools.md
possible ▼
CHK-125a open() with absolute path — unrestricted file access — no scope constraint in tools/pwntools.md
packages/shared-skills/skills/debugging/references/tools/pwntools.md
possible ▼
CHK-125b sudo invocation — privilege escalation — no scope constraint in tools/pwntools.md
packages/shared-skills/skills/debugging/references/tools/pwntools.md
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in runtimes/python.md
packages/shared-skills/skills/debugging/references/runtimes/python.md
possible ▼
CHK-125a open() with absolute path — unrestricted file access — no scope constraint in runtimes/native-binary.md
packages/shared-skills/skills/debugging/references/runtimes/native-binary.md
possible ▼
CHK-125b sudo invocation — privilege escalation — no scope constraint in runtimes/native-binary.md
packages/shared-skills/skills/debugging/references/runtimes/native-binary.md
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in scripts/cookie_crypto.py
packages/shared-skills/skills/ultimate-browsing/scripts/cookie_crypto.py
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in scripts/extract_cookies.py
packages/shared-skills/skills/ultimate-browsing/scripts/extract_cookies.py
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in engine/executor.py
packages/shared-skills/skills/ultimate-browsing/engine/executor.py
possible ▼
CHK-044 Slack User Token detected in packages/omo-opencode/src/features/skill-mcp-manager/connection-env-vars.test.ts [test context]
packages/omo-opencode/src/features/skill-mcp-manager/connection-env-vars.test.ts
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in insane-search/README.md
packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in go/bubbletea-v2.md
packages/shared-skills/skills/programming/references/go/bubbletea-v2.md
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in go/new-project.py
packages/shared-skills/skills/programming/scripts/go/new-project.py
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in python/new-project.py
packages/shared-skills/skills/programming/scripts/python/new-project.py
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in typescript/check-no-excuse-rules.ts
packages/shared-skills/skills/programming/scripts/typescript/check-no-excuse-rules.ts
possible ▼
CHK-125 subprocess module — arbitrary shell execution — no scope constraint in rust/new-project.py
packages/shared-skills/skills/programming/scripts/rust/new-project.py
possible ▼
CHK-125 exec() — arbitrary code execution — no scope constraint in skill-mcp-manager/oauth-handler.ts
packages/mcp-client-core/src/skill-mcp-manager/oauth-handler.ts
possible ▼
CHK-125b sudo invocation — privilege escalation — no scope constraint in workflows/sisyphus-agent.yml
.github/workflows/sisyphus-agent.yml
possible ▼
CHK-081 Command injection risk — exec/execSync with string interpolation in packages/utils/src/command-executor/execute-hook-command.ts [build-script context]
packages/utils/src/command-executor/execute-hook-command.ts
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/verification-strategy.md
possible ▼
CHK-053 Tool 'visual-qa' — unusually long description (620 chars)
packages/skills-loader-core/src/features/builtin-skills/skills/visual-qa.ts
possible ▼
CHK-053 Tool 'remove-ai-slops' — unusually long description (786 chars)
packages/skills-loader-core/src/features/builtin-skills/skills/remove-ai-slops.ts
possible ▼
CHK-053 Tool 'review-work' — unusually long description (559 chars)
packages/skills-loader-core/src/features/builtin-skills/skills/review-work.ts
possible ▼
CHK-053 Tool 'debugging' — unusually long description (985 chars)
packages/skills-loader-core/src/features/builtin-skills/skills/debugging.ts
possible ▼
CHK-053 Tool 'frontend' — unusually long description (719 chars)
packages/skills-loader-core/src/features/builtin-skills/skills/frontend.ts
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/ast-grep/README.md
possible ▼
CHK-053 Tool 'security-research' — unusually long description (504 chars)
packages/skills-loader-core/src/features/builtin-skills/skills/security-research.ts
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/ultimate-browsing/SKILL.md
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/lsp-setup/SKILL.md
possible ▼
CHK-054 Tool 'run' — generic name without namespace prefix (shadow risk)
packages/git-bash-mcp/src/mcp.ts
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/ast-grep/references/install.md
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/frontend/references/design/lazyweb.md
possible ▼
CHK-027 Outbound network call in skill — external network call (verify direction — could be benign API fetch)
packages/shared-skills/skills/frontend/scripts/perfection/lighthouse-audit.py
possible ▼
CHK-102 Direct SQL execution — may bypass ORM-level access controls
packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/sqlite_optional_scanners.py
possible ▼
CHK-102 Direct SQL execution — may bypass ORM-level access controls
packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/codex.py
possible ▼
▼ Show 26 false positives (13% of this view) Last scanned: Jul 12, 2026
More servers
google-gemini/gemini-cli 85
An open-source AI agent that brings the power of Gemini directly into your terminal.
106k★
skypilot-org/skypilot 85
obra/superpowers 85
Foundational skill pack by Jesse Vincent now in anthropics/claude-plugins-official. Includes ffuf web-fuzzing/pentest skill. Partial analysis done — full hook and plugin inspection pending. tier=T2
191k★
Significant-Gravitas/AutoGPT 85
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
186k★
nanocoai/nanoclaw 85
A lightweight alternative to OpenClaw that runs in containers for security. Connects to WhatsApp, Telegram, Slack, Discord, Gmail and other messaging apps,, has memory, scheduled jobs, and runs directly on Anthropic's Agents SDK
30k★
google-gemini/gemini-cli 85
An open-source AI agent that brings the power of Gemini directly into your terminal.
106k★
Scan your entire org's MCP deployment
2,500+ repos pre-scored. 22% carry CRITICAL findings.