
grep rough audit - ferramenta de auditoria de código-fonte
graudit é um script simples e conjuntos de assinaturas que permite encontrar potenciais falhas de segurança em código-fonte usando o utilitário GNU grep. É comparável a outras aplicações de análise estática como RATS, SWAAT e flaw-finder, mantendo os requisitos técnicos ao mínimo e sendo muito flexível.
A instalação pode ser feita como usuário ou globalmente como root, bastando executar o make com o argumento userinstall ou install. No entanto, é recomendado usar o graudit diretamente clonando o repositório git, pois inclui regras de banco de dados adicionais não incluídas nos arquivos de distribuição. Isso também permite obter atualizações entre versões. Para fazer isso, execute o seguinte comando:
git clone https://github.com/wireghoul/graudit
Você pode então adicionar o graudit ao seu PATH, usando os valores apropriados para o seu shell preferido:
echo 'PATH="$HOME/graudit:${PATH:+:${PATH}}"; export PATH;' >> ~/.bashrc
Se o graudit não estiver no seu diretório home, você pode definir a variável de ambiente GRDIR para o diretório de assinaturas no seu arquivo .bashrc.
export GRDIR=/path/to/graudit/signatures
graudit suporta várias opções e tenta seguir boas práticas de shell. Para uma lista das opções, você pode executar graudit -h ou ver abaixo. A maneira mais simples de usar o graudit é;
graudit [opts] /path/to/scan
OPTIONS
-d <dbname> database to use or /path/to/file.db (uses default if not specified)
-A scan unwanted and difficult (ALL) files
-x exclude these files (comma separated list: -x *.js,*.sql)
-i case in-sensitive scan
-c <num> number of lines of context to display before and after a match, default is 1
-B suppress banner
-L vim friendly lines
-b colour blind friendly template
-z suppress colors
-Z high contrast colors
-l lists databases available
-v prints version number
-h prints this help screen
Você pode definir opções de linha de comando padrão através da variável de ambiente GRARGS. Isso pode afetar o uso do graudit em scripts, por isso é recomendado usar apenas as opções B, L, b, z e Z para esse propósito.
echo 'GRARGS="-b -L"; export GRARGS' >> ~/.bashrc
graudit usa expressões regulares estendidas (POSIX) como suas assinaturas e vem com várias bases de dados prontas para uso. Você pode estender as bases de dados existentes ou criar as suas próprias se precisar de assinaturas adicionais.
As bases de dados podem ser carregadas de vários locais, a ordem de precedência é a seguinte:
Uma lista dos arquivos de base de dados em ordem de precedência é mostrada com a opção -l:
graudit -l
As seguintes bases de dados estão incluídas:
Um vídeo tutorial/introdução pode ser encontrado em: https://youtu.be/b8Xbzer1n94
Se você gostaria de contribuir com o graudit, por favor faça um fork do repositório em https://github.com/wireghoul/graudit e use-o. Em especial, regras de linguagem, scripts adicionais e contribuições de documentação são muito bem-vindas. Se você gosta do graudit, por favor agradeça e compartilhe.
Se você deseja entrar em contato comigo, me mande uma mensagem no github ou twitter: @wireghoul