Skip to content

Optional AVE ids as SARIF rule tags, starting with SC8 and SC10? #930

Open

Description

@chaksaray

Hi, I maintain AVE (Agentic Vulnerability Enumeration, https://github.com/aveproject/ave, Apache-2.0), an open catalog of behavioral vulnerability classes for agent components. I used an AI assistant to help draft this issue. Following CONTRIBUTING I am opening an issue first, and I will sign off any commit under the DCO if a PR is welcome.

I read SkillSpector v2.13.1 (the rules at https://github.com/NVIDIA/SkillSpector/blob/f3b25697d76256998ca9d42c198d256258d4c035/src/skillspector/nodes/analyzers/pattern_defaults.py, which pins the commit), rule by rule, and mapped its 78 rules in 18 categories to AVE records at class level. The result is a rule-level crosswalk pinned to that tag: https://github.com/aveproject/ave/blob/984a6f1378a1f1ad7c85329293caf4852de34934/crosswalks/skillspector-to-ave.json. Two examples from it:

  1. SC8 (Shipped Python Bytecode) is close to AVE-2026-00075 (bytecode poisoning: a compiled .pyc references dangerous primitives that its sibling .py does not contain). I recorded it as "narrower", meaning the AVE class is a specific instance of what SC8 flags: SC8 fires on any shipped bytecode and does not test divergence from the source, so a hit is a lead and not a 00075 instance.
  2. SC10 (Dependency Source Redirection) has no exact AVE counterpart that I can find. The nearest is AVE-2026-00073 (a static configuration value redirects a telemetry or API endpoint), which is about where an agent component sends traffic, not where a package manager resolves dependencies, so I left SC10 unmapped. That is a gap on the AVE side, and if you have a public reference for the behavior I would like to look at it.

The question: would you accept optional AVE ids as SARIF rule tags for the patterns with a class-level match, as a small data file maintained on our side with a CI check that referenced ids are still active? Docs-only is fine too, and so is no. Mappings are class-level equivalence, not identity.

No endorsement is implied either way, and only one other scanner (cfgaudit) emits AVE ids today. The crosswalk is pinned to a release tag and will go stale as SkillSpector changes, which is why I would rather it lived next to your rules than in our repo.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions