githubEdit

Distribution at scale

Distribute Snyk Studio as a managed utility to automate local security testing and integrate it into your software development life cycle (SDLC).

Benefits of distributing Snyk Studio

Distributing Snyk Studio to every developer offers the following benefits:

  • Eliminate setup friction: Deliver Snyk Studio as pre-configured infrastructure to allow adoption immediately.

  • Ensure security parity: Give engineers access to the same tooling and use the same security rules in their AI workflows.

  • Reduce support overhead: Use centralized configuration to reduce troubleshooting for separate local setups.

  • Standardize remediation: Provide a standardized, AI-assisted triage experience. Accelerate remediation using native LLM integrations for triage and fix generation.

Deployment decisions

Snyk provides general guidelines for distributing at scale. You can adapt these based on your tooling, security policies, and developer culture. This section covers key decisions and deployment management.

Which coding assistants are available to your developers?

You determine which coding assistants developers use. Most assistants support the Model Context Protocol (MCP) and directives. While configuration management varies by assistant, Snyk Studio deployment works with any coding assistant.

What MDM tools does your organization use?

The operating system (Windows or macOS) determines the mobile device management (MDM) tool your IT department uses, such as Intune or Jamf. IT administrators write and incorporate the necessary scripts into MDM playbooks. Use the Decisions made by Example company section as a model to port to your MDM solution.

Do you want to auto-update Snyk CLI or MCP versions?

Snyk updates the Snyk CLI and MCP Server regularly with features and fixes. You can distribute specific versions to developers to allow time for internal vetting. Expand the relevant option for more information on what actions you need to take.

chevron-rightYes, I would like to enable auto-updates for Snyk CLI/MCP versions.hashtag
  • If you are deploying alongside Cursor, Windsurf, or Copilot in VS Code, you do not need to take any action as the default setting automatically upgrades dependencies when they are available.

  • If you are deploying Snyk Studio into any other coding assistant, you will need to keep the Snyk CLI on the latest version using MDM, which will depend on your chosen installation method.

chevron-rightNo, I want to manually update Snyk CLI/MCP versions after internal testing is complete.hashtag
  • If you are deploying alongside Cursor, Windsurf, or Copilot in VS Code, install that specific CLI versionarrow-up-right.

    • If you want to use the Snyk VS Code IDE extension to facilitate the MCP server configuration and Secure at inception directives, install the VS Code IDE extension and disable auto CLI updates (snyk.advanced.automaticDependencyManagement) and set the path to your CLI explicitly (snyk.advanced.cliPath).

  • If you are deploying alongside Claude Code or Gemini CLI, install a specific CLI versionarrow-up-right and run snyk mcp config --name=[ade_name].

  • If you are deploying alongside a coding assistant this guide does not cover or prefer fine-grained controls, install a specific CLI versionarrow-up-right, configure your ADE’s MCP server, and optionally write the rule files (varies by ADE).

Do you want to enable Secure at inception directives?

Secure at inception directives guide the coding assistant on how and when to scan generated code and automatically fix security issues. You can configure whether you use these rules, the content, and how strictly you want them enforced.

chevron-rightYes, I want to enable Secure at inception directives.hashtag
  • If you use Cursor, Windsurf, or Copilot in VS Code, use the Snyk VS Code extension to apply default Secure at inception directives. This automatically writes to individual directories and adds files to .gitignore. You can configure the following settings:

    • snyk.securityAtInception.autoConfigureSnykMcpServer: Configures the Snyk MCP server.

    • snyk.securityAtInception.executionFrequency: Sets the directive execution frequency.

  • If you deploy Snyk Studio into any other coding assistant or want to customize the Secure at inception directives, write the directives to the appropriate directory for your assistant. You can apply directives at the user level or the repository level.

    • User level directives: These apply to all repositories. For Windsurf, add rules to the global_rules.md file. For MacOS or Linux, this file is located in the ~/.codeium/windsurf/directory. For Windows, this file is located in the %USERPROFILE%\.codeium\windsurf\ directory. Cursor does not support programmatic user level rules.

    • If you use administrative consoles to manage directives, they must remain in sync across your development environments.

    • Repository-level directives: You can write directives for specific repositories using scripts (not MDM) or Git Global Templates. For Cursor, add a .md file to the .cursor/rules directory at the project root.

chevron-rightNo, I do not want to enable any directives.hashtag

No additional action is required beyond configuring the Snyk MCP server. You can manually invoke scans using your chosen agent.

Do you want to allow developers to modify directive settings?

Developer workflows vary. If you use the Snyk VS Code extension to configure the Snyk MCP server and Secure at inception directives, developers can change the scan frequency:

  • On Code Generation: Guides the agent to scan every time it generates new code in a Snyk supported language.

  • Smart Scan: The agent model decides when to invoke Secure at Inception rules.

  • Manual: Disables Secure at inception rules but allows users to invoke scans through the agent using natural language. You can revert to On Code Generation, as needed.

If you deploy Snyk Studio into any other coding assistant or customize the Secure at inception directives, you can modify directives by manually overwriting or deleting directive files.

chevron-rightYes, I want to enable developers to modify directive settings.hashtag
  • To modify directive on developer machines, update your MDM playbook to:

    • Overwrite directive files using the helper file timestamp. The script can check to see if a developer already has directives deployed, making no changes to the directive file contents.

    • Write a new timestamp value.

chevron-rightNo, I do not want to enable developers to modify directive settings.hashtag

Run the MDM script on all developer machines. You do not need to identify specific machines for updates.

If the script runs daily, it overwrites any manual changes developers made since the last run. Run the script frequently to ensure consistency.

Example decisions and distribution steps

The following example details deployment steps for "Example Company":

Decisions made by Example company

  • Cursor and Windsurf are available to developers to use internally.

  • Jamf is used as a MDM tool.

  • Yes, I want to auto-update Snyk CLI/MCP versions.

  • Yes, I want to enable Secure at inception directives.

  • Yes, I want to allow developers to modify directive settings.

This results in a straightforward deployment where the Snyk VS Code IDE extension can be used to distribute the CLI, handle automatic dependency updates, automate the configuration of the MCP server, and set the Secure at inception directives. Allowing developers to modify directive settings is handled with a helper file on developer machines as shown in the example script.

Development and rollout steps

Example company drafted the script and followed these steps:

chevron-right1. Execute the script locallyhashtag

This demonstrates functionality and troubleshoots any issues, with the user testing the experience in all applicable coding assistants and multiple runs.

chevron-right2. Upload the script to Jamfhashtag
  1. Navigate to Settings > Computer Management > Scripts.

  2. Click the New button to create a new script.

  3. Configure the script with the following attributes:

    1. Display Name: Snyk Studio Deployment

    2. Category: Security

    3. Priority: After

    Script attributes configuration in Jamf
  4. Navigate to the Scripts tab and paste in the script.

  5. Click Save.

chevron-right3. Create a Jamf policy for small user testinghashtag
  1. Navigate to Computers > Policies.

  2. Click New to create a new policy.

  3. Configure General settings with the following attributes:

    1. Display Name: Snyk Studio Deployment - Manual Test

    2. Category: Security

    3. Trigger: Recurring Check-in

    4. Execution Frequency: Ongoing

  4. Navigate to the Options > Scripts:

    1. Click Configure.

      Configure the Snyk Studio Deployment script
    2. Select the Snyk Studio Deployment script.

  5. Navigate to the Scope tab. Configure the scope by setting the following value:

    1. Targets: Select one group for initial testing.

  6. Click Save.

  7. Optionally: Navigate to the Self Service tab and make the policy available:

Optional Self Service setting in Jamf
chevron-right4. Validate with a small user testhashtag
  1. Monitor Policy Logs in Jamf for execution status.

  2. Ask initial users to open Cursor and or Windsurf to test functionality:

    1. Check that the Snyk extensions are installed.

    2. Confirm Snyk extension settings show the MCP server is configured and Secure at inception is enabled.

    3. Run a small coding task through the agent and observe that Secure at inception directives are automatically invoked.

    4. Prompt the agent to execute security scans manually.

chevron-right5. Rollout to all usershashtag
  1. Navigate to Computers > Policies.

  2. Find the existing Snyk Studio Deployment policy.

  3. Configure the scope by setting the following values:

    1. Targets: All Computers

    2. Limitations: None (unless you want to exclude specific devices)

  4. Click Save.

Sample script

Snyk provides a sample script modeled after the Example company for distributing Snyk Studio:

chevron-rightExample distribution script for Jamfhashtag

Last updated

Was this helpful?