O Apisan é uma ferramenta que infere automaticamente os usos corretos da API do código -fonte sem esforço manual. A idéia principal no Apisan é extrair provavelmente os padrões de uso corretos em quatro aspectos diferentes (por exemplo, relação causal e relação semântica nos argumentos), considerando restrições semânticas. O Apisan é adaptado para verificar várias propriedades com implicações de segurança. Aplicamos o Apisan a 92 milhões de linhas de código, incluindo o Linux Kernel, e OpenSSL, encontramos 76 bugs anteriormente desconhecidos e fornecemos patches para todos os bugs.
Este repositório possui ferramenta de análise e LLVM. Os arquivos relacionados ao LLVM seguem sua própria licença (License.llvm) e a ferramenta de análise é fornecida nos termos da licença do MIT.
$ ./setup.sh $ apisan build [cmds] $ apisan build ./configure
$ apisan build make $ apisan check --db=[db] --checker=[checker] $ cd test/return-value
$ ../../apisan build make
$ ../../apisan check --checker=rvchk @inproceedings{yun:apisan,
title = {{APISan: Sanitizing API Usages through Semantic Cross-checking}},
author = {Insu Yun and Changwoo Min and Xujie Si and Yeongjin Jang and Taesoo Kim and Mayur Naik},
booktitle = {Proceedings of the 25th USENIX Security Symposium (Security)},
month = aug,
year = 2016,
address = {Austin, TX},
}