github Python re-analysis due

using-system/oddyssey

v1.12.2
github

CLI toolbox for Observability-Driven Development (ODD): coding agents observe local runs on an OpenTelemetry/Grafana stack - or remote ones on any OpenTelemetry backend - and feed the next spec-driven improvement loop.

maintainer
using-system
licence
MIT
first seen
2026-08-16
last seen
2026-09-19
releases · 30d
66
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 10 tools
transport stdio · streamable-http · http counts 10 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • get_order
  • get_product
  • odd_config_get
  • odd_config_set
  • odd_stack_down
  • odd_stack_reset
  • odd_stack_status
  • odd_stack_up
  • place_order
  • search_products
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit a5af1dc · analyzer v33 · 14h ago

skills & prompt files 30

danger signals1

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

code files: 146

filesystem 77

  • fs (weak) using-system-oddyssey-a5af1dc/.apm/hooks/scripts/check_report_frontmatter.py :48 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/hooks/scripts/guard_append_only.py :71 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/hooks/scripts/guard_default_branch.py :99 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/hooks/scripts/scan_odd_identifiers.py :45 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/backend-configuration/scripts/preflight.py :28 import shutil
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/get-status/scripts/odd_render.py :29 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/get-status/scripts/odd_status.py :28 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/k6-guides/scripts/replay_benchmark.py :42 import shutil
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/azure-monitor-traces.py :543 with open(path, encoding="utf-8") as fh:
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/check_stack_reference.py :58 import shutil
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/cloudwatch-metrics.py :562 os.unlink(f[len("file://") :])
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/cloudwatch-traces.py :757 with open(path, encoding="utf-8") as fh:
show 28 more
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/grafana-context.py :36 import shutil
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/grafana-traces.py :170 with open(
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/grafana_gcx.py :122 with open(spilled, encoding="utf-8") as fh:
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/odd-memory/scripts/odd_ledger.py :35 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/odd-memory/scripts/odd_recall.py :48 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/odd-memory/scripts/odd_report.py :56 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/package-layout/scripts/layout.py :26 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/run-scenario/scripts/drive_scenario.py :52 import shutil
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/setup-local-stack/scripts/gcx_local.py :26 import shutil
  • fs (weak) using-system-oddyssey-a5af1dc/.apm/skills/setup-local-stack/scripts/probe_services.py :26 import shutil
  • fs (weak) using-system-oddyssey-a5af1dc/.claude/skills/test-plugin-harnessing/scripts/analyze_run.py :42 import shutil
  • fs (weak) using-system-oddyssey-a5af1dc/.claude/skills/test-plugin-harnessing/scripts/measure_phase.py :43 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/.claude/skills/test-plugin-harnessing/scripts/run_samples.py :40 import shutil
  • fs (weak) using-system-oddyssey-a5af1dc/.odd/observability-stacks/seq/scripts/seq_cli.py :43 import shutil
  • fs using-system-oddyssey-a5af1dc/assets/videos/trailer/make_music.py :18 from pathlib import Path
  • fs using-system-oddyssey-a5af1dc/assets/videos/trailer/make_video.py :25 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/com.github.copilot/hooks/scripts/check_report_frontmatter.py :48 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/com.github.copilot/hooks/scripts/guard_append_only.py :71 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/com.github.copilot/hooks/scripts/guard_default_branch.py :99 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/com.github.copilot/hooks/scripts/scan_odd_identifiers.py :45 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/hooks/scripts/check_report_frontmatter.py :48 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/hooks/scripts/guard_append_only.py :71 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/hooks/scripts/guard_default_branch.py :99 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/hooks/scripts/scan_odd_identifiers.py :45 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/backend-configuration/scripts/preflight.py :28 import shutil
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/get-status/scripts/odd_render.py :29 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/get-status/scripts/odd_status.py :28 from pathlib import Path
  • fs (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/k6-guides/scripts/replay_benchmark.py :42 import shutil

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

shell / exec 58

  • shell (weak) using-system-oddyssey-a5af1dc/.apm/hooks/scripts/guard_append_only.py :69 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/hooks/scripts/guard_default_branch.py :97 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/backend-configuration/scripts/preflight.py :29 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/k6-guides/scripts/replay_benchmark.py :43 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/azure_monitor_az.py :46 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/check_stack_reference.py :59 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/cloudwatch_aws.py :54 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/grafana-context.py :37 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/grafana_gcx.py :31 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/odd-memory/scripts/odd_ledger.py :32 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/odd-memory/scripts/odd_report.py :53 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/run-scenario/scripts/drive_scenario.py :53 import subprocess
show 28 more
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/setup-local-stack/scripts/gcx_local.py :27 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.apm/skills/setup-local-stack/scripts/probe_services.py :27 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.claude/skills/test-plugin-harnessing/scripts/measure_phase.py :38 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.claude/skills/test-plugin-harnessing/scripts/run_samples.py :41 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/.odd/observability-stacks/seq/scripts/seq_cli.py :44 import subprocess
  • shell using-system-oddyssey-a5af1dc/assets/videos/trailer/make_video.py :23 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/com.github.copilot/hooks/scripts/guard_append_only.py :69 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/com.github.copilot/hooks/scripts/guard_default_branch.py :97 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/hooks/scripts/guard_append_only.py :69 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/hooks/scripts/guard_default_branch.py :97 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/backend-configuration/scripts/preflight.py :29 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/k6-guides/scripts/replay_benchmark.py :43 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/observability-cli-guides/scripts/azure_monitor_az.py :46 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/observability-cli-guides/scripts/check_stack_reference.py :59 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/observability-cli-guides/scripts/cloudwatch_aws.py :54 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/observability-cli-guides/scripts/grafana-context.py :37 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/observability-cli-guides/scripts/grafana_gcx.py :31 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/odd-memory/scripts/odd_ledger.py :32 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/odd-memory/scripts/odd_report.py :53 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/run-scenario/scripts/drive_scenario.py :53 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/setup-local-stack/scripts/gcx_local.py :27 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/setup-local-stack/scripts/probe_services.py :27 import subprocess
  • shell using-system-oddyssey-a5af1dc/src/mcp-server/app/stack.py :11 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/tests/hooks/test_check_report_frontmatter.py :28 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/tests/hooks/test_guard_append_only.py :22 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/tests/hooks/test_guard_default_branch.py :18 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/tests/hooks/test_scan_odd_identifiers.py :20 import subprocess
  • shell (weak) using-system-oddyssey-a5af1dc/tests/mcp-server/test_stack.py :4 import subprocess

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

network 9

  • net (weak) using-system-oddyssey-a5af1dc/.apm/skills/observability-cli-guides/scripts/check_stack_reference.py :62 import urllib.request
  • net (weak) using-system-oddyssey-a5af1dc/.apm/skills/run-scenario/scripts/drive_scenario.py :59 from urllib.parse import urlsplit
  • net using-system-oddyssey-a5af1dc/.llms-benchmark/src/mcp/app/catalog.py :9 import httpx
  • net (weak) using-system-oddyssey-a5af1dc/.odd/observability-stacks/seq/scripts/seq-context.py :23 import urllib.error
  • net (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/observability-cli-guides/scripts/check_stack_reference.py :62 import urllib.request
  • net (weak) using-system-oddyssey-a5af1dc/marketplace/oddyssey/skills/run-scenario/scripts/drive_scenario.py :59 from urllib.parse import urlsplit
  • net using-system-oddyssey-a5af1dc/src/mcp-server/app/stack.py :25 import httpx
  • net (weak) using-system-oddyssey-a5af1dc/tests/mcp-server/test_stack.py :6 import httpx
  • net (weak) using-system-oddyssey-a5af1dc/tests/skills/run-scenario/test_drive_scenario.py :19 import socket

secrets 2

  • secrets using-system-oddyssey-a5af1dc/.llms-benchmark/src/agent/app/assistant.py :39 api_key=os.environ.get("OPENAI_API_KEY", ""),
  • secrets (weak) using-system-oddyssey-a5af1dc/.odd/observability-stacks/seq/scripts/seq-context.py :64 if os.environ.get("SEQCLI_CONNECTION_APIKEY"):

database 3

  • db (weak) using-system-oddyssey-a5af1dc/.claude/skills/test-plugin-harnessing/scripts/analyze_run.py :43 import sqlite3
  • db using-system-oddyssey-a5af1dc/.llms-benchmark/src/api/app/db.py :12 import sqlite3
  • db (weak) using-system-oddyssey-a5af1dc/tests/skills/test-plugin-harnessing/test_harness_kit.py :11 import sqlite3

tool registrations 10

  • search_products using-system-oddyssey-a5af1dc/.llms-benchmark/src/mcp/app/server.py :40
  • get_product using-system-oddyssey-a5af1dc/.llms-benchmark/src/mcp/app/server.py :79
  • get_order using-system-oddyssey-a5af1dc/.llms-benchmark/src/mcp/app/server.py :87
  • place_order using-system-oddyssey-a5af1dc/.llms-benchmark/src/mcp/app/server.py :100
  • odd_stack_up using-system-oddyssey-a5af1dc/src/mcp-server/app/server.py :35
  • odd_stack_down using-system-oddyssey-a5af1dc/src/mcp-server/app/server.py :59
  • odd_stack_status using-system-oddyssey-a5af1dc/src/mcp-server/app/server.py :66
  • odd_stack_reset using-system-oddyssey-a5af1dc/src/mcp-server/app/server.py :73
  • odd_config_get using-system-oddyssey-a5af1dc/src/mcp-server/app/server.py :99
  • odd_config_set using-system-oddyssey-a5af1dc/src/mcp-server/app/server.py :106

declared dependencies 6

  • mcp@==2.2.0
  • httpx@==0.28.1
  • opentelemetry-api@==1.44.0
  • opentelemetry-sdk@==1.44.0
  • opentelemetry-exporter-otlp-proto-http@==1.44.0
  • opentelemetry-instrumentation-httpx@==0.65b0

transport_posture 3

  • network-listening, binds all interfaces, no auth detected using-system-oddyssey-a5af1dc/.llms-benchmark/src/agent/app/main.py :73 host="0.0.0.0", # a container port, published deliberately
  • network-listening, binds all interfaces, no auth detected using-system-oddyssey-a5af1dc/.llms-benchmark/src/api/app/main.py :215 host="0.0.0.0", # a container port, published deliberately
  • network-listening, binds all interfaces, no auth detected using-system-oddyssey-a5af1dc/.llms-benchmark/src/mcp/app/server.py :127 host="0.0.0.0", # a container port, published deliberately