Skip to content

Epic 01: Implement Microsoft SDL & DevOps Security Compliance #27

Description

@primeinc

Goal:
Ensure the repository implements security scans, compliance gates, and Microsoft Secure Development Lifecycle (SDL) controls end-to-end for all CI/CD touchpoints, per DevOps and Microsoft SDL guidelines.

Scope:

  • Setup CodeQL security scans on all pushes and PRs affecting code.
  • Enforce Microsoft SDL-required checks (e.g., secret scanning, dependency audit, static analysis).
  • Integrate compliance reporting into GitHub Actions.
  • Document security/compliance workflow and associated test plans in docs/.

Non-scope:

  • External paid services.
  • Custom authentication not required by SDL.
  • Fuzz testing (create follow-up if necessary for full coverage).

Acceptance Criteria:

  • CodeQL runs for all code changes; failures prevent merge.
  • Secret scanning enabled with Action, and reported in workflow logs.
  • Dependencies are audited for vulnerabilities (native GH or npm audit if JS/TS).
  • Compliance status is reported and visible in workflow summary.
  • All automation runs on free-tier GitHub Actions runners.
  • docs/security.md covers workflow, test plan, risks, and threat model.

Test Plan:

  • Commit with intentional vulnerability, secret, and dependency CVE; confirm workflow blocks merge.
  • Review logs for SDL/CodeQL results.
  • Verify all CI checks run for every push/PR.

Dependencies:

  • Accurate .github/workflows/*.yml setup for CodeQL, secret scan, dep audit.
  • GitHub Actions security features enabled.

Risks/Failure Modes:

  • False negatives from scan tools (document and create follow-ups if detected).
  • Workflow misconfiguration causing scan skips.

Definition of Done:

  • All SDL controls embedded; CI blocks noncompliant code; documentation published in docs/security.md.

Next 3 actions:

  1. Draft sub-issues for CodeQL, secret scanning, dependency audit, and docs setup.
  2. Implement and validate workflows.
  3. Final security test: adversarial commit to verify gates.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions