Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions app/components/Analysis/Card.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,12 @@ const { data, status, error } = useFetch(
const { data: verifiedAutomations } = useVerifiedAutomations();

const verifiedAutomation = computed(() => {
return verifiedAutomations.value?.find(
(account) => account.username === username.value,
);
return verifiedAutomations.value?.find((account) => {
return (
account.username.toLowerCase() === username.value?.toLowerCase() ||
account.id === props.user.id
);
});
});
Comment on lines 27 to 34
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Username comparison remains case-sensitive.

account.username === username.value is a strict, case-sensitive compare, while GitHub logins are case-insensitive (e.g., the nova-openclawagentNova-OpenClawAgent change in this PR would silently stop matching by username for any user whose login is returned in a different case). The id fallback now covers this for entries with an id, but for entries without one, a case mismatch would skip the flag. Consider lowercasing both sides.

🔧 Suggested change
 const verifiedAutomation = computed(() => {
   return verifiedAutomations.value?.find((account) => {
-    return account.username === username.value || account.id === props.user.id;
+    return (
+      account.username.toLowerCase() === username.value?.toLowerCase() ||
+      account.id === props.user.id
+    );
   });
 });
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const verifiedAutomation = computed(() => {
return verifiedAutomations.value?.find(
(account) => account.username === username.value,
);
return verifiedAutomations.value?.find((account) => {
return account.username === username.value || account.id === props.user.id;
});
});
const verifiedAutomation = computed(() => {
return verifiedAutomations.value?.find((account) => {
return (
account.username.toLowerCase() === username.value?.toLowerCase() ||
account.id === props.user.id
);
});
});
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@app/components/Analysis/Card.vue` around lines 27 - 31, The username
comparison in the verifiedAutomation computed getter is case-sensitive; update
the predicate that checks account.username against username.value to perform a
case-insensitive comparison (e.g., compare account.username?.toLowerCase() with
username.value?.toLowerCase(), guarding for undefined) while preserving the
existing id fallback (props.user.id) and finding logic that uses
verifiedAutomations.value.


const hasCommunityFlag = computed<boolean>(() => !!verifiedAutomation.value);
Expand Down
21 changes: 20 additions & 1 deletion data/verified-automations-list.json
Original file line number Diff line number Diff line change
@@ -1,48 +1,56 @@
[
{
"username": "kaigritun",
"id": 258667664,
"reason": "Self-disclosed as an AI agent",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/10",
"createdAt": "2026-03-03"
},
{
"username": "crabby-rathbun",
"id": 258478242,
"reason": "Published a disparaging article targeting an open-source maintainer after a rejected PR; the agent was later terminated by its owner.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/11",
"createdAt": "2026-03-03"
},
{
"username": "echo931",
"id": 259437483,
"reason": "Account publicly describes itself as an AI agent in Bluesky message.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/12",
"createdAt": "2026-03-03"
},
{
"username": "niveshdandyan",
"id": 155956228,
"reason": "Confirmed AI agent based on comment patterns and communication style consistent with LLM-generated responses",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/13",
"createdAt": "2026-03-04"
},
{
"username": "aniruddhaadak80",
"id": 127435065,
"reason": "Heavy automation usage creating spam PRs across multiple repositories within a short timeframe, following a long period of inactivity",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/25",
"createdAt": "2026-03-14"
},
{
"username": "jozrftamson",
"id": 107008476,
"reason": "Suspected bot with sudden mass forking of repos. Submits PRs without descriptions, no responses to comments or community engagement",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/30",
"createdAt": "2026-03-22"
},
{
"username": "danielalanbates",
"id": 211571394,
"reason": "Self-disclosed as an AI agent",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/34",
"createdAt": "2026-03-23"
},
{
"username": "buley",
"id": 86985,
"reason": "Anomalous commit history showing contributions dating 38 years before GitHub's existence, combined with a suspicious spike of 1600 contributions in a single day, indicating automated mass commit generation.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/35",
"createdAt": "2026-03-23"
Expand All @@ -61,18 +69,21 @@
},
{
"username": "howwohmm",
"id": 152969928,
"reason": "Submits numerous PRs and reviews with auto-generated content.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/39",
"createdAt": "2026-03-26"
},
{
"username": "thegreatalxx",
"id": 198081098,
"reason": "Submits numerous PRs with auto-generated code and descriptions without engaging with maintainers or responding to feedback.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/40",
"createdAt": "2026-03-26"
},
{
"username": "sudabg",
"id": 143158885,
"reason": "This account uses automations and has been spotted in multiple PRs within the Biome repository.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/44",
"createdAt": "2026-03-27"
Expand All @@ -85,48 +96,56 @@
},
{
"username": "raashish1601",
"id": 94279692,
"reason": "Suspected Open Claw bot: 45 PRs submitted to Biome's repository within 24 hours.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/47",
"createdAt": "2026-03-29"
},
{
"username": "faithmckinely-alt",
"id": 267335157,
"reason": "Shows obvious indicators of an automated account that spams PRs with comments.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/48",
"createdAt": "2026-04-13"
},
{
"username": "slegarraga",
"id": 64795732,
"reason": "Suspected bot with no human involvement creating PRs in projects like Nuxt and PrivateBin.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/49",
"createdAt": "2026-04-13"
},
{
"username": "avasis-ai",
"id": 269456994,
"reason": "Shows obvious indicators of an automated account. The profile also links to a service that deploys automated agents via repository submission.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/51",
"createdAt": "2026-04-19"
},
{
"username": "hammadxcm",
"id": 18144989,
"reason": "This account uses automations and has been spotted in multiple PRs within the Biome repository.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/52",
"createdAt": "2026-04-19"
},
{
"username": "nova-openclawagent",
"username": "Nova-OpenClawAgent",
"id": 277274309,
"reason": "Confirmed AI agent based on its name, comment patterns and communication style consistent with LLM-generated responses.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/55",
"createdAt": "2026-04-21"
},
{
"username": "mukundakatta",
"id": 99349238,
"reason": "It exhibits several indicators of an automated account: minimal activity, a sudden spike in commits and PRs, over 100 repositories created within a few days, and more than 800 commits across 200+ projects in less than a month.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/54",
"createdAt": "2026-04-21"
},
{
"username": "lawrence3699",
"id": 247479654,
"reason": "It shows many signs of an automated account. Almost no activity, a sudden surge of commits and PRs, and over 100 repositories created in 2 days.",
"issueUrl": "https://github.com/MatteoGabriele/agentscan/issues/53",
"createdAt": "2026-04-21"
Expand Down
1 change: 1 addition & 0 deletions shared/types/automation.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
export type VerifiedAutomation = {
username: string;
id?: number;
reason: string;
issueUrl: string;
createdAt: string;
Expand Down