Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

audit.nvim

A comprehensive code auditing plugin for Neovim. This plugin helps security auditors and code reviewers track findings, annotate code regions, and collaborate on security assessments directly within Neovim.

Features

  • 📝 Finding Management: Create, track, and manage security findings
  • 📋 Note Taking: Add contextual notes to code regions
  • 🎨 Visual Indicators: Emoji indicators in the gutter for easy identification
  • 🔗 Git Integration: Generate shareable permalinks to specific lines and commits
  • 🔍 Search & Navigation: Telescope integration for powerful finding search and navigation
  • 💾 Data Persistence: JSON-based storage with multi-user collaboration support
  • 📊 Export Functionality: Export findings to Markdown or JSON formats
  • 🎯 Customizable: Extensive configuration options for colors, keymaps, and behavior

Installation

Using lazy.nvim

{
  "your-username/audit.nvim",
  dependencies = {
    "nvim-telescope/telescope.nvim", -- Optional but recommended
  },
  config = function()
    require("audit").setup({
      -- Your configuration here
    })
  end,
}
use {
  "your-username/audit.nvim",
  requires = {
    "nvim-telescope/telescope.nvim", -- Optional but recommended
  },
  config = function()
    require("audit").setup({
      -- Your configuration here
    })
  end,
}

Quick Start

  1. Add a Finding: Select code and press <leader>af or use :AuditAddFinding
  2. Add a Note: Select code and press <leader>an or use :AuditAddNote
  3. Show Details: Press <leader>ai to show finding/note details at cursor
  4. Copy Permalink: Press <leader>ac to copy a git permalink to clipboard
  5. Search Findings: Press <leader>as to search all findings with Telescope
  6. List Findings: Press <leader>al to see a summary of all findings

Configuration

-- Minimal configuration (most settings have good defaults)
require("audit").setup({
  -- Customize key mappings if desired
  mappings = {
    add_finding = "<leader>af",
    add_note = "<leader>an", 
    show_here = "<leader>ai",
    copy_permalink = "<leader>ac",
  },
  
  -- Change storage location if needed
  storage_dir = ".audit",
})

-- Or just use defaults
require("audit").setup()

Documentation

For detailed documentation including commands, API reference, and advanced features, see :help audit or doc/audit.txt.

TODO

  • Add SARIF (Static Analysis Results Interchange Format) export support
  • Add coverage report integration and support
  • Better support for visual mode and multiline findings/notes for adding and removing
  • Improve editing issue details and metadata
  • Test collaboration feature

License

MIT License - see LICENSE for details.

Acknowledgments

Inspired by Trail of Bits' weAudit VSCode extension.

About

Code auditing plugin for Neovim - track findings, add notes and export reports

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages