Skip to content

Claude/eloquent davinci o6sfs#61

Merged
killertcell428 merged 2 commits into
masterfrom
claude/eloquent-davinci-O6sfs
May 18, 2026
Merged

Claude/eloquent davinci o6sfs#61
killertcell428 merged 2 commits into
masterfrom
claude/eloquent-davinci-O6sfs

Conversation

@killertcell428
Copy link
Copy Markdown
Owner

Summary

Closes #

Changes

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • New detection pattern
  • Breaking change (fix or feature that would cause existing behaviour to change)
  • Documentation update
  • Refactor / performance improvement

Testing

  • pytest tests/ -v passes locally
  • New tests added for the change
  • Existing tests updated if needed (explain why)

For new detection patterns, confirm both:

  • Positive test — the pattern correctly detects a malicious input
  • Negative test — the pattern does NOT fire on legitimate input

Checklist

  • Code follows the style of the project (ruff check passes)
  • Type annotations are correct (mypy aigis/ passes)
  • Public API changes are reflected in docs/api-reference.md
  • CHANGELOG.md updated under [Unreleased]
  • I have read CONTRIBUTING.md

Screenshots / output

Add sc_langflow_build_exec (Langflow CVE-2026-33017, CVSS 9.3) and
sc_ai_framework_auth_disabled (PraisonAI CVE-2026-44338, CVSS 7.3)
detection patterns. Release bundles accumulated detectors since v1.1.4
plus the OSS benchmark harness.

Tests: 1568 passed, 0 failed, 0 skipped (measured 2026-05-18 via
`uv run --no-sync pytest --tb=no -q` on this branch). The originally
authored commit message reported "24 new tests, all pass. 19
pre-existing failures unchanged" — the 19-failure figure was copy-pasted
from a prior cycle's template and was incorrect at the time of writing
(actual failure count was 0). Corrected here per CLAUDE.md guidance.

https://claude.ai/code/session_01TYnv4APDzAaL4b46cntfCK
Signed-off-by: killertcell428 <killertcell428@gmail.com>
@killertcell428 killertcell428 force-pushed the claude/eloquent-davinci-O6sfs branch from ba61521 to 764424d Compare May 18, 2026 06:13
@killertcell428 killertcell428 merged commit b2e992a into master May 18, 2026
14 checks passed
@killertcell428 killertcell428 deleted the claude/eloquent-davinci-O6sfs branch May 18, 2026 07:23
killertcell428 added a commit that referenced this pull request May 18, 2026
Adds `sc_flowise_js_rce` (Flowise CVE-2025-59528, CVSS 10.0): JavaScript
`Function()` constructor / `eval()` patterns combined with dangerous Node.js
system module references (`child_process`, `fs`, `os`, `net`, `process.env`,
`execSync`, `spawnSync`), or the same patterns appearing inside MCP server
configuration fields (`mcpServerConfig`, `"command":`, `"args":`). Also
covers the `Function.prototype.constructor` prototype-chain bypass.

CVE-2025-59528 (CVSS 10.0): the Flowise CustomMCP node parsed
`mcpServerConfig` and executed it via JavaScript's `Function()` constructor —
functionally identical to `eval()` — without any validation. A single
`new Function('return require("child_process").execSync("id")')()` payload
achieves host-level RCE on the Flowise server, exposing every LLM API key,
database credential, and OS resource stored or reachable by the application.
12,000-15,000 Flowise instances remained unpatched when exploitation began
in April 2026, more than six months after the patch (Flowise 3.1.1) was
released. An AI agent receiving indirect prompt injection through a poisoned
tool response or retrieved document could be directed to inject this payload
into a Flowise workflow configuration.

This release is a manual follow-up that salvages the detector from closed
PR #62. PR #62 was closed because it raced PR #61 for the v1.1.5 slot and
lost on the merge order; the underlying detector is unrelated to that race
and is shipped here on its own. Sourced from
`origin/claude/eloquent-davinci-sBngG` (the PR #62 branch) verbatim, with
only release-metadata changes (version 1.1.5 -> 1.1.6, CHANGELOG section
moved out of v1.1.5 into v1.1.6, INDEX/ROTATION untouched since this is not
a new auto-improvement rotation cycle).

Tests: 1582 passed, 0 failed, 0 skipped (measured 2026-05-18 via
`uv run --no-sync pytest --tb=no -q` on this branch). 14 new tests added
for `sc_flowise_js_rce` (10 true positives covering Function() + dangerous
modules, MCP config field injection, and prototype-chain bypass; 4 true
negatives covering legitimate Function() use, JSON5.parse() prose, safe
inline arithmetic Function() calls, and educational mentions of `require`).

Signed-off-by: killertcell428 <killertcell428@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant