OWASP / OWASP/openshield

Implement enterprise DevSecOps, supply chain, and AI service rules

Open
#259 2 comments 0 reactions 1 assignee View on GitHub

@emon22-ts is already working on this.

Since Aug 13, 2026.

stale
Dominant language
Python
Stars
57
Forks
68
Avg merge
3d 15h
Merged PRs (30d)
17

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.