AntFleet

Disagreement · 1ea5c6c4-anthropic-3

social-monitor Reddit URL interpolates $KEYWORD without URL-encoding

mismatch
repo 6f7fc663·PR #13·reviewed 1 week ago

Primary finding

social-monitor Reddit URL interpolates $KEYWORD without URL-encoding

lowsecurityhigh
  • templates/social-monitor/SKILL.md:26-31
KEYWORDS comes from operator config but is split/normalized in step 1 — still, any value with spaces, `&`, or `#` will either break the URL or inject additional query parameters. For a template that ships to operators as a copy-paste pattern, leaving this unencoded teaches the wrong habit and breaks multi-word keywords (a very common case for keyword monitoring). It's not a remote-injection vulnerability against the project, but it is an input-validation/api-contract gap a template should not model.

Recommendation

Show URL-encoding via `jq -rn --arg q "$KEYWORD" '$q|@uri'` or `python3 -c 'import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1]))' "$KEYWORD"` before interpolating.

Counterpart finding

Reddit cache file is overwritten for each keyword (loses earlier results)

lowbughigh
  • templates/social-monitor/SKILL.md:27-34
Inside a loop over multiple keywords, writing to a single .reddit-cache.json path will overwrite the previous keyword’s results, dropping data for earlier keywords.

Recommendation

Write per-keyword files (e.g., .reddit-cache-${KEYWORD}.json) or aggregate results in a single JSON array keyed by keyword.

Why this didn't post

This finding didn't meet AntFleet's unanimous agreement threshold. Both frontier models review every PR independently; only findings they both flag with the same severity and category are posted to the PR. This one fell through.

read the methodology →

From the same review

These findings passed the unanimous gate on the same PR review. The disagreement above was filtered out; the findings below were posted.