Project code and dependent component analysis tools.
npm install -g cloc # https://www.npmjs.com/package/cloc sudo apt install cloc # Debian, Ubuntu sudo yum install cloc # Red Hat, Fedora sudo dnf install cloc # Fedora 22 or later sudo pacman -S cloc # Arch sudo emerge -av dev-util/cloc # Gentoo https://packages.gentoo.org/packages/dev-util/cloc sudo apk add cloc # Alpine Linux sudo pkg install cloc # FreeBSD sudo port install cloc # Mac OS X with MacPorts brew install cloc # Mac OS X with Homebrew choco install cloc # Windows with Chocolatey scoop install cloc # Windows with Scoop
pip setup.py install
from cloclwalk import ClocDetector from cloclwalk import query_cve def test(): c = ClocDetector( code_dir='/tmp/sample_project', enable_vuln_scan=True, enable_upgrade=True, ) c.start() print(c.getResult()) if __name__ == '__main__': test() print(query_cve("CVE-2020-0608"))
$ python cli.py --vuln-scan -p /data/seecode/tasks/7230/vuln_project-master/
============================================================== _________ .__ .__ __ \_ ___ \| | ____ ______ _ _______ | | | | __ / \ \/| | / _ \_/ ___\ \/ \/ /\__ \ | | | |/ / \ \___| |_( <_> ) \___\ / / __ \| |_| < \______ /____/\____/ \___ >\/\_/ (____ /____/__|_ \ \/ \/ \/ \/ clocwalk v2.0.0 xsseroot#gmail.com ============================================================== [17:45:02] [INFO] 4 analyzer plugin loaded. [17:45:02] [INFO] analysis statistics code ... [17:45:03] [INFO] Start using CPE rules for matching ... [17:45:03] [INFO] [-] Start analysis "/data/seecode/tasks/7230/vuln_project-master/pom.xml" file... [17:45:03] [INFO] [-] Start analysis "/data/seecode/tasks/7230/vuln_project-master/src/pom.xml" file... [17:45:03] [INFO] Start using CPE rules for matching ... [17:45:05] [INFO] Start using CPE rules for matching ... [17:45:05] [INFO] Start using CPE rules for matching ... {'cloc': {'Java': {'blank': 9, 'code': 244, 'comment': 21, 'nFiles': 2}, 'Maven': {'blank': 6, 'code': 67, 'comment': 0, 'nFiles': 2}, 'Python': {'blank': 9, 'code': 106, 'comment': 3, 'nFiles': 2}, 'SUM': {'blank': 24, 'code': 417, 'comment': 24, 'nFiles': 6}, 'header': {'cloc_url': 'github.com/AlDanial/cloc', 'cloc_version': '1.82', 'elapsed_seconds': 0.254485845565796, 'files_per_second': 23.5769497775417, 'lines_per_second': 1827.21360775948, 'n_files': 6, 'n_lines': 465}}, 'depends': [{'Java': [{'cve': {'CVE-2017-18349': 'parseObject in Fastjson ' 'before 1.2.25, as used in ' 'FastjsonEngine in Pippo ' '1.11.0 and other products, ' 'allows remote attackers to ' 'execute arbitrary code via ' 'a crafted JSON request, as ' 'demonstrated by a crafted ' 'rmi:// URI in the ' 'dataSourceName field of ' 'HTTP POST data to the Pippo ' '/json URI, which is ' 'mishandled in ' 'AjaxApplication.java.'}, 'new_version': '', 'origin_file': '/data/seecode/tasks/7230/vuln_project-master/pom.xml', 'parent_file': '', 'product': 'fastjson', 'vendor': 'com.alibaba', 'version': '1.2.8'}, {'cve': {}, 'new_version': '', 'origin_file': '/data/seecode/tasks/7230/vuln_project-master/pom.xml', 'parent_file': '', 'product': 'spring-core', 'vendor': 'org.springframework', 'version': '4.3.12.RELEASE'}, {'cve': {}, 'new_version': '', 'origin_file': '/data/seecode/tasks/7230/vuln_project-master/pom.xml', 'parent_file': '', 'product': 'solr-solrj', 'vendor': 'org.apache.solr', 'version': '5.5.3'}, {'cve': {}, 'new_version': '', 'origin_file': '/data/seecode/tasks/7230/vuln_project-master/pom.xml', 'parent_file': '', 'product': 'shiro-core', 'vendor': 'org.apache.shiro', 'version': '1.2.4'}, {'cve': {'CVE-2017-15095': 'A deserialization flaw was ' 'discovered in the ' 'jackson-databind in ' 'versions before 2.8.10 and ' '2.9.1, which could allow an ' 'unauthenticated user to ' 'perform code execution by ' 'sending the maliciously ' 'crafted input to the ' 'readValue method of the ' 'ObjectMapper. This issue ' 'extends the previous flaw ' 'CVE-2017-7525 by ' 'blacklisting more classes ' 'that could be used ' 'maliciously.'}, 'new_version': '', 'origin_file': '/data/seecode/tasks/7230/vuln_project-master/src/pom.xml', 'parent_file': '/data/seecode/tasks/7230/vuln_project-master/pom.xml', 'product': 'jackson-databind', 'vendor': 'com.fasterxml.jackson.core', 'version': '2.8.4'}]}]} [17:45:05] [INFO] Total time consumption: 3.34(s)