Repository navigation
Closed as not planned
Closed as not planned
Copy link
Labels
Description
Objective
Implement DevSecOps, software supply-chain, and Azure AI service security controls across supported repository providers and Azure resources.
Scope
Implement these controls:
- A CI/CD workflow uses long-lived Azure credentials instead of workload identity federation.
- A CI workflow has unnecessarily broad token permissions.
- A third-party workflow action is not pinned to an immutable commit.
- Untrusted pull-request input reaches a privileged workflow context.
- A protected branch permits unreviewed production changes.
- A release artifact lacks an approved signature or provenance attestation.
- Infrastructure deployment can bypass required security scanning.
- An Azure OpenAI or Foundry resource permits unnecessary public access.
- An AI service uses static keys where managed identity is available and required.
- 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
- Workflow credentials, token permissions, action pinning, and pull-request context.
- Branch protection, artifact provenance, and scan-bypass controls.
- 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
emon22-ts commentedon Aug 13, 2026
hi, i want to work on this. Can you please assign it to me . Thanks
feat(ci-rules): add AZ-CI-001..004 CI/CD workflow security rules (issue
feat(ci-rules): add AZ-CI-001..004 CI/CD workflow security rules (issue
feat(ci-rules): add AZ-CI-001..004 CI/CD workflow security rules (issue
feat(ci-rules): add AZ-CI-001..004 CI/CD workflow security rules (issue
feat(ci-rules): add AZ-CI-001..004 CI/CD workflow security rules (issue
feat(ci-rules): add AZ-CI-001..004 CI/CD workflow security rules (issue
feat(ci-rules): add AZ-CI-001..004 CI/CD workflow security rules (issue
fix: evaluate job-level permissions in is_permissions_broad and add r…
feat(ci-rules): add AZ-CI-001..004 CI/CD workflow security rules (issue
fix: evaluate job-level permissions in is_permissions_broad and add r…
fix: add CI scan entry point, workflow_run detection and UNKNOWN perm…
github-actions commentedon Sep 13, 2026
This issue has been inactive for 30 days and will be closed in 7 days unless there is activity.
6 remaining items
fix: add CI scan entry point, workflow_run detection and UNKNOWN perm…
fix: cache workflow content, fix finding path matching, log app token…
fix(ci-rules): read default workflow permissions from correct endpoin…
github-actions commentedon Sep 21, 2026
Closing due to inactivity. Feel free to reopen if still relevant.
parthrohit22 commentedon Sep 25, 2026
@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:
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.
feat(ci-rules): add AZ-CI-001..004 CI/CD workflow security rules (issue
fix: evaluate job-level permissions in is_permissions_broad and add r…
fix: add CI scan entry point, workflow_run detection and UNKNOWN perm…
fix: cache workflow content, fix finding path matching, log app token…
fix(ci-rules): read default workflow permissions from correct endpoin…
feat(ci): persist CI scan results (OWASP#259 PR 2/3)
feat(ci): persist CI scan results (OWASP#259 PR 2/3)
feat(ci): persist CI scan results (OWASP#259 PR 2/3)
fix(ci-rules): strip inline comments, detect AZURE_CREDENTIALS, handl…