Skip to content

security: Improve trust model with plugin authors by controlling executed code #1293

@tmc

Description

@tmc

Currently vim-plug doesn't appear to have a well supported means of controlling what source code is included+executed when vim starts up since the latest content is pulled in by default.

I think we should implement lockfile system for the following reasons:

  1. Reproducible environments across machines
  2. Prevention of unexpected plugin updates
  3. Easier rollbacks to known-good states

The current snapshot feature, while useful, has limitations:

  • Slow startup times due to executing multiple git commands on each Vim launch
  • Doesn't prevent automatic updates during normal plugin operations

A lockfile approach would:

  • Store plugin commit hashes in a simple, fast-to-read format
  • Be checked during updates to determine if changes are needed
  • Only update plugins when explicitly requested or when the lockfile changes
  • Significantly reduce startup overhead compared to the current snapshot system

This feature would enhance vim-plug's utility for users prioritizing stability, reproducibility, and performance in their Vim/Neovim setups.

  • Type:
    • Bug
    • Enhancement
    • Feature Request
    • Question
  • OS:
    • All/Other
  • Vim:
    • Terminal Vim
    • GVim
    • Neovim

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