Skip to content

fix(sdk): Log warning when icacls fails on Windows token permission hardening #770

Closed

Description

@diberry

Context

PR #768 added icacls to restrict Teams token file permissions on Windows. However, the exec() callback is a no-op — if icacls fails (unusual path characters, permission denied), the failure is silently swallowed and the token file remains with default Windows ACLs.

What to do

In packages/squad-sdk/src/platform/comms-teams.ts, change the saveTokens() icacls call to log a warning on error:

exec(icacls ..., (err) => {
  if (err) console.warn('⚠️ Could not restrict token file permissions:', err.message);
});

Origin

Flagged by RETRO (security review) during PR #768 review — Round 1, MEDIUM-1 follow-up note.

Severity: LOW
Related PR: #768

Activity

  1. added
    squadSquad triage inbox — Lead will assign to a member
    on Apr 3, 2026
  2. github-actions commented on Apr 3, 2026

    @github-actions
    Contributor

    🏗️ Squad Triage — Flight (Lead)

    Issue: #770 — fix(sdk): Log warning when icacls fails on Windows token permission hardening
    Assigned to: FIDO (Quality Owner)
    Reason: Issue relates to testing/quality work

    @copilot evaluation: 🔴 Not suitable — issue involves work outside the coding agent's capability profile.

    Team roster:

    • Flight (Lead) → label: squad:flight
    • Procedures (Prompt Engineer) → label: squad:procedures
    • EECOM (Core Dev) → label: squad:eecom
    • FIDO (Quality Owner) → label: squad:fido
    • PAO (DevRel) → label: squad:pao
    • CAPCOM (SDK Expert) → label: squad:capcom
    • CONTROL (TypeScript Engineer) → label: squad:control
    • Surgeon (Release Manager) → label: squad:surgeon
    • Booster (CI/CD Engineer) → label: squad:booster
    • GNC (Node.js Runtime) → label: squad:gnc
    • Network (Distribution) → label: squad:network
    • RETRO (Security) → label: squad:retro
    • INCO (CLI UX & Visual Design) → label: squad:inco
    • GUIDO (VS Code Extension) → label: squad:guido
    • Telemetry (Aspire & Observability) → label: squad:telemetry
    • VOX (REPL & Interactive Shell) → label: squad:vox
    • DSKY (TUI Engineer) → label: squad:dsky
    • Sims (E2E Test Engineer) → label: squad:sims
    • Handbook (SDK Usability) → label: squad:handbook
    • Ralph (Work Monitor) → label: squad:ralph
    • @copilot (Coding Agent) → label: squad:copilot

    To reassign, remove the current squad:* label and add the correct one.

  3. added 2 commits that reference this issue on Apr 6, 2026
    eff1ae1
    a51cac0
  4. diberry commented on Apr 6, 2026

    @diberry
    ContributorAuthor

    ✈️ Flight Triage

    Category: In progress — PR #883 covers this. No PRD needed.

    Tracked alongside #772 and #771. All three are Teams adapter follow-ups from PR #768 review.

    Action: No action needed — tracking via PR #883.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    go:needs-researchNeeds investigationsquadSquad triage inbox — Lead will assign to a member

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions