You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A spam account (nkleadproofficial-del) posted a garbage recruitment ad comment on PR #725. This is an open-source repo and these drive-by spam comments will keep happening.
Problem
Currently there is no automated moderation for comments on issues and PRs. Brady has to manually clean up spam comments, hide them, and block offending accounts. This is a recurring maintenance burden that scales with repo visibility.
Need
Automated way to detect and hide/delete spam comments and block repeat offenders:
Detect spam comments based on signals: new account age, zero repo activity, spam content patterns
Act on detected spam: minimize (hide) the comment automatically
Investigated how major MS OSS repos handle comment spam:
Azure SDK — Custom C# event processor (20+ rules), auto-lock closed issues after 90 days, stale issue management. Heavy investment shared across all Azure SDK repos.
VS Code — Command-based moderation (/spam command) restricted to 4 named moderators. Label-driven auto-close (11+ labels). Event-driven, no scheduled cleanup.
TypeScript — Daily cron job closes labeled stale issues via gh CLI. 11 close-reason labels. No explicit spam command.
dotnet/runtime — Multi-layered: ML-based issue labeler, auto-lock after 30 days inactivity, AI triage skill. Most sophisticated.
Common findings: None use github/ai-moderator (doesn't exist as official action). None filter by account age. All rely on label-driven automation + scheduled cleanup.
Recommended Approach (Layered)
DecimalTurn/Comment-Filter action — auto-hides comments with malicious links, shortened URLs, mass @-mentions. Handles comment removal. Drop-in, zero config.
Custom scripts/moderate-spam.mjs — closes issues/PRs from new accounts with spam patterns. Handles issue/PR closure. Follows repo's existing script patterns.
Auto-lock cron job — locks closed issues/PRs after 30 days inactivity (dotnet/runtime pattern). Prevents spam resurrection on old threads.
No external API keys. No third-party trust beyond one lightweight action. Prior attempt (PR #753) was closed without merge — starting fresh.
Activity
feat(ci): automated comment spam protection workflow
fix(ci): address PR review feedback on comment moderation (#751)
refactor(ci): extract moderation scripts from workflow inline code
chore: remove PR readiness workflow cargo from spam moderation PR
refactor(ci): replace custom moderation with github/ai-moderator action
diberry commentedon Apr 3, 2026
Research: Spam Protection Approach
Investigated how major MS OSS repos handle comment spam:
Azure SDK — Custom C# event processor (20+ rules), auto-lock closed issues after 90 days, stale issue management. Heavy investment shared across all Azure SDK repos.
VS Code — Command-based moderation (
/spamcommand) restricted to 4 named moderators. Label-driven auto-close (11+ labels). Event-driven, no scheduled cleanup.TypeScript — Daily cron job closes labeled stale issues via
ghCLI. 11 close-reason labels. No explicit spam command.dotnet/runtime — Multi-layered: ML-based issue labeler, auto-lock after 30 days inactivity, AI triage skill. Most sophisticated.
Common findings: None use
github/ai-moderator(doesn't exist as official action). None filter by account age. All rely on label-driven automation + scheduled cleanup.Recommended Approach (Layered)
DecimalTurn/Comment-Filteraction — auto-hides comments with malicious links, shortened URLs, mass @-mentions. Handles comment removal. Drop-in, zero config.scripts/moderate-spam.mjs— closes issues/PRs from new accounts with spam patterns. Handles issue/PR closure. Follows repo's existing script patterns.No external API keys. No third-party trust beyond one lightweight action. Prior attempt (PR #753) was closed without merge — starting fresh.
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (#751)
diberry commentedon Apr 6, 2026
Closed: Comment spam protection implemented in PR #800 (rebased, CI green, awaiting merge).
feat(ci): add comment spam protection and auto-lock stale issues (#751)
feat(ci): add comment spam protection and auto-lock stale issues (git…