Skip to content

docs: scan #109 — overwirehq/claude-code-telegram (dependency-currency, post-only) - #156

Merged
elfrost merged 1 commit into
mainfrom
docs/scan-overwirehq-claude-code-telegram
Sep 22, 2026
Merged

elfrost merged 1 commit into
mainfrom
docs/scan-overwirehq-claude-code-telegram

Conversation

@elfrost

@elfrost elfrost commented Sep 22, 2026

Copy link
Copy Markdown
Owner

Scan #109 write-up: overwirehq/claude-code-telegram at 5016aee (v1.8.0).

Outcome: post-only. 54 findings at medium+, 0 first-party defects after curation. The one actionable item is dependency currency in transitive poetry.lock pins.

  • 17 opt-in-only, not reachable by default — starlette/python-multipart (webhook server ENABLE_API_SERVER=false), pyjwt (token auth off + documented non-functional docs: 'Work with me' services page + landing CTA (REVIEW before merge) #58), MCP SDK (MCP off).
  • 13 unconditionally installed — anyio (critical), cryptography/OpenSSL, urllib3, idna, requests, pydantic-settings, python-dotenv — the genuine currency gap.

The angle is the project's unusually precise security documentation: the can_use_tool boundary is scoped in the docs to exactly six file tools, its gaps are named and tracked (#219 fixed, #221 open), and the pull_request_target workflow carries a full threat-model header. First-party scanner hits were all FP/by-design (sqlalchemy identifier FPs, CI SHA-pin hardening, placeholder + redaction-test secrets).

Strict-norm repo (real SECURITY.md, PVR enabled); no advisory filed because there is no first-party vulnerability. Three files: docs/scans/…, docs/index.md (row + counts 108→109), docs/scan-log.md.

🤖 Generated with Claude Code

…ecution boundary, dependency-currency finding, post-only)

Post-only clean-scan write-up. 54 findings at medium+, 0 first-party defects
after curation. The one actionable item is dependency currency in transitive
poetry.lock pins, split by reachability: 17 opt-in-only (webhook server, token
auth, MCP all default-off), 13 unconditionally installed.

The write-up's angle is the project's unusually precise security documentation:
the can_use_tool boundary is scoped in the docs to exactly six file tools, its
gaps (Grep/Glob/LS left to the OS sandbox) are named and tracked (#219 fixed,
#221 open), and the pull_request_target workflow carries a full threat-model
header. First-party scanner hits were all FP/by-design: sqlalchemy identifier
FPs, CI SHA-pin hardening, placeholder + redaction-test secrets.

Coverage partial and stated: pip-audit resolved no deps from a dynamic-deps
pyproject; Trivy's poetry.lock read carried the run (same blind spot as #108).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@elfrost
elfrost merged commit 57d730f into main Sep 22, 2026
2 checks passed
@elfrost
elfrost deleted the docs/scan-overwirehq-claude-code-telegram branch September 22, 2026 13:21
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