Security Research
Vulnerability reports I have made to open source projects, and the fixes that came out of them.
Reports go to the maintainers privately first, through GitHub private vulnerability reporting or the channel named in the project’s SECURITY.md. An advisory is listed here only after the maintainers have published it. Recent reports also came with a proposed patch in the advisory’s temporary private fork.
Contact: kasparovabi@gmail.com
Disclosures
Published GitHub Security Advisories
Advisories published by the maintainers, with reporter credit accepted. Reports still in private triage are not listed here.
| Published | Repository | Severity | Summary | Advisory | CVE |
|---|---|---|---|---|---|
| 2026-10-19 | GuyMannDude/mnemo-cortex | High | Default CORS allow_origins wildcard on unauthenticated loopback server allows cross-origin data exfiltration and state mutation | GHSA-682p-grrx-wrwg | |
| 2026-10-17 | devantler-tech/ksail | Medium | Local web UI accepts read requests from any Host, letting a DNS rebinding page read cluster Secrets | GHSA-g57x-rm7r-hf26 | |
| 2026-10-09 | embedded-society/altium-designer-mcp | Medium | Unbounded allocation from attacker-controlled count fields in the Altium library parsers aborts the MCP server (DoS) | GHSA-p2qw-h8m7-5x69 | |
| 2026-09-30 | clidey/whodb | Medium | Read-only mode and the write-approval gate are bypassed by SELECT … INTO | GHSA-pvf2-6h4x-r24j | |
| 2026-09-20 | SylphxAI/anymd | Medium | Documented –allow-dir / MCP_PDF_ALLOWED_DIRS filesystem allowlist is not implemented in the pure-Rust server | GHSA-qr3f-g5wf-225w | |
| 2026-09-17 | Kronova-Intelligent-Systems/asset-intel-orchestration-engine | High | RLS policy on public.profiles grants the anon role unrestricted read, exposing user email | GHSA-8h52-3cfj-cmrw |
Last synced: 2026-10-27
Merged fixes in other projects
Pull requests merged by the maintainers of the projects below.
| Merged | Repository | Change | |—|—|—| | 2026-10-26 | NaomiProject/Naomi | Use shlex.quote instead of the removed pipes module in TTS plugins | | 2026-10-21 | botbahlul/PyAutoSRT | Add audioop-lts for Python 3.13 and newer | | 2026-10-14 | jpfielding/dicos.rs | Replace retired model id in rust-expert agent frontmatter | | 2026-10-13 | kwaroran/Risuai | Resolve prefillsupported from the model flag for native Claude entries | | 2026-10-12 | opensvc/opensvc | sanswitch/brocade: import telnetlib only in the telnet helper (Python 3.13) | | 2026-10-06 | sokonalysis/sokonalysis | Remove unused spwd import for Python 3.13 | | 2026-10-05 | shengqh/ngsperl | Remove unused asyncore imports so the lib scripts run on Python 3.12+ | | 2026-10-03 | GreengageDB/greengage | Replace removed pipes module with shlex and subprocess for Python 3.13 | | 2026-10-02 | YoushanLiu/ANCC | Drop unused xdrlib import so makePZfiles scripts run on Python 3.13 | | 2026-09-26 | edspencer/herdctl | docs: replace retired Claude 4 model ids in configuration examples | | 2026-09-26 | ruvnet/RuVector | Replace retired Claude model ids in rvagent defaults and demo scripts | | 2026-09-26 | akkana/scripts | hypermoon: drop the cgi import removed in Python 3.13 | | 2026-09-23 | apache/hamilton | Update retired Claude model id in the hamilton-llm skill | | 2026-09-18 | langchain-ai/memory-agent-js | Update retired default model id claude-3-5-sonnet-20240620 | | 2026-09-18 | pr-pm/prpm | Replace retired Claude model ids in commands, skills and converter docs | | 2026-09-15 | acodercat/cave-agent | docs: replace retired claude-3-sonnet-20240229 in the LiteLLM README example | | 2026-09-10 | kayba-ai/agentic-context-engine | Replace retired Claude model ids and stop sending a rejected temperature | | 2026-09-08 | alinaqi/maggy | Replace a retired Claude model id in four skill examples | | 2026-09-04 | neuron-core/neuron-ai | Replace retired claude-3-5-sonnet-20241022 in two skill files | | 2026-09-01 | anton-abyzov/specweave | Replace retired Claude model id in the translation hooks | | 2026-08-31 | kwaroran/Risuai | Update retired Claude model ids in onboarding and preset defaults | | 2026-08-24 | FlorianBruniaux/claude-code-ultimate-guide | Update retired model id in the issue-triage example workflow | | 2026-08-24 | dorukozerr/kisuke.vim | Replace retired Claude model ids in the Anthropic model list | | 2026-08-23 | meyusufdemirci/iMenu-MacOS | Let the menu bar settle at each edge of the synthesized drag | | 2026-08-20 | NeoLabHQ/context-engineering-kit | Update the retired model id in the create-command example | | 2026-08-20 | TanStack/ai | Update retired Claude model ids in code-mode-snippets and ai-solid | | 2026-08-19 | posit-dev/pointblank | Update retired Anthropic model ids in the skills docs | | 2026-08-16 | athola/claude-night-market | docs: update retired model id in the SDK integration example | | 2026-08-10 | enuno/unifi-mcp-server | chore: update retired Claude model ids in workflows and mcp-builder skill | | 2026-08-09 | vitali87/code-graph-rag | chore: update retired Claude model ids in server.json and review workflow | | 2026-08-04 | mengxi-ream/read-frog | docs: update retired Claude model ids in add-provider command | | 2026-08-04 | davila7/claude-code-templates | Update retired model ids in settings components and docs | | 2026-08-02 | muratcankoylan/Agent-Skills-for-Context-Engineering | Update retired Sonnet 4 model id in pipeline template | | 2026-08-02 | rmyndharis/antigravity-skills | Replace retired Claude model id in the two AI review skills |
Detection rules
Detection rules derived from these advisories are in kasparovabi/semgrep-rules. Each bug class has Semgrep rules, positive and negative test cases, and a short guide on how to protect your own code.
Provenance
For the Omi disclosure, a separate page documents the full timeline with checkable artifacts: who reported what, when, and what the vendor’s own commit history says about where the fix came from. Every claim there can be reproduced with a git log command.
Methodology
Each writeup in this repository is published after:
- A private report through the vendor’s preferred coordinated-disclosure channel (typically GitHub Security Advisories).
- A reasonable window for the vendor to acknowledge, triage, and patch.
- A public-disclosure date communicated to the vendor in advance.
Where the vendor refuses to act, the disclosure window is shortened in proportion to the vendor’s behavior, the public exposure of the affected code paths, and the regulatory clocks that may apply to affected users (HIPAA, GDPR, SOC 2 audit obligations).
No proof-of-concept exploit code is published in this repository. Technical detail is sufficient to reproduce findings against the source code; no payload, weaponized scanner, or live-target tooling is included.
Contact
- GitHub: @kasparovabi
- Email: kasparovabi@gmail.com
- For security reports about my own code, please open a private GitHub Security Advisory on the relevant repository.