The collected rules are published to GitHub pages on every push to the main
branch:
- https://badrap.github.io/eol-rules/eol-rules.json - A JSON collection of rules.
This repository has a Dev Container setup that can be used with Visual Studio Code. Refer to the article "Developing inside a Container" to get started.
Each target has their own .yaml file under the the ./targets directory. The target's canonical identifier ("target ID") is derived from the filename by removing the .yaml suffix.
A valid target ID follows these rules:
- It must have 1-32 characters.
- It must contain only hyphens and lowercase alphanumerics.
- It must start and end with an alphanumeric.
- It must not contain two consecutive hyphens.
Target files are validated on every push by GitHub Actions. You can also run validation locally with the following command:
npm run validate
The validation uses the ./schema/target.schema.json file to check the basic structure of each target YAML file.
There are scripts for testing out the current set of targets and their rules, either with direct banner data or matching them to Shodan results.
npm -s run try:banner 'BANNER TEXT GOES HERE'
For example:
npm -s run try:banner 'Apache/2.2.22 (Debian)'
SHODAN_API_KEY='*****************' npm -s run try:shodan 192.168.0.0
Licensed under the MIT license. See LICENSE