{"id":18896161,"url":"https://github.com/tenable/pedant","last_synced_at":"2025-04-15T01:34:25.179Z","repository":{"id":1712245,"uuid":"2441848","full_name":"tenable/pedant","owner":"tenable","description":"A static analysis framework for NASL.","archived":false,"fork":false,"pushed_at":"2022-11-30T17:28:18.000Z","size":781,"stargazers_count":14,"open_issues_count":2,"forks_count":5,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-03-28T13:44:51.224Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.tenable.com/products/nessus","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tenable.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2011-09-23T03:52:16.000Z","updated_at":"2023-04-05T10:22:11.000Z","dependencies_parsed_at":"2023-01-13T11:19:56.231Z","dependency_job_id":null,"html_url":"https://github.com/tenable/pedant","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fpedant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fpedant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fpedant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenable%2Fpedant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tenable","download_url":"https://codeload.github.com/tenable/pedant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248594190,"owners_count":21130316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T08:32:43.576Z","updated_at":"2025-04-15T01:34:24.825Z","avatar_url":"https://github.com/tenable.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Pedant, a static analysis tool for NASL\n=======================================\n\n[![Gem Version](http://img.shields.io/gem/v/nasl-pedant.svg?style=flat-square)](https://rubygems.org/gems/nasl-pedant)\n\n\nInstalling\n----------\nIf you have Ruby 1.9.3+ and Rubygems installed, you can simply do:\n`gem install nasl-pedant`\n\nUsing\n-----\nTo check a script, run this: `pedant check scriptname.nasl`.  You can check\n`.inc` files the same way. Multiple files can be checked at the same time.\n\nSee a `[WARN]` but there's no explanation of the problem? Try adding `-v`.\n\nDevelopment\n-----------\n\nThis project uses [Bundler](http://bundler.io/).\n\nIf you have a brand-new Debian machine, do this as root:\n\n    apt-get install ruby-dev rubygems git\n    gem install bundler\n\nAs your regular user:\n\n    git clone https://github.com/tenable/pedant\n    cd pedant\n    bundle install --path vendor/bundle\n    bundle exec rake test\n\nAll the tests should pass!\n\nTo run the Pedant command line, do `bundle exec ./bin/pedant`, which should give\na help message.\n\nIf you get an error like this, try prefixing your command with `bundle exec`:\n\n    /usr/lib/ruby/2.x.x/rubygems/core_ext/kernel_require.rb:NN:in `require': cannot load such file -- libname (LoadError)\n\nBugs\n----\n\n1. Only works for up to 5.2 code (will not fix, the `nasl`\n   interpreter can now export an AST)\n1. Some of the checks have inconsistent titles in terms of \"truthiness\"\n\nTodo\n----\n\n1. Iron out some of the semantics:\n   - Currently files are all checked independently: what should be done when\n     we're given `.inc` and `.nasl` files in one invocation?\n1. Add a control-flow graph?\n1. Add some kind of taint tracking?\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenable%2Fpedant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftenable%2Fpedant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenable%2Fpedant/lists"}