Skip to content

Batch A: independent bug fixes and security hardening#84

Merged
DavidJBianco merged 5 commits into
devfrom
batch-a-quick-fixes
Apr 23, 2026
Merged

Batch A: independent bug fixes and security hardening#84
DavidJBianco merged 5 commits into
devfrom
batch-a-quick-fixes

Conversation

@DavidJBianco

Copy link
Copy Markdown
Collaborator

Summary

Cherry-picks five independent, non-overlapping PRs from the Codex/Aardvark batch onto dev:

Notes

  • fix: mitigate SSRF risk in report URL validity checks #82 blocks IP-literal private targets and disables redirect-following. Residual gap: public hostnames that DNS-resolve to private IPs are not blocked — acceptable for an offline eval tool, noted as a review comment on the upstream PR.
  • All five cherry-picks applied cleanly onto dev; python3 -m compileall peak_assistant passes.

Test plan

🤖 Generated with Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 05b4499542

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +1037 to +1040
if len(safe_urls) <= 20:
# Check all URLs if 20 or fewer
urls_to_check = urls
results["sample_size"] = len(urls)
urls_to_check = safe_urls
results["sample_size"] = len(safe_urls)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Count blocked URLs in validity score denominator

The URL validity score now samples only safe_urls, so private/internal links are excluded from both sample_size and invalid_urls. In reports that mix blocked links with a few reachable public links, this can produce an artificially high URL-validity score (e.g., 1 valid public URL + many blocked URLs can still score near 100), which skews evaluation results. To preserve metric integrity while keeping SSRF protections, blocked URLs should still contribute to the invalid/denominator side of scoring.

Useful? React with 👍 / 👎.

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