Como integrar o Insider no Visual Studio Code
Para que você possa executar o Insider como Task dentro do Visual Studio Code, você precisa realizar a instalação da mesma maneira que precisa para realizar o Insider por linha de comendo em seu computador, são passos extremamente simples e que estão logo abaixo.
Insider-cli
O insider-cli é uma ferramenta de linha de comando que possibilita aos usuários executarem analises na localmente em suas máquinas e obter um feedback mais rápido das possíveis vulnerabilidades em seu código.
Índice
- Instalação
- Unix (Linux/MacOS)
- Docker
- Windows
- Autenticação
- Utilização
- Integração com editores de texto
- VSCode
Instalação
Você pode realizar o download do executavel de acordo com a sua plataforma: Linux ou MacOS
Mas antes de iniciar a instalação é sempre recomendado que você instale algumas dependências que seu sistema operacional irá precisar para executar a verificação no Insider, veremos isso a seguir.
Unix (Linux/MacOS)
Debian/Ubuntu e derivados
$ sudo apt update
$ sudo apt install python3-pip file
$ pip3 install semgrep
MacOS Homebrew
$ brew install python3 file
$ pip3 install semgrep
Docker
É possivel também executar uma analise utilizando uma imagem Docker, para fazer isso, somente é necessário informar as credências de acesso, que você possuí do Insider, como variáveis de ambiente e montar um volume para executar a analise:
$ docker run --rm -e INSIDER_EMAIL="email@insider.com" -e INSIDER_PASSWORD="password" -v caminho/para/arquivos:/sast insidersec/insider-cli:lastet run /sast
Windows
Atualmente o Windows não é suportado de forma nativa, porém você pode utilizar o WSL2 (Windows Subsystem for Linux) que permite a execução de um subsistema GNU/Linux e então realizar o mesmo processo de instalação no Linux que informamos logo acima.
Também existe a possibilidade de executar utilizando o Docker, também seguindo os mesmos passos da seção acima chamada Docker.
Autenticação
Para começar a utilizar o insider-cli é necessário, em primeiro lugar, fazer login na plataforma do Insider:
$ ./insider-cli login --email email@insider.com
Por padrão a senha deve ser informada no prompt que irá abrir após a conexão ser feita para realizar o login, porém é possível, mas não aconselhável, afinal estamos lidando com segurança do código, informar a senha preenchendo a variável de ambiente INSIDER_PASSWORD
Utilização
Para rodar uma analise basta executar o comando run
passando os diretórios que deseja analisar como argumento:
$ ./insider-cli run dir-1 dir-2 dir-3
O comando run
possui algumas flags que podem customizar a análise, para visualiza-los, basta executar com a flag --help
$ ./insider-cli run --help
Integração com o Visual Studio Code
VSCode
É possível integrar o Insider no VSCode utilizando a funcionalidade de Tasks, para fazer isso basta configurar o arquivo .vscode/tasks.json
na raiz do seu projeto como o exemplo a baixo
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Insider",
"type": "shell",
// Caso o insider-cli não esteja no seu $PATH, altere o valor a baixo informando
// o caminho completo do executável
"command": "insider-cli",
// Essa configuração irá executar o Insider somente pro arquivo atual que está aberto.
// Caso deseje rodar para demais arquivos, especifique-os como argumentos
// É possivel informar um diretório que seja executar os arquivos também
"args": ["run", "${file}"],
"group": "test",
"problemMatcher": {
"fileLocation": ["absolute"],
"pattern": {
// Com esse regex é possivel informar o VSCode o nome do arquivo, linha e coluna
// que foi encontrado o problema, e mostrar o error justamente com sua mensagem
"regexp": "^\\[(.*)(\\(([0-9]+):([0-9]+)\\))\\] - (\\(CWE-[0-9]+\\):(.*))",
"file": 1,
"line": 3,
"column": 4,
"severity": 5,
"message": 5
}
}
}
]
}
Vale lembrar, apesar de documento no exemplo de arquivo acima, que se o insider-cli não estiver no seu $PATH, você deve informar o caminho completo do executável.
Após configurado, é possivel acessar essa task utilizando o atalho Ctrl+Shift+P
, pesquisar por Run Test Tasks
e selecionar Run Insider