Skip to content

Implement v0.3.0 MCP security hardening (#91)#101

Merged
Dimwiddle merged 6 commits intomainfrom
codex/91-mcp-security-v030
Feb 16, 2026
Merged

Implement v0.3.0 MCP security hardening (#91)#101
Dimwiddle merged 6 commits intomainfrom
codex/91-mcp-security-v030

Conversation

@Dimwiddle
Copy link
Copy Markdown
Contributor

Description

Implement the remaining v0.3.0 security scope from #91.

What changed

  • Add strict Click-level input validation callbacks for IDs/text and apply them across features, status, next, and enforce
  • Harden SKILL file sync behavior so modified .specleft/SKILL.md is not regenerated unless explicit force is provided
  • Add specleft init --force for intentional SKILL regeneration
  • Surface skill_file_regenerated in init outputs (CLI JSON and MCP specleft_init)
  • Expand MCP contract payload guarantees with MCP Security and Risk management #91 security assertions (cli_rejects_shell_metacharacters, init_refuses_symlinks, no_network_access, no_telemetry, etc.)
  • Update generated SKILL safety guidance and CLI reference docs
  • Add/update command, MCP, and acceptance tests for these paths

Type of Change

  • Security hardening
  • Feature enhancement
  • Tests
  • Documentation

Testing

  • make lint
  • pytest -q

Related Issues

Closes #91

@Dimwiddle Dimwiddle linked an issue Feb 16, 2026 that may be closed by this pull request
Comment thread src/specleft/mcp/payloads.py Outdated
Comment thread src/specleft/mcp/payloads.py Outdated
Comment thread src/specleft/templates/skill_template.py
@Dimwiddle Dimwiddle merged commit ceb7403 into main Feb 16, 2026
11 checks passed
@Dimwiddle Dimwiddle deleted the codex/91-mcp-security-v030 branch February 16, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MCP Security and Risk management

1 participant