Skip to content

[v1.0] Enable repository secret, dependency, and code-scanning controls #280

Description

@codeforester

Goal

Enable defense-in-depth repository controls for vulnerable dependencies, committed secrets, and static code-scanning findings.

Background

Live repository settings on 2026-08-30 report dependabot_security_updates disabled and secret scanning, non-provider patterns, push protection, and validity checks disabled. The code-scanning alerts endpoint reports that no analysis exists.

The repository's Ruff, Bandit, pip-audit, redaction, and threat-model gates are valuable, but they do not prevent a credential from being pushed, open reviewed security-update pull requests, or provide CodeQL-style cross-file analysis.

Scope

  • Enable the dependency graph, Dependabot alerts/security updates, and a reviewed update policy.
  • Enable secret scanning, push protection, validity checks, and supported non-provider patterns.
  • Enable CodeQL default or advanced setup for the supported Python surface.
  • Make actionable security checks required on protected main.
  • Document triage, false-positive dismissal, SLA, and emergency response ownership.
  • Record any organization/plan control that cannot be enabled and its compensating control.

Acceptance Criteria

  • Repository settings read back the intended dependency, secret, and code-scanning features as enabled.
  • A safe test secret pattern is blocked or detected in a documented rehearsal.
  • Code scanning produces a successful analysis for main and pull requests.
  • Dependabot security updates open a reviewed PR when a test fixture/rehearsal dependency is vulnerable, or equivalent evidence proves configuration.
  • Security checks are required by branch protection and cannot be silently skipped on release-source changes.
  • Dismissals require reason, reviewer, and audit trail; ownership and remediation SLAs are documented.
  • Existing Bandit and pip-audit gates remain in place and are not treated as substitutes for repository controls.

Validation

Read back GitHub security settings and branch protection; inspect the first successful code-scanning run; execute safe secret/dependency rehearsal cases; verify alert and dismissal workflows.

Non-Goals

  • Do not commit a real credential or known exploitable production dependency.
  • Do not replace the runtime threat model, trusted publishing, or artifact attestations.

Dependencies

Project Fields

  • Status: Backlog
  • Priority: P1
  • Area: Security
  • Initiative: v1.0 Readiness
  • Size: M

Ownership

Metadata

Metadata

Assignees

Labels

ciContinuous integration, tests, automation, or release workflowssecuritySecurity hardening or vulnerability work

Type

No type

Projects

  • Status
    Backlog

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions