Skip to content

Sanitized Inputs check ignores Go and misclassifies non-app repositories #3556

Description

@filipenevola

Summary

The GitHub Sanitized Inputs compliance check currently infers input validation only from a fixed dependency-name list in package.json, requirements.txt, pyproject.toml, or composer.json files.

This causes incorrect results for repositories in unsupported languages and for repositories that are not standalone applications:

  • a Go CLI with extensive explicit argument, environment-variable, JSON, response, and state validation is reported as having no input validation because go.mod and Go validation patterns are not inspected;
  • a Docker-based composite GitHub Action with only action.yml and workflows is failed because it has no dependency file, even though its inputs are typed by the action contract and forwarded to a validating CLI;
  • conversely, a large repository can pass merely because a supported library appears in an example or unrelated subdirectory.

Reproduction

  1. Connect GitHub to an organization with multiple repository types.
  2. Include a Go application/CLI whose validation is implemented with standard-library parsing and explicit checks.
  3. Include a GitHub Action repository with action.yml but no package manifest.
  4. Include a monorepo containing a supported validation library only in an example or unrelated package.
  5. Run the Sanitized Inputs check.

Actual result

  • The Go repository and GitHub Action repository fail with No input validation library found.
  • The monorepo passes based on the unrelated dependency match.
  • The compliance task is failed even though dependency presence alone neither proves nor disproves effective input validation.

Observed again on 2026-08-16 in the hosted Comp AI platform: two repositories passed and two failed, with the failures based only on missing supported dependency files/names.

Expected result

Use an auditable result model that distinguishes:

  1. supported-library detection;
  2. unsupported language/repository type requiring manual evidence;
  3. repository not applicable because it exposes no independent inbound interface; and
  4. verified absence of validation.

Recommended improvements:

  • support Go (go.mod) and common Go parsing/validation patterns;
  • recognize GitHub Action metadata and delegated validation boundaries;
  • allow per-repository applicability and evidence overrides with justification;
  • scope dependency matches to relevant production packages instead of examples/tests alone; and
  • report unsupported detection as needs review, not automatically as a failed control.

No organization IDs, connection IDs, run IDs, repository names, customer names, or private code are included in this report.

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