Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Towards better inference: bits → nibbles #3808

Open
wants to merge 247 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
247 commits
Select commit Hold shift + click to select a range
ae00a8e
Introducing nibbles
originalsouth Aug 27, 2024
c90fcb0
Prototyping
originalsouth Aug 28, 2024
d57cf19
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Sep 18, 2024
64ece62
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Sep 18, 2024
bba22a3
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Sep 18, 2024
0896eba
set default in model
noamblitz Sep 19, 2024
964b89b
remove default bit
noamblitz Sep 19, 2024
5915f03
fix test
noamblitz Sep 19, 2024
ed7be58
Fix Octopoes tests for patch related changes
originalsouth Sep 19, 2024
efa3c97
Merge branch 'set-default-risk-in-model' of github.com:minvws/nl-kat-…
originalsouth Sep 19, 2024
663a9bb
Fix Octopoes tests for patch related changes II
originalsouth Sep 19, 2024
bd78ed9
Merge branch 'main' into set-default-risk-in-model
originalsouth Sep 19, 2024
b5ba90a
Fix Octopoes tests for patch related changes III
originalsouth Sep 19, 2024
f885652
Merge branch 'set-default-risk-in-model' of github.com:minvws/nl-kat-…
originalsouth Sep 19, 2024
b05283e
Prevent race conditions between Octopoes' event manager and the sched…
originalsouth Sep 19, 2024
06d1080
Merge branch 'main' into set-default-risk-in-model
underdarknl Sep 20, 2024
5bf8b35
Merge branch 'main' into set-default-risk-in-model
originalsouth Sep 23, 2024
967d41b
Merge branch 'main' into set-default-risk-in-model
underdarknl Sep 23, 2024
d30b33f
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Sep 23, 2024
86fe7d5
Merge branch 'fix/prevent_race_conditions_between_event_manager_and_s…
originalsouth Sep 23, 2024
dca2b20
Merge branch 'set-default-risk-in-model' into feature/nibbles
originalsouth Sep 23, 2024
7699d93
Fixes for idle run
originalsouth Sep 23, 2024
0eb106f
Merge branch 'main' into feature/nibbles
originalsouth Sep 24, 2024
2ed89fb
Manual merge
originalsouth Oct 14, 2024
d9c9fa2
Revert "Set default findingtype risk in model instead of in bit (#3562)"
originalsouth Oct 14, 2024
20c5abf
Pre-commit after revert
originalsouth Oct 14, 2024
2d09141
Remove bogus rlu_cache
originalsouth Oct 15, 2024
6adeffe
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Oct 16, 2024
f3f4277
Register origins and add parameters begins
originalsouth Oct 16, 2024
ef9ad80
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Oct 16, 2024
5546cd8
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Oct 16, 2024
cf2f04c
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Oct 16, 2024
6fd5f74
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Oct 29, 2024
1b49c3b
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Oct 30, 2024
b28ae84
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Oct 30, 2024
8b0f50d
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Oct 31, 2024
f140e87
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 4, 2024
be03bf8
Add blocklist and ooi reuse to inference
originalsouth Nov 4, 2024
852ec3e
Fix runner
originalsouth Nov 4, 2024
ed4c40a
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 4, 2024
df9a329
Basic nibbler
originalsouth Nov 6, 2024
5908b42
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 6, 2024
2de975d
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 7, 2024
a67b297
Add more boilerplating
originalsouth Nov 7, 2024
f20cb4b
Check clearance for seed OOI in nibbles
originalsouth Nov 7, 2024
d706b35
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 7, 2024
49e1116
Add unit test
originalsouth Nov 7, 2024
8ff6fac
Add unit test
originalsouth Nov 7, 2024
a9da549
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 7, 2024
6fbcf12
Make SonarClaus Happier
originalsouth Nov 7, 2024
bd7b82d
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 12, 2024
13400b3
More testing and fixing
originalsouth Nov 12, 2024
137b687
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 12, 2024
aa66104
Moves towards a new niddles
originalsouth Nov 13, 2024
4d9baa2
Purge NMAX
originalsouth Nov 13, 2024
63cdaec
Another day another design
originalsouth Nov 14, 2024
f337ee3
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 14, 2024
a18929b
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 17, 2024
e35b101
Add multivariable support
originalsouth Nov 18, 2024
0c8a6bb
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 18, 2024
d320be2
Refactor
originalsouth Nov 19, 2024
87909ae
Fix typing
originalsouth Nov 19, 2024
4b853d9
Refactor
originalsouth Nov 19, 2024
d084a38
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 19, 2024
5266ccd
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 20, 2024
e7b3a5a
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 20, 2024
bd59705
Mostly fix nibble-origins -> nibblettes
originalsouth Nov 21, 2024
e9a4576
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 21, 2024
8c6d6e5
Add comment
originalsouth Nov 21, 2024
9890402
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 26, 2024
ac80ae0
Give me the $$$ AWK input
originalsouth Nov 26, 2024
d978519
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 26, 2024
6272afc
Faster serialization
originalsouth Nov 27, 2024
82b6ad4
Skip encoding
originalsouth Nov 27, 2024
dee4a4a
Revert "Faster serialization"
originalsouth Nov 27, 2024
c40537d
nibblette -> nibblet
originalsouth Nov 27, 2024
9e0a0ca
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 27, 2024
d19812d
Test re-evaluation
originalsouth Nov 27, 2024
5e5ff0b
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Nov 27, 2024
cc73cf0
Fix double dict entry "bug"
originalsouth Nov 28, 2024
986b32d
Run all nibbles not touched by nibblets
originalsouth Nov 28, 2024
40f9093
Cleanup code
originalsouth Dec 2, 2024
555dcd5
Manual merge poetry.lock
originalsouth Dec 2, 2024
4bd5198
Rais non-nibblet origins
originalsouth Dec 2, 2024
b0352d6
Better specializations
originalsouth Dec 2, 2024
16e5259
Fix requirements
originalsouth Dec 2, 2024
603c943
Don't change the integration test
originalsouth Dec 2, 2024
c5da166
Add FIXME comment
originalsouth Dec 2, 2024
6751284
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 2, 2024
6dd8b9b
Type fix
originalsouth Dec 2, 2024
0ebdc9d
Add OOI caching
originalsouth Dec 2, 2024
09fd601
Remove useless tests
originalsouth Dec 2, 2024
8cf3533
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 3, 2024
edb8822
Serialization fixes
originalsouth Dec 4, 2024
4d5ef74
Remove parameter hash
originalsouth Dec 4, 2024
193342e
Add first (test) nibblet
originalsouth Dec 4, 2024
665439c
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 4, 2024
715036f
Minor updates
originalsouth Dec 4, 2024
2b246c6
Minimum scanlevel per variable
originalsouth Dec 4, 2024
7ad6614
Remove min scan level requirements (for now)
originalsouth Dec 4, 2024
de0c783
Fixed some patched bit tests
originalsouth Dec 4, 2024
7b2417b
Remove legacy min_scan_level
originalsouth Dec 4, 2024
03eea29
Nibble functionality in router
originalsouth Dec 4, 2024
14c9f0e
Add first real nibble
originalsouth Dec 4, 2024
8185ed1
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 4, 2024
f73ccb1
Fix Octopoes' integration tests
originalsouth Dec 4, 2024
23af315
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 4, 2024
0f0204a
Fix Octopoes' tests
originalsouth Dec 4, 2024
58e4e5f
Redo pad_level
originalsouth Dec 4, 2024
f5b1a78
Migrate 1 to N bits to nibbles
originalsouth Dec 5, 2024
ae1d35c
Fix dov nibble
originalsouth Dec 5, 2024
128be59
Fix SPF header
originalsouth Dec 5, 2024
ea90a6d
website discovery bit to nibble
noamblitz Dec 5, 2024
a857ee3
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 9, 2024
c7e6a34
Implement recalculate for nibbler
originalsouth Dec 9, 2024
d03014a
Implement recalculate for nibbler
originalsouth Dec 9, 2024
1813b23
Fix octopoes tests (non-integration)
originalsouth Dec 9, 2024
d9dac77
Add reset routine
originalsouth Dec 9, 2024
4315910
Allow queries to be callable
originalsouth Dec 10, 2024
cfb5266
Update callable queries
originalsouth Dec 10, 2024
73dddf1
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 10, 2024
c044dd0
Test for callability
originalsouth Dec 10, 2024
f731775
Retire the dollars
originalsouth Dec 10, 2024
04c8cda
add failing parent ooi type test
noamblitz Dec 10, 2024
df49296
check types with isinstance
noamblitz Dec 10, 2024
1495aef
Retire port_common
originalsouth Dec 10, 2024
d3686de
Manual merge of main
originalsouth Dec 10, 2024
887abee
Fix event manager test
originalsouth Dec 10, 2024
8e0c9ee
Remove printer
originalsouth Dec 10, 2024
b224e4c
Remove port_common tests from test
originalsouth Dec 10, 2024
dc81654
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 10, 2024
e703325
Delete Nibblets properly
originalsouth Dec 11, 2024
9d426d6
Better deletion II
originalsouth Dec 11, 2024
653b004
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 11, 2024
9e3ba58
Remove dangling affirmation a bit later
originalsouth Dec 12, 2024
eb5f6ec
Remove redundant nibble definitions in test_nibbles
originalsouth Dec 12, 2024
191c9ae
More utility functions and maintenance
originalsouth Dec 12, 2024
884a3d7
POJO --> BaseModel
originalsouth Dec 12, 2024
fda34e8
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 12, 2024
0daf3a7
Convert check_hsts_header
originalsouth Dec 12, 2024
5701a6c
Convert check_hsts_header II
originalsouth Dec 12, 2024
2109257
Port disallowed_csp_hostnames
originalsouth Dec 12, 2024
2eef723
allow optional nibble params
noamblitz Dec 12, 2024
c88d03b
Port ooi_in_headers
originalsouth Dec 12, 2024
67fe804
Port ooi_in_headers tests
originalsouth Dec 12, 2024
fe40e42
Add referencefield?
originalsouth Dec 12, 2024
a579212
Add referencefield
originalsouth Dec 12, 2024
d0bdaf9
Add referencefield
originalsouth Dec 12, 2024
b49e831
port missing_spf bit with tests
noamblitz Dec 13, 2024
c3d2763
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 13, 2024
03baf16
fix hsts header nibble with tests
noamblitz Dec 13, 2024
3521a97
check for bit id in query
noamblitz Dec 13, 2024
366e830
Fix itests
originalsouth Dec 16, 2024
9ebe56e
Update config ooi nibbles
originalsouth Dec 16, 2024
a1d02f7
Support nibbles with duplicate parameters in signature
originalsouth Dec 16, 2024
66df903
Fix bit_id for disallowed_csp_hostnames nibble
originalsouth Dec 16, 2024
ac699ef
Unit tests for objectify
originalsouth Dec 16, 2024
c51dca9
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 16, 2024
0ecceec
Introduce tests for config nibbles
originalsouth Dec 17, 2024
66a287a
Fix tests for config nibbles
originalsouth Dec 17, 2024
38dc032
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 17, 2024
1e81c09
Bypass SonarCloudSecurity check?
originalsouth Dec 17, 2024
e9b29b4
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 17, 2024
b74d36a
Fix config queries
originalsouth Dec 18, 2024
779afb7
Patch the ROBOT tetst (there should be more objects with the nibble a…
originalsouth Dec 18, 2024
ec0f8bd
Remove nibbles reset routine (unwanted and premature for now)
originalsouth Dec 18, 2024
15304bc
Update disallow_csp_hostnames from upstream
originalsouth Dec 18, 2024
2076e50
Allow none configs in new nibble
originalsouth Dec 18, 2024
d7403c5
Retire perform_writes option
originalsouth Dec 18, 2024
719da7c
Make sonarcloud happier
originalsouth Dec 18, 2024
7524a11
Make sonarcloud happier
originalsouth Dec 18, 2024
a2d383c
Make sonarcloud happier
originalsouth Dec 18, 2024
e680adc
Cleanup unused code
originalsouth Dec 18, 2024
b4181f1
Allow reruns when nibbles are updated (part I)
originalsouth Dec 18, 2024
e27fbbe
Add retrieve functionality
originalsouth Dec 19, 2024
777b1b8
Implement yields
originalsouth Dec 19, 2024
7cd694f
Add update nibble routines
originalsouth Dec 19, 2024
acc8bbc
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 23, 2024
8106a26
Document objectify a bit
originalsouth Dec 23, 2024
e4dbe69
Rename objectify --> parse_as
originalsouth Dec 23, 2024
cb7ebfb
Beginnings of NibbleRepository etc
originalsouth Dec 24, 2024
22b025f
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 24, 2024
0cd92b2
Actually add the NibbleRepository
originalsouth Dec 24, 2024
ee92430
Fix integration tests
originalsouth Dec 24, 2024
358ec81
Fix tests...
originalsouth Dec 24, 2024
f1d8d15
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Dec 26, 2024
2b92683
Implement centralized Nibble toggle mechanism
originalsouth Dec 26, 2024
8b1f232
Federilized Nibblers
originalsouth Dec 26, 2024
7149279
Federilized Nibblers II
originalsouth Dec 26, 2024
45a1d30
Update packages (via upstream)
originalsouth Dec 27, 2024
158028c
Remove sleep statements for not need for new implementation
originalsouth Dec 27, 2024
4436568
Remove checksum routine
originalsouth Dec 27, 2024
1b8a820
Better python hashing of OOIs
originalsouth Dec 30, 2024
57e8344
Revert: Better python hashing of OOIs
originalsouth Dec 30, 2024
b7768fb
Fix deletion propagation
originalsouth Dec 30, 2024
c4c561d
Fix deletion propagation with a happy precommit
originalsouth Dec 30, 2024
c9448bc
Sync upstream dissallowed-csp-hostnames bit --> nibble
originalsouth Dec 31, 2024
74e5c07
Fixes for @Donnype's suggestions
originalsouth Jan 1, 2025
508d0d8
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Jan 1, 2025
1b6124f
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Jan 2, 2025
48bb165
More consistent naming in NibbleRepository
originalsouth Jan 2, 2025
7479793
Change retrieve/yields interface to be more cool
originalsouth Jan 2, 2025
b9d38d6
Fix router calls
originalsouth Jan 2, 2025
4260d0e
Simplify and harden missing spf nibble query
originalsouth Jan 6, 2025
623eae7
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Jan 7, 2025
ccc93b9
add url discovery nibble
noamblitz Jan 7, 2025
171c449
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Jan 8, 2025
57c548a
Docs: Add nibble documentation (#3983)
stephanie0x00 Jan 13, 2025
5408522
Manual merge of docs/nibbles
originalsouth Jan 13, 2025
1a2b1e7
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Jan 13, 2025
b9470e4
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Jan 13, 2025
49d0862
fix rtest
noamblitz Jan 14, 2025
2cfc512
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Jan 15, 2025
b68a18a
Harden missing spf queries
originalsouth Jan 16, 2025
ea07627
Harden missing spf queries [FIXED]
originalsouth Jan 16, 2025
1292e35
first setup of nibble doc
noamblitz Jan 23, 2025
7f034ec
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Jan 27, 2025
bdd2795
Rewrite the dns_alias_resolving bit to a nibble (#4022)
Souf149 Jan 27, 2025
9c7721e
Merge branch 'feature/nibbles' into nibble-docs-v1
originalsouth Jan 27, 2025
7bd41ee
improvements
noamblitz Jan 27, 2025
7396800
Add architecture part to documentation
originalsouth Jan 27, 2025
bd0bf30
Add architecture part to documentation v2
originalsouth Jan 27, 2025
396a3ff
Fix relative links (maybe)
originalsouth Jan 27, 2025
5ad703b
Fix relative links
originalsouth Jan 27, 2025
f694904
Fix relative links
originalsouth Jan 27, 2025
76e0707
Update nibbles.md
noamblitz Jan 27, 2025
6144207
Update nibbles.md
noamblitz Jan 27, 2025
ee65372
Port internetnl bit → nibble (#4026)
originalsouth Jan 29, 2025
df0e3a4
Merge branch 'main' into feature/nibbles
originalsouth Jan 29, 2025
a317d08
Port https_availability bit → nibble (#4023)
originalsouth Jan 29, 2025
74c201f
Merge branch 'nibble-docs-v1' into feature/nibbles
originalsouth Jan 29, 2025
0b50d49
Manual Merge main (MMm)
originalsouth Feb 5, 2025
cbbb53c
improve missing spf query
noamblitz Feb 5, 2025
d9e4516
add scan level documentation
noamblitz Feb 5, 2025
d0d45d6
Manual Merge main (MMm)
originalsouth Feb 10, 2025
3af67cc
Merge remote-tracking branch 'origin/main' into feature/nibbles
originalsouth Feb 10, 2025
9bf1d05
new scan level design docs
noamblitz Feb 10, 2025
79dfe21
explain nibble query
noamblitz Feb 11, 2025
6951e38
add nibblets to inferences
noamblitz Feb 11, 2025
ff16da8
add nibble retreive to connector
noamblitz Feb 11, 2025
7ad8944
add nibble params to ooi detail
noamblitz Feb 11, 2025
0263fcf
fix url discovery nibble
noamblitz Feb 13, 2025
d58165f
failing resetting pending finding type nibble
noamblitz Feb 19, 2025
c8e2fa1
fix header nibble
noamblitz Feb 26, 2025
af290d1
Fix/default finding type nibble not in cache (#4093)
noamblitz Feb 26, 2025
3e7f8c3
merge main
noamblitz Feb 26, 2025
ef31c1b
add subdomain test
noamblitz Feb 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
334 changes: 334 additions & 0 deletions docs/source/developer-documentation/nibbles.md

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions docs/source/developer-documentation/octopoes.md
Original file line number Diff line number Diff line change
Expand Up @@ -650,3 +650,41 @@ The unit tests `octopoes/tests` are run using
```shell
python -m unittest discover octopoes/tests
```

## Nibbles

**What are nibbles?**
Nibbles are the flexible replacement for bits. We learned a lot on what does and doesn't work around bits and ran into some limitations. The nibbles are solving these limitations. We hope that the nibbles are 4 times as efficient as bits, but this isn't officially bench marked (and is more of a bits-nibbles joke ;)).

Nibbles process normalized latent data in OpenKAT, they correlate this data and try to extract as much information as possible, based on the specified rules. Nibbles ensure for a mapping of one or more objects to another bunch of objects. Where bits would trigger on objects, nibbles can trigger on sets of objects. This makes it possible to map a single object to N objects (1 to N objects), but also map multiple objects to multiple objects (N to M objects).

**Limitation example of bits**
One example of the limitations from bits was that if one of the bits (business rules) would identify an open port in network A, and for network B this port would identify as closed, how would you classify the port? With bits it was not possible to correctly identify data mismatches and decide upon this. Nibbles allow you to detect these differences in data observations. If there are any inconsistencies, this could other nibbles to be triggered to resolve the inconsistency.

**How are nibbles better than bits?**
Nibbles are a successor for bits, all the mistakes and issues we learned from bits should be solved with nibbles.

- Dynamic loading from the user interface. This allows a user to enable, run or add nibbles from the web interface, instead of having to edit the code.
- Objects do not require a relation: it is now possible to search for specific objects (e.g. give me all URLs with port 80 open) and return all data. With bits it was not possible to query this kind of information, as the parameters (such as URL and port) were only accessible in the bit and not on the overall dataset.
- Automatic updates: if a nibble gets updated, the affects are automatically recalculated.
- Visual representation: it is now possible to get a better visual representation in a graph on which inputs are available for nibbles and how they relate to each other.
- Efficient: using nibbles it is much more efficient to query for the right data and even make queries that were not previously possible. Nibbles also reduce the number of read and writes to XTDB, which reduces the database load.

**How can I use nibbles?**
Nibbles are enabled by default. Users can choose to enable or disable the nibbles themselves and determine where objects originated from and which nibbles are also applicable on an object or set of objects.

Nibbles are accessible from the web interface, to allow for enabling, disabling, editing and adding of nibbles.

Using the XTDB EDN query language you can perform queries for nibbles. You can query a set of objects and process this in your nibble, including all possible combinations on the queried set (of objects). One of the downsides is that this could result in a large number of sub-queries that are structurally the same, but are slightly different (e.g. flags that are different). It is therefore important to properly document your queries to still comprehend them in the future (and make it easier to catch bugs).

The `xtdb-cli` tool can be used to query on XTDB for nibbles. The query below searches all variables where the object type is an URL:

```shell
octopoes/tools/xtdb-cli.py query '{:query {:find [(pull ?var [*])] :where [[?var :object_type "URL"]]}}'
```

Make it visually pretty with jq:

```shell
octopoes/tools/xtdb-cli.py query '{:query {:find [(pull ?var [*])] :where [[?var :object_type "URL"]]}}' | jq
```
9 changes: 9 additions & 0 deletions docs/source/manual/user-manual.rst
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,15 @@ Almost all bits are enabled by default and be disabled by adding the bit to `BIT

Note that if you enable a bit that was previously enabled the bit won't be automatically run for every object it should have run on, but only when it is triggered again after a new scan or other bit that has run. When a bit that was previously enabled is disabled the resulting objects from that bit will also not be automatically removed. Only when the bit triggers instead of running the bit the resulting OOIs of the previous run will be deleted. This also means that if the bit isn't triggered the old objects will not be removed.

Nibbles
=======
Nibbles are the flexible replacement for bits. We learned a lot on what does and doesn't work around bits and ran into some limitations. The nibbles are solving these limitations. We hope that the nibbles are 4 times as efficient as bits, but this isn't officially bench marked (and is more of a bits-nibbles joke ;)).

Nibbles process the data in OpenKAT, they correlate data and try to extract as much information as possible based on the specified rules. Nibbles ensure for a mapping of one or more objects to another bunch of objects.

A more technical explanation on Nibbles can be found at: `https://docs.openkat.nl/developer-documentation/octopoes.html#nibbles <https://docs.openkat.nl/developer-documentation/octopoes.html#nibbles>`_.


Reports
=======

Expand Down
10 changes: 0 additions & 10 deletions octopoes/bits/ask_disallowed_domains/bit.py

This file was deleted.

10 changes: 0 additions & 10 deletions octopoes/bits/ask_port_specification/bit.py

This file was deleted.

10 changes: 0 additions & 10 deletions octopoes/bits/ask_url_params_to_ignore/bit.py

This file was deleted.

9 changes: 0 additions & 9 deletions octopoes/bits/check_cve_2021_41773/bit.py

This file was deleted.

10 changes: 0 additions & 10 deletions octopoes/bits/check_hsts_header/bit.py

This file was deleted.

9 changes: 0 additions & 9 deletions octopoes/bits/cipher_classification/bit.py

This file was deleted.

10 changes: 0 additions & 10 deletions octopoes/bits/default_findingtype_risk/bit.py

This file was deleted.

10 changes: 0 additions & 10 deletions octopoes/bits/disallowed_csp_hostnames/bit.py

This file was deleted.

14 changes: 0 additions & 14 deletions octopoes/bits/dns_alias_resolving/bit.py

This file was deleted.

26 changes: 0 additions & 26 deletions octopoes/bits/dns_alias_resolving/dns_alias_resolving.py

This file was deleted.

9 changes: 0 additions & 9 deletions octopoes/bits/domain_owner_verification/bit.py

This file was deleted.

9 changes: 0 additions & 9 deletions octopoes/bits/expiring_certificate/bit.py

This file was deleted.

15 changes: 0 additions & 15 deletions octopoes/bits/https_availability/bit.py

This file was deleted.

21 changes: 0 additions & 21 deletions octopoes/bits/https_availability/https_availability.py

This file was deleted.

24 changes: 0 additions & 24 deletions octopoes/bits/internetnl/bit.py

This file was deleted.

50 changes: 0 additions & 50 deletions octopoes/bits/internetnl/internetnl.py

This file was deleted.

6 changes: 0 additions & 6 deletions octopoes/bits/missing_certificate/bit.py

This file was deleted.

14 changes: 0 additions & 14 deletions octopoes/bits/missing_spf/bit.py

This file was deleted.

29 changes: 0 additions & 29 deletions octopoes/bits/missing_spf/missing_spf.py

This file was deleted.

10 changes: 0 additions & 10 deletions octopoes/bits/oois_in_headers/bit.py

This file was deleted.

6 changes: 0 additions & 6 deletions octopoes/bits/port_common/bit.py

This file was deleted.

Loading
Loading