Skip to content

Commit 3eb801c

Browse files
authored
Reward established GitHub accounts in freebuff bot-sweep scoring (#534)
1 parent b6a8d1b commit 3eb801c

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

web/src/server/free-session/abuse-detection.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,17 @@ async function enrichWithGithubAge(
297297
} else if (ageDays < 90) {
298298
s.flags.push(`gh-new<90d:${ageDays.toFixed(0)}d`)
299299
s.score += 10
300+
} else if (ageDays >= 365 * 3) {
301+
// Established GitHub accounts are a strong counter-signal: buying
302+
// a 3+ year old account is rare at our abuse scale. Subtract enough
303+
// to pull a day-1 heavy user (new-acct<1d + very-heavy = 90) back
304+
// below the high-tier threshold without fully clearing them —
305+
// genuine 24/7 patterns still surface.
306+
s.flags.push(`gh-established:${(ageDays / 365).toFixed(1)}y`)
307+
s.score -= 40
308+
} else if (ageDays >= 365) {
309+
s.flags.push(`gh-established:${(ageDays / 365).toFixed(1)}y`)
310+
s.score -= 20
300311
}
301312
}
302313
}

web/src/server/free-session/abuse-review.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ You will see:
4141
4242
A very young GitHub account (gh_age < 7d, especially < 1d) combined with heavy usage is one of the strongest bot signals we have: real developers almost never create a GitHub account on the same day they start running an agent. Weigh this heavily in tiering.
4343
44+
Conversely, an established GitHub account (gh_age ≥ 1 year, especially ≥ 3 years) is a strong counter-signal. Account-age spoofing by buying old accounts is possible but uncommon at our abuse scale. An established GitHub + a natural agent mix (basher, code-reviewer, file-picker alongside the root agent) + some activity gaps during the day reads like an excited first-day power user, not a bot. Don't tier these as HIGH unless there's a second independent signal (creation cluster membership, true 24/7 distinct_hours, suspicious email pattern).
45+
4446
Produce a markdown report with three sections:
4547
4648
## TIER 1 — HIGH CONFIDENCE (ban)

0 commit comments

Comments
 (0)