pentesterland-writeups-scraper
v0.0.4
Published
Scrapes writeups list from https://pentester.land/list-of-bug-bounty-writeups.html into formatted JSON
Downloads
15
Maintainers
Readme
Installation
npm install -S pentesterland-writeups-scraper
Usage
ES6
import load from 'pentesterland-writeups-scraper'
const options = { year: '2020' } // see details below
const getWriteups = async () => await load(options)
const writeups = getWriteups()
// do something with writeups
console.log(writeups)
CommonJS
const load = require('pentesterland-writeups-scraper')
const options = { group: true } // see details below
load(options).then(function (writeups) {
// do something with writeups
console.log(writeups)
})
Options
group
-true
orfalse
- returns writeups grouped by year (object
instead ofarray
)
{
'2020': [...],
'2019': [...],
'2018': [...],
...
'2012': [...],
unknown: [...]
}
year
-YYYY
- returns list of writeups for specified year. Can beunknown
, to get all writeups without date.month
-MM
- returns list of writeups for specified month (year
option is required)order
-asc
ordesc
- returns list of writeups inasc
ordesc
order
Schema
{
url: 'https://blog.assetnote.io/bug-bounty/2019/03/19/rce-on-mozilla-zero-day-webpagetest/',
domain: 'blog.assetnote.io',
title: 'Discovering a zero day and getting code execution on Mozilla’s AWS Network',
hackers: [
{ name: 'Shubham Shah', twitter_handle: 'infosec_au' },
{ name: 'Mathias Karlsson', twitter_handle: 'avlidienbrunn' }
],
programs: [ 'Mozilla' ],
weaknesses: [ 'RCE' ],
bounty: 500,
published: { year: '2019', month: '03', day: '19' },
published_at: '2019-03-19'
}
In some cases there's a few programs, hackers and weaknesses attached to a single writeup, so i decided to go with array
type for field, to have consistent format across all writeups.
Each writeup may also have additional properties, such as:
status
-informative
,not_applicable
,duplicate
orout_of_scope
swag
-true
orfalse
vdp
-true
orfalse
hall_of_fame
-true
orfalse
hacker
object may also have website
property.