
grep rough audit - ferramenta de auditoria de código-fonte
graudit é um script simples e conjuntos de assinaturas que permitem encontrar potenciais falhas de segurança no 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, basta executar make com o argumento userinstall ou install. No entanto, é recomendado usar o graudit diretamente clonando o repositório git, pois ele 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 querer definir a variável de ambiente
GRDIR para o diretório de assinaturas no seu arquivo .bashrc.
export GRDIR=/path/to/graudit/signatures
O 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 padrão de linha de comando através da variável de ambiente GRARGS. Isso pode afetar o uso do graudit em scripts, então é recomendado usar apenas as opções B, L, b, z e Z para esse propósito.
echo 'GRARGS="-b -L"; export GRARGS' >> ~/.bashrc
O graudit usa expressões regulares estendidas (POSIX) como suas assinaturas e vem com vários bancos de dados prontos para uso. Você pode estender os bancos de dados existentes ou criar os seus próprios se precisar de assinaturas adicionais.
Os bancos de dados podem ser carregados de vários locais, a ordem de precedência é a seguinte:
Uma lista dos arquivos de banco de dados em ordem de precedência é mostrada com a opção -l:
graudit -l
Os seguintes bancos de dados estão incluídos:
Um vídeo de 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 particular, 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 envie uma mensagem no github @wireghoul.