mirror of
https://github.com/elicpeter/nyx.git
synced 2026-06-06 19:35:13 +02:00
docs: Add section on advantages of using Nyx in README (#10)
* docs: Add section on advantages of using Nyx in README * ci: Update branch references from 'main' to 'master' in CI configuration * docs: Add third-party licenses documentation and update build process * Update .github/workflows/release-build.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * docs: Add third-party licenses documentation and update build process --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
parent
a614e157b3
commit
d50684e31b
7 changed files with 6270 additions and 11 deletions
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
|
|
@ -2,9 +2,9 @@ name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
branches: ["master"]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [main]
|
branches: ["master"]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
|
|
|
||||||
8
.github/workflows/release-build.yml
vendored
8
.github/workflows/release-build.yml
vendored
|
|
@ -42,6 +42,12 @@ jobs:
|
||||||
- name: Build
|
- name: Build
|
||||||
run: cargo build --release --bin ${{ env.BIN_NAME }} --target ${{ matrix.target }}
|
run: cargo build --release --bin ${{ env.BIN_NAME }} --target ${{ matrix.target }}
|
||||||
|
|
||||||
|
- name: Install cargo-about
|
||||||
|
run: cargo install cargo-about --locked
|
||||||
|
|
||||||
|
- name: Generate license bundle
|
||||||
|
run: cargo about generate --format html > THIRDPARTY-LICENSES.html
|
||||||
|
|
||||||
- name: Package
|
- name: Package
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -57,7 +63,7 @@ jobs:
|
||||||
fi
|
fi
|
||||||
mkdir -p dist
|
mkdir -p dist
|
||||||
ARCHIVE=$BIN-$TARGET.zip
|
ARCHIVE=$BIN-$TARGET.zip
|
||||||
zip -9 "dist/$ARCHIVE" "$BIN_PATH"
|
zip -9 "dist/$ARCHIVE" "$BIN_PATH" THIRDPARTY-LICENSES.html LICENSE* COPYING* || true
|
||||||
echo "ASSET=$ARCHIVE" >> "$GITHUB_ENV"
|
echo "ASSET=$ARCHIVE" >> "$GITHUB_ENV"
|
||||||
|
|
||||||
- name: Upload to the release
|
- name: Upload to the release
|
||||||
|
|
|
||||||
26
README.md
26
README.md
|
|
@ -20,6 +20,19 @@
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Why choose Nyx?
|
||||||
|
|
||||||
|
| Advantage | What it means for you |
|
||||||
|
|--------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| **Pure-Rust, single binary** | No JVM, Python, or server to install; drop the `nyx` executable into your `$PATH` and go. |
|
||||||
|
| **Massively parallel** | Uses Rayon and a thread-pool walker; scales to all CPU cores. Example: scanning the entire **rust-lang/rust** codebase (~53,000 files) on an M2 MacBook Pro takes **≈ 1 s**. |
|
||||||
|
| **Index-aware** | An optional SQLite index stores file hashes and findings, subsequent scans touch *only* changed files, slashing CI times. |
|
||||||
|
| **Offline & privacy-friendly** | Requires no login, cloud account, or telemetry. Perfect for air-gapped environments and strict compliance policies. |
|
||||||
|
| **Tree-sitter precision** | Parses real language grammars, not regexes, giving far fewer false positives than line-based scanners. |
|
||||||
|
| **Extensible** | Add new patterns with concise `tree-sitter` queries; no SaaS lock-in. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Build from source
|
### Build from source
|
||||||
|
|
@ -114,12 +127,13 @@ A fully documented `nyx.conf` is generated automatically on first run.
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
| Area | Planned Improvements |
|
| Area | Planned Improvements |
|
||||||
|------------------------|---------------------------------------------------------------------------|
|
|-----------------------|---------------------------------------------------------------------------|
|
||||||
| Control‑flow analysis | Generation of CFGs for deeper reasoning about execution paths |
|
| More language support | Plans to create rule sets for over 100 languages for maximum coverage |
|
||||||
| Taint tracking | Intra‑ / inter‑procedural tracing of untrusted data from sources to sinks |
|
| Control‑flow analysis | Generation of CFGs for deeper reasoning about execution paths |
|
||||||
| Output formats | Full SARIF 2.1.0, JUnit XML, HTML report generator |
|
| Taint tracking | Intra‑ / inter‑procedural tracing of untrusted data from sources to sinks |
|
||||||
| Rule updates | Remote rule feed with signature verification |
|
| Output formats | Full SARIF 2.1.0, JUnit XML, HTML report generator |
|
||||||
|
| Rule updates | Remote rule feed with signature verification |
|
||||||
|
|
||||||
Community feedback will help shape priorities; please open an issue to discuss proposed changes.
|
Community feedback will help shape priorities; please open an issue to discuss proposed changes.
|
||||||
|
|
||||||
|
|
|
||||||
6146
THIRDPARTY-LICENSES.html
Normal file
6146
THIRDPARTY-LICENSES.html
Normal file
File diff suppressed because it is too large
Load diff
70
about.hbs
Normal file
70
about.hbs
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<style>
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body {
|
||||||
|
background: #333;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color: skyblue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
font-family: sans-serif;
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
.intro {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.licenses-list {
|
||||||
|
list-style-type: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.license-used-by {
|
||||||
|
margin-top: -10px;
|
||||||
|
}
|
||||||
|
.license-text {
|
||||||
|
max-height: 200px;
|
||||||
|
overflow-y: scroll;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<main class="container">
|
||||||
|
<div class="intro">
|
||||||
|
<h1>Third Party Licenses</h1>
|
||||||
|
<p>This page lists the licenses of the projects used in cargo-about.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Overview of licenses:</h2>
|
||||||
|
<ul class="licenses-overview">
|
||||||
|
{{#each overview}}
|
||||||
|
<li><a href="#{{id}}">{{name}}</a> ({{count}})</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>All license text:</h2>
|
||||||
|
<ul class="licenses-list">
|
||||||
|
{{#each licenses}}
|
||||||
|
<li class="license">
|
||||||
|
<h3 id="{{id}}">{{name}}</h3>
|
||||||
|
<h4>Used by:</h4>
|
||||||
|
<ul class="license-used-by">
|
||||||
|
{{#each used_by}}
|
||||||
|
<li><a href="{{#if crate.repository}} {{crate.repository}} {{else}} https://crates.io/crates/{{crate.name}} {{/if}}">{{crate.name}} {{crate.version}}</a></li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
<pre class="license-text">{{text}}</pre>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
11
about.toml
Normal file
11
about.toml
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
accepted = [
|
||||||
|
"Apache-2.0",
|
||||||
|
"MIT",
|
||||||
|
"MIT-0",
|
||||||
|
"Unicode-3.0",
|
||||||
|
"BSD-2-Clause",
|
||||||
|
"Unlicense",
|
||||||
|
"Zlib",
|
||||||
|
"CC0-1.0",
|
||||||
|
"MPL-2.0"
|
||||||
|
]
|
||||||
12
deny.toml
Normal file
12
deny.toml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
[licenses]
|
||||||
|
allow = [
|
||||||
|
"Apache-2.0",
|
||||||
|
"MIT",
|
||||||
|
"MIT-0",
|
||||||
|
"Unicode-3.0",
|
||||||
|
"BSD-2-Clause",
|
||||||
|
"Unlicense",
|
||||||
|
"Zlib",
|
||||||
|
"CC0-1.0",
|
||||||
|
"MPL-2.0"
|
||||||
|
]
|
||||||
Loading…
Add table
Add a link
Reference in a new issue