Skip to content

Commit

Permalink
Add GitHub enumeration capabilities (#25)
Browse files Browse the repository at this point in the history
This adds rudimentary GitHub repository enumeration capabilities to Nosey Parker.

- A new github repos list command is available, which uses the GitHub REST API
  to enumerate repositories belonging to one or more users or organizations.
- The output can be written in textual, JSON, and JSON lines format.
- An optional GitHub personal access token can be supplied, which provides
  a much greater rate limit than with unauthenticated access, and may make
  additional repositories accessible.

Fixes #15.
  • Loading branch information
bradlarsen authored Feb 8, 2023
1 parent 31ef9e6 commit 8d04bdc
Show file tree
Hide file tree
Showing 46 changed files with 1,964 additions and 253 deletions.
3 changes: 1 addition & 2 deletions .github/workflows/rust-clippy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Install system dependencies
run: |
Expand All @@ -41,7 +41,6 @@ jobs:
with:
toolchain: stable
components: clippy
override: true

- name: Cache
uses: actions/cache@v3
Expand Down
1 change: 1 addition & 0 deletions .rustfmt.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ max_width = 100
newline_style = "Unix"
tab_spaces = 4
fn_call_width = 80
edition = "2021"
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
## Unreleased

### Additions
- Nosey Parker now has rudimentary support for enumerating repositories from GitHub users and organizations.
The new `github repos list` command uses the GitHub REST API to enumerate repositories belonging to one or more users or organizations.
An optional GitHub Personal Access Token can be provided via the `GITHUB_TOKEN` environment variable.

- Nosey Parker now has an optional `rule_profiling` crate feature that causes performance-related statistics to be collected and reported when scanning.
This feature imposes some performance cost and is only useful to rule authors, and so is disabled by default.

Expand Down
Loading

0 comments on commit 8d04bdc

Please sign in to comment.