https://github.com/cundd/hackscanner
https://github.com/cundd/hackscanner
file-scanner security-scanner
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/cundd/hackscanner
- Owner: cundd
- Created: 2018-02-25T10:30:06.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-01-09T16:22:53.000Z (over 1 year ago)
- Last Synced: 2025-04-13T20:42:04.903Z (over 1 year ago)
- Topics: file-scanner, security-scanner
- Language: Rust
- Size: 206 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# hackscanner
> A filesystem scanner that will search for files with suspicious content or file paths.
## Usage
```bash
hackscanner /root/directory/to/scan/
```
### What does this do?
The scanner will go through each file in the given root directory (or the current working directory if none is given).
Each file will be checked against all the defined rules. The severity values of all matching rules will be summed up to
build a rating for the checked file.
Finally the results will be sorted by rating and be printed to the screen.
## Rules
The scanner has a set of [builtin rules](src/rule/builtin.rs), but can easily be extended with custom rules.
Custom rules can be defined in a configuration file which is applied with the `-c, --configuration ` option.
```bash
hackscanner /root/directory/to/scan/ -c /configuration.yaml
# or
hackscanner /root/directory/to/scan/ -c /configuration.json
```
The configuration file can be a JSON or YAML file.
### JSON configuration file
```json
[
{
"name": "some rule",
"path": "some/path",
"content": "some bad content",
"severity": "CRITICAL"
},
{
"name": "some whitelist rule",
"path": "\\.php",
"content": "love",
"severity": "WHITELIST"
}
]
```
### YAML configuration file
```yaml
- name: some rule
path: some/path
content: some bad content
severity: CRITICAL
- name: some whitelist rule
path: "\\.php"
content: love
severity: WHITELIST
```
## Build
```bash
docker run --rm --user "$(id -u)":"$(id -g)" -v "$PWD":/usr/src/hackscanner -w /usr/src/hackscanner rust:1.23.0 cargo build --release
```