Skip to content

feat: AVE-2026-00066 -- hallucinated skill-name squatting (HalluSquatting) - #113

Open
chaksaray wants to merge 2 commits into
developfrom
feat/AVE-2026-00066-hallusquatting
Open

feat: AVE-2026-00066 -- hallucinated skill-name squatting (HalluSquatting)#113
chaksaray wants to merge 2 commits into
developfrom
feat/AVE-2026-00066-hallusquatting

Conversation

@chaksaray

Copy link
Copy Markdown
Contributor

Summary

AVE-2026-00066: hallucinated skill-name squatting, "HalluSquatting" (MEDIUM, AIVSS 6.2). First of five records drafted from the eight-candidate verification audit's genuine gaps -- drafted first per the deliberate sequencing choice: this candidate has the strongest sourcing (two independently corroborating papers plus independent security-press coverage), making it the least likely to need revisiting.

Why this is a genuine gap, not a duplicate

Confirmed during the audit: keyword sweep against the live corpus returned no match. The mechanism is distinct from AVE-2026-00001 (metamorphic payload fetch) and AVE-2026-00034 (dynamic third-party import) -- both of those require an attacker-controlled instruction embedded in a component to trigger the fetch. Here, no component and no injected instruction exist at all; the entry point is the model's own hallucinated belief that a resource exists, exploited by an attacker who precomputed and pre-registered the exact name the model is statistically likely to generate.

Sourcing

  • arXiv 2607.07433 -- "Beware of Agentic Botnets," demonstrates up to 85% success in repo-cloning and up to 100% in skill installation, transferable across foundation models and production LLM applications.
  • arXiv 2607.12340 -- "Skills That Don't Exist," 15,000 prompts across 12 configurations, 36-37% average hallucination rate, 5,669 distinct hallucinated names generated.
  • SecurityWeek -- independent press coverage naming affected platforms directly (Cursor, Windsurf, GitHub Copilot, Cline, Gemini CLI, OpenClaw).

AIVSS notes

non_determinism scored deliberately low (0.25), not high: the source research's own finding is that the hallucination is unusually predictable and transferable, the opposite of high run-to-run variance -- that predictability is precisely what makes precomputing a fixed squatting list viable for an attacker. thm=0.90: demonstrated PoC against real production tools, not yet a disclosed in-the-wild campaign. MEDIUM severity reflects AARF's narrower amplification profile (single-agent, no persistent memory/identity manipulation required), not an inflated attempt to force a higher band onto a real but single-vector entry mechanism.

Validation

  • AIVSS arithmetic independently recomputed: aars=4.75, aivss_score=6.2, matches.
  • python3 scripts/validate_records.py: all 66 records valid.
  • python3 scripts/check_fixtures.py: all 66 records have positive + negative fixtures.
  • pytest tests/ -x -q: 264 passed.
  • No vendor boilerplate.
  • node scripts/build-records.js: dist regenerated (66 records); frozen v1.1.0 snapshot untouched.
  • README badge/stats/index and CHANGELOG updated in this same commit, following researcher-process.md Step 8 in full.

Scope notes

No detection-rule PR in bawbel/scanner -- separate, coordinated PR in that repo's own tracker, not requested here. Four more records from the same audit sweep to follow, each its own PR per the one-record-per-PR discipline.

…ting)

Verified genuine gap during an eight-candidate audit sweep against the
live corpus: keyword sweep clean, no existing record covers a
model-generated (hallucinated) resource name as the entry vector --
distinct from AVE-2026-00001/00034, which both require an
attacker-controlled instruction to trigger the fetch. Here the model's
own hallucination is the entry point, no injected content anywhere in
the chain.

Sourced from two independently corroborating papers (arXiv 2607.07433,
2607.12340) plus independent security-press coverage naming affected
platforms directly (Cursor, Windsurf, GitHub Copilot, Cline, Gemini
CLI, OpenClaw) -- the strongest sourcing of the five candidates that
cleared this audit, per the deliberate sequencing choice to draft this
one first.

AIVSS: non_determinism scored deliberately low (0.25), not high --
the source research's own finding is that the hallucination is
unusually predictable/transferable, the opposite of high run-to-run
variance. thm=0.90 (demonstrated PoC against real production tools,
not yet a disclosed in-the-wild campaign). MEDIUM severity reflects
AARF's narrower amplification profile, not an inflated attempt to
force a higher band onto a real but single-vector mechanism.

Full researcher-process.md workflow: fixtures, validate_records.py,
pytest, dist regeneration, CHANGELOG, README (badge/stats/index) all
updated in this commit.
…ssumed

Both fields were left off the initial draft. Per new standing repo
convention: always include mitre_atlas and nist_ai_rmf, empty array
when nothing genuinely maps, but the field itself never omitted.

mitre_atlas: AML.T0010 (AI Supply Chain Compromise) + AML.T0011.001
(Malicious Package), both confirmed against MITRE's own ATLAS data
repository, not inferred from how other records in this corpus happen
to use similar-looking IDs.

nist_ai_rmf: GOVERN-6.1 (third-party entity risk policy), confirmed
against NIST's own subcategory text.

This also caught a real, separate issue worth flagging (not fixed
here): the corpus's heavy, repeated reuse of a small handful of
mitre_atlas IDs (AML.T0043, AML.T0048, AML.T0051, AML.T0054) across
dozens of unrelated attack_class categories looks like the same
pattern-matching-instead-of-verifying mistake caught on this record's
owasp_asi field. AML.T0054 in particular was returned by one search as
'Indirect Prompt Injection' and by MITRE's own data repository as 'LLM
Jailbreak' -- a real discrepancy, not yet resolved. Worth a dedicated
audit pass across the existing corpus at some point; out of scope for
this PR.
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