github Python analyzed 8d4fac9

jeffbai996/vecgrep

github

grep using meaning and similarity instead of keywords - local/self-hosted, multimodal, and runnable on any user-defined corpus

maintainer
jeffbai996
licence
MIT
first seen
2026-06-13
last seen
2026-09-10
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  2. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  3. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  4. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  5. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  6. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  7. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  8. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  9. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  10. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  11. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  12. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  13. HIGH code analysis flagged dynamic code execution ×2 in jeffbai996/vecgrep
  14. HIGH code analysis flagged dynamic code execution in jeffbai996/vecgrep
  15. HIGH code analysis flagged dynamic code execution in jeffbai996/vecgrep
  16. HIGH code analysis flagged dynamic code execution in jeffbai996/vecgrep
  17. HIGH code analysis flagged dynamic code execution in jeffbai996/vecgrep
  18. HIGH code analysis flagged dynamic code execution in jeffbai996/vecgrep
  19. HIGH code analysis flagged dynamic code execution in jeffbai996/vecgrep
  20. HIGH code analysis flagged dynamic code execution in jeffbai996/vecgrep
capabilities 7 tools
transport stdio · streamable-http · http counts 7 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • browse
  • get_chunk
  • get_corpus
  • get_source
  • incident
  • search
  • timeline
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 8d4fac9 · analyzer v33 · 1h ago

skills & prompt files 1

danger signals2

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

code files: 204

filesystem 78

  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/conftest.py :10 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/eval_harness.py :23 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_adapters.py :11 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_admin_config.py :4 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_aliases.py :16 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_backup.py :6 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_bm25_bulk_persist.py :14 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_bm25_wal_maintenance.py :14 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_bm25_weight_per_corpus.py :11 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_budget.py :11 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_cache_sweep_service.py :6 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_cli_confirm_protected_ack.py :4 from pathlib import Path
show 28 more
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_cli_search_watch.py :9 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_cli_status.py :12 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_cli_watch_quiet_period.py :20 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_cli_watch_resilience.py :16 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_cli_watch_unchanged_skip.py :23 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_cli_write.py :39 assert "Cats sit on mats" in open(files[0]).read()
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_confirm_merge.py :3 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_eval_harness.py :15 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_eval_real_harness.py :10 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_explorer.py :9 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_mcp_direct_edit.py :19 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_mcp_direct_write.py :64 body = open(docs[0]).read()
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_mcp_propose.py :13 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_mcp_propose_merge.py :11 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_mcp_propose_meta_only.py :39 pend = json.loads(open(glob.glob(f"{h}/write/_pending/*.json")[0]).read())
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_mutation_locks.py :5 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_oauth_provider.py :13 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_orphaned_source.py :14 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_propose_merge.py :7 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_public_mcp_ingress.py :139 with log_path.open("w+") as log:
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_registry_race.py :13 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_release_workflow.py :3 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_score_calibration.py :80 # hold a threadpool slot open (2026-08-18). The stub bypasses the loader,
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_security_boundaries.py :7 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_source_labels.py :18 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_test_state_isolation.py :2 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_web_workspace.py :4 from pathlib import Path
  • fs (weak) jeffbai996-vecgrep-8d4fac9/tests/test_write_codex_fixes.py :16 from pathlib import Path

38 more not shown — this panel samples each group; the count above is the real total.

shell / exec 3

  • shell (weak) jeffbai996-vecgrep-8d4fac9/tests/test_public_mcp_ingress.py :121 import subprocess
  • shell jeffbai996-vecgrep-8d4fac9/vecgrep/backend/write/confirm.py :20 import subprocess
  • shell jeffbai996-vecgrep-8d4fac9/vecgrep/mcp/server.py :1167 import subprocess

network 20

  • net (weak) jeffbai996-vecgrep-8d4fac9/tests/test_backup.py :155 monkeypatch.setattr("vecgrep.backend.backup.httpx.stream", lambda *a, **k: Download())
  • net (weak) jeffbai996-vecgrep-8d4fac9/tests/test_cli_watch_resilience.py :3 Incident 2026-07-27: an embed backend under load raised httpx.ReadTimeout
  • net (weak) jeffbai996-vecgrep-8d4fac9/tests/test_oauth_root_discovery.py :241 from urllib.parse import urlencode
  • net (weak) jeffbai996-vecgrep-8d4fac9/tests/test_ollama_backend.py :12 import httpx
  • net (weak) jeffbai996-vecgrep-8d4fac9/tests/test_ollama_connect_timeout.py :13 import httpx
  • net (weak) jeffbai996-vecgrep-8d4fac9/tests/test_public_mcp_ingress.py :120 import socket
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/api/admin.py :7 from urllib.parse import urlsplit
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/api/routes.py :497 import urllib.error
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/auth/approval.py :12 from urllib.parse import parse_qs, urlencode, urlsplit
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/auth/rest.py :6 from urllib.parse import urlsplit
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/backup.py :28 import httpx
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/config.py :13 from urllib.parse import urlparse
show 8 more
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/embed/factory.py :9 import httpx
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/embed/ollama.py :8 import httpx
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/explorer.py :14 from urllib.parse import urlparse
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/ingestion/adapters/url.py :5 import httpx
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/main.py :217 from urllib.parse import parse_qs, urlsplit
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/backend/store/qdrant_store.py :45 import httpx
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/cli/main.py :30 import httpx
  • net jeffbai996-vecgrep-8d4fac9/vecgrep/mcp/server.py :1719 from urllib.parse import urlsplit

secrets 1

  • secrets jeffbai996-vecgrep-8d4fac9/vecgrep/cli/main.py :1735 import getpass

database 7

  • db (weak) jeffbai996-vecgrep-8d4fac9/tests/test_bm25_runtime_integrity.py :2 import sqlite3
  • db (weak) jeffbai996-vecgrep-8d4fac9/tests/test_bm25_wal_maintenance.py :13 import sqlite3
  • db (weak) jeffbai996-vecgrep-8d4fac9/tests/test_embed_cache.py :9 import sqlite3
  • db jeffbai996-vecgrep-8d4fac9/vecgrep/backend/api/routes.py :495 import sqlite3
  • db jeffbai996-vecgrep-8d4fac9/vecgrep/backend/embed/cache.py :18 import sqlite3
  • db jeffbai996-vecgrep-8d4fac9/vecgrep/backend/explorer_store.py :11 import sqlite3
  • db jeffbai996-vecgrep-8d4fac9/vecgrep/backend/store/bm25_sqlite.py :24 import sqlite3

tool registrations 7

  • search jeffbai996-vecgrep-8d4fac9/vecgrep/mcp/server.py :1204
  • timeline jeffbai996-vecgrep-8d4fac9/vecgrep/mcp/server.py :1300
  • incident jeffbai996-vecgrep-8d4fac9/vecgrep/mcp/server.py :1327
  • get_chunk jeffbai996-vecgrep-8d4fac9/vecgrep/mcp/server.py :1351
  • browse jeffbai996-vecgrep-8d4fac9/vecgrep/mcp/server.py :1368
  • get_source jeffbai996-vecgrep-8d4fac9/vecgrep/mcp/server.py :1392
  • get_corpus jeffbai996-vecgrep-8d4fac9/vecgrep/mcp/server.py :2575

declared dependencies 15

  • mcp@>=1.27.1,<2
  • fastapi@>=0.110
  • uvicorn@>=0.27
  • pydantic@>=2.13.4
  • qdrant-client@>=1.9
  • httpx@>=0.28.1
  • click@>=8.1
  • pypdf@>=4.0
  • beautifulsoup4@>=4.12
  • tiktoken@>=0.6
  • rank-bm25@>=0.2.2
  • openai@>=2.37.0
show 3 more
  • sentence-transformers@>=2.7
  • watchfiles@>=1.2.0
  • pytest@>=8.0