Skip to content

Implement enterprise DevSecOps, supply chain, and AI service rules #259

Closed as not planned

Description

@ritiksah141

Objective

Implement DevSecOps, software supply-chain, and Azure AI service security controls across supported repository providers and Azure resources.

Scope

Implement these controls:

  1. A CI/CD workflow uses long-lived Azure credentials instead of workload identity federation.
  2. A CI workflow has unnecessarily broad token permissions.
  3. A third-party workflow action is not pinned to an immutable commit.
  4. Untrusted pull-request input reaches a privileged workflow context.
  5. A protected branch permits unreviewed production changes.
  6. A release artifact lacks an approved signature or provenance attestation.
  7. Infrastructure deployment can bypass required security scanning.
  8. An Azure OpenAI or Foundry resource permits unnecessary public access.
  9. An AI service uses static keys where managed identity is available and required.
  10. An AI resource lacks required diagnostic logging, encryption, or content-safety controls.

Collection architecture

  • GitHub and Azure DevOps repository, workflow, branch-protection, permission, artifact, and security APIs.
  • Repository workflow YAML and deployment configuration analysis.
  • Azure OpenAI/Foundry resource, identity, network, diagnostic, encryption, and safety configuration APIs.
  • Approved provider and repository scope configuration.

Required implementation behavior

  • Treat unsupported providers, repositories, and optional features as NOT_APPLICABLE.
  • Return UNKNOWN for missing repository permissions, inaccessible workflows, unavailable attestations, or Azure API failures.
  • Return FAIL only when unsafe configuration is positively evidenced.
  • Never expose secrets, tokens, or credential values.
  • Include repository/resource context, workflow or branch, observed/expected state, evidence/timestamp, remediation, permissions, severity, confidence, and UNKNOWN reason.

Delivery order

  1. Workflow credentials, token permissions, action pinning, and pull-request context.
  2. Branch protection, artifact provenance, and scan-bypass controls.
  3. AI network, identity, logging, encryption, and content-safety controls.

Acceptance criteria

  • Tests cover secure/insecure YAML, action pinning, pull-request contexts, branch protection, attestations, scan bypass, AI settings, empty repositories, unsupported providers, malformed YAML, and permission failures.
  • Secrets never appear in findings or logs.
  • Every rule has documentation, remediation, tests, and verified mappings without TBD.
  • Scanner, provider integrations, and CI-equivalent checks pass.
  • An origin-branch PR references this issue.

Activity

  1. emon22-ts commented on Aug 13, 2026

    @emon22-ts
    Collaborator

    hi, i want to work on this. Can you please assign it to me . Thanks

  2. self-assigned this
    on Aug 13, 2026
  3. github-actions commented on Sep 13, 2026

    @github-actions
    Contributor

    This issue has been inactive for 30 days and will be closed in 7 days unless there is activity.

  4. 5 remaining items

  5. github-actions commented on Sep 21, 2026

    @github-actions
    Contributor

    Closing due to inactivity. Feel free to reopen if still relevant.

  6. parthrohit22 commented on Sep 25, 2026

    @parthrohit22
    Collaborator

    @emon22-ts this was auto-closed by the stale bot, but you're actively delivering it (#280 is PR 1/3), so I think it should be reopened. Maintainers, could someone reopen?

    For the AI part (controls 8–10), two suggestions for when you get there:

    • Also cover AI Search (public network access / admin-key auth) and Azure ML workspaces (public network access). Those hold the grounding data and models behind the OpenAI resources, and nothing in OpenShield covers them yet.
    • Map the AI rules to the OWASP Top 10 for LLM Applications in rule metadata (e.g. key auth → LLM02/LLM10, content filtering → LLM01/LLM05). As an OWASP project, that would set us apart from Prowler, which has only two AI checks.

    If you'd rather focus on the CI/CD and supply-chain controls, I'm happy to take 8–10 as PR 3/3. Just let me know so we don't overlap.

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions