hypergumbo 2.7.0__tar.gz → 3.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hypergumbo-2.7.0 → hypergumbo-3.0.0}/.gitignore +1 -0
- {hypergumbo-2.7.0 → hypergumbo-3.0.0}/PKG-INFO +21 -8
- {hypergumbo-2.7.0 → hypergumbo-3.0.0}/README.md +16 -3
- {hypergumbo-2.7.0 → hypergumbo-3.0.0}/pyproject.toml +5 -5
- {hypergumbo-2.7.0 → hypergumbo-3.0.0}/src/hypergumbo/__init__.py +0 -0
- {hypergumbo-2.7.0 → hypergumbo-3.0.0}/src/hypergumbo/__main__.py +0 -0
- {hypergumbo-2.7.0 → hypergumbo-3.0.0}/tests/test_meta.py +0 -0
|
@@ -42,6 +42,7 @@ autonomous_intent.txt
|
|
|
42
42
|
.agent/.transcript-sync-state.*.json
|
|
43
43
|
.agent/.transcript-poll-state.*
|
|
44
44
|
.agent/.transcript-injection-state.*.json
|
|
45
|
+
.agent/.transcript-injection-state.*.lock
|
|
45
46
|
.agent/.last_session_transcript.jsonl
|
|
46
47
|
.agent/.second_to_last_transcript.jsonl
|
|
47
48
|
.agent/.last_injection_history.jsonl
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hypergumbo
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: Local-first repo behavior map generator
|
|
5
5
|
Author: Hypergumbo contributors
|
|
6
6
|
License: AGPL-3.0-or-later
|
|
@@ -10,10 +10,10 @@ Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or l
|
|
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
|
11
11
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
12
12
|
Requires-Python: >=3.10
|
|
13
|
-
Requires-Dist: hypergumbo-core==
|
|
14
|
-
Requires-Dist: hypergumbo-lang-common==
|
|
15
|
-
Requires-Dist: hypergumbo-lang-extended1==
|
|
16
|
-
Requires-Dist: hypergumbo-lang-mainstream==
|
|
13
|
+
Requires-Dist: hypergumbo-core==3.0.0
|
|
14
|
+
Requires-Dist: hypergumbo-lang-common==3.0.0
|
|
15
|
+
Requires-Dist: hypergumbo-lang-extended1==3.0.0
|
|
16
|
+
Requires-Dist: hypergumbo-lang-mainstream==3.0.0
|
|
17
17
|
Provides-Extra: dev
|
|
18
18
|
Requires-Dist: bandit~=1.9.3; extra == 'dev'
|
|
19
19
|
Requires-Dist: check-jsonschema~=0.36.1; extra == 'dev'
|
|
@@ -150,7 +150,7 @@ hypergumbo . -t 8000 # detailed with many symbols
|
|
|
150
150
|
hypergumbo [path] # Markdown sketch (default)
|
|
151
151
|
hypergumbo run [path] # Full JSON behavior map
|
|
152
152
|
hypergumbo slice --entry X # Subgraph from entry point
|
|
153
|
-
hypergumbo io-boundaries # Find all I/O (filesystem, network, subprocess, env)
|
|
153
|
+
hypergumbo io-boundaries # Find all I/O (filesystem, network, subprocess, env, IPC, browser storage)
|
|
154
154
|
hypergumbo verify-claims ... # Verify security claims against analysis
|
|
155
155
|
hypergumbo routes [path] # List HTTP routes
|
|
156
156
|
hypergumbo search <query> # Search symbols
|
|
@@ -168,6 +168,19 @@ hypergumbo . --no-progress # hide progress indicator (on by default)
|
|
|
168
168
|
hypergumbo --help --all # comprehensive help for all commands
|
|
169
169
|
```
|
|
170
170
|
|
|
171
|
+
### Project-local taint catalogs
|
|
172
|
+
|
|
173
|
+
`verify-claims` ships with paranoid defaults auto-derived from the built-in IO primitive catalog. Projects can supply their own trust zones, sanitizers, and label maps:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
hypergumbo verify-claims claims.yaml \
|
|
177
|
+
--taint-sources myrepo/taint/sources.yaml \
|
|
178
|
+
--taint-sinks myrepo/taint/sinks/ \
|
|
179
|
+
--taint-sanitizers myrepo/taint/sanitizers.yaml
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Each flag accepts a YAML file or a directory (globbed as `*.yaml`), and is repeatable. The same paths can be declared inside the claims YAML under `extra_catalogs: {sources, sinks, sanitizers}` — relative paths resolve against the claims-file directory. User entries whose `(module, name, kind)` triple matches a built-in replace it; sanitizers concatenate.
|
|
183
|
+
|
|
171
184
|
Results are automatically cached in `~/.cache/hypergumbo/`. Just run:
|
|
172
185
|
```bash
|
|
173
186
|
hypergumbo . # auto-runs analysis if no cache exists, then generates sketch
|
|
@@ -182,8 +195,8 @@ See `hypergumbo --help` for all options.
|
|
|
182
195
|
- **Language analyzers**: Python, JS/TS, Java, Rust, Go, C/C++, and [many more](https://codeberg.org/iterabloom/hypergumbo/src/branch/dev/docs/LANGUAGES.md)
|
|
183
196
|
- **Linkers**: Tier 2 edge-recovery passes across four subcategories — Protocol (HTTP, WebSocket, message queues, SQL), Bridge (JNI, wasm_bindgen, Tauri IPC, language-pair FFI), Framework (gRPC, GraphQL, React components, DI resolution, ORM), Infrastructure (containment, inheritance, module imports). [Full catalogue](https://codeberg.org/iterabloom/hypergumbo/src/branch/dev/docs/LINKERS.md).
|
|
184
197
|
- **Framework patterns**: FastAPI, Django, Rails, Spring Boot, Phoenix, Express, and [many more](https://codeberg.org/iterabloom/hypergumbo/src/branch/dev/docs/FRAMEWORKS.md)
|
|
185
|
-
- **I/O boundary detection**: Maps every call chain that reaches the filesystem, network,
|
|
186
|
-
- **Taint-flow analysis**: Traces data from sensitive sources (crypto
|
|
198
|
+
- **I/O boundary detection**: Maps every call chain that reaches the filesystem, network, subprocess, environment, IPC, or browser-local storage — across FFI boundaries
|
|
199
|
+
- **Taint-flow analysis**: Traces data from sensitive sources (environment variables, received network input, crypto outputs, key material) to sinks in six trust zones (`host_fs`, `network`, `host_env`, `ipc`, `browser_storage`, `relay`), with sanitizer awareness
|
|
187
200
|
- **Supply chain tiers**: Classifies code as first-party, internal, external, or derived for dependency-aware analysis
|
|
188
201
|
|
|
189
202
|
## How It Works
|
|
@@ -120,7 +120,7 @@ hypergumbo . -t 8000 # detailed with many symbols
|
|
|
120
120
|
hypergumbo [path] # Markdown sketch (default)
|
|
121
121
|
hypergumbo run [path] # Full JSON behavior map
|
|
122
122
|
hypergumbo slice --entry X # Subgraph from entry point
|
|
123
|
-
hypergumbo io-boundaries # Find all I/O (filesystem, network, subprocess, env)
|
|
123
|
+
hypergumbo io-boundaries # Find all I/O (filesystem, network, subprocess, env, IPC, browser storage)
|
|
124
124
|
hypergumbo verify-claims ... # Verify security claims against analysis
|
|
125
125
|
hypergumbo routes [path] # List HTTP routes
|
|
126
126
|
hypergumbo search <query> # Search symbols
|
|
@@ -138,6 +138,19 @@ hypergumbo . --no-progress # hide progress indicator (on by default)
|
|
|
138
138
|
hypergumbo --help --all # comprehensive help for all commands
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
+
### Project-local taint catalogs
|
|
142
|
+
|
|
143
|
+
`verify-claims` ships with paranoid defaults auto-derived from the built-in IO primitive catalog. Projects can supply their own trust zones, sanitizers, and label maps:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
hypergumbo verify-claims claims.yaml \
|
|
147
|
+
--taint-sources myrepo/taint/sources.yaml \
|
|
148
|
+
--taint-sinks myrepo/taint/sinks/ \
|
|
149
|
+
--taint-sanitizers myrepo/taint/sanitizers.yaml
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Each flag accepts a YAML file or a directory (globbed as `*.yaml`), and is repeatable. The same paths can be declared inside the claims YAML under `extra_catalogs: {sources, sinks, sanitizers}` — relative paths resolve against the claims-file directory. User entries whose `(module, name, kind)` triple matches a built-in replace it; sanitizers concatenate.
|
|
153
|
+
|
|
141
154
|
Results are automatically cached in `~/.cache/hypergumbo/`. Just run:
|
|
142
155
|
```bash
|
|
143
156
|
hypergumbo . # auto-runs analysis if no cache exists, then generates sketch
|
|
@@ -152,8 +165,8 @@ See `hypergumbo --help` for all options.
|
|
|
152
165
|
- **Language analyzers**: Python, JS/TS, Java, Rust, Go, C/C++, and [many more](https://codeberg.org/iterabloom/hypergumbo/src/branch/dev/docs/LANGUAGES.md)
|
|
153
166
|
- **Linkers**: Tier 2 edge-recovery passes across four subcategories — Protocol (HTTP, WebSocket, message queues, SQL), Bridge (JNI, wasm_bindgen, Tauri IPC, language-pair FFI), Framework (gRPC, GraphQL, React components, DI resolution, ORM), Infrastructure (containment, inheritance, module imports). [Full catalogue](https://codeberg.org/iterabloom/hypergumbo/src/branch/dev/docs/LINKERS.md).
|
|
154
167
|
- **Framework patterns**: FastAPI, Django, Rails, Spring Boot, Phoenix, Express, and [many more](https://codeberg.org/iterabloom/hypergumbo/src/branch/dev/docs/FRAMEWORKS.md)
|
|
155
|
-
- **I/O boundary detection**: Maps every call chain that reaches the filesystem, network,
|
|
156
|
-
- **Taint-flow analysis**: Traces data from sensitive sources (crypto
|
|
168
|
+
- **I/O boundary detection**: Maps every call chain that reaches the filesystem, network, subprocess, environment, IPC, or browser-local storage — across FFI boundaries
|
|
169
|
+
- **Taint-flow analysis**: Traces data from sensitive sources (environment variables, received network input, crypto outputs, key material) to sinks in six trust zones (`host_fs`, `network`, `host_env`, `ipc`, `browser_storage`, `relay`), with sanitizer awareness
|
|
157
170
|
- **Supply chain tiers**: Classifies code as first-party, internal, external, or derived for dependency-aware analysis
|
|
158
171
|
|
|
159
172
|
## How It Works
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hypergumbo"
|
|
7
|
-
version = "
|
|
7
|
+
version = "3.0.0"
|
|
8
8
|
description = "Local-first repo behavior map generator"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -19,10 +19,10 @@ classifiers = [
|
|
|
19
19
|
]
|
|
20
20
|
dependencies = [
|
|
21
21
|
# Meta-package that pulls in all hypergumbo components
|
|
22
|
-
"hypergumbo-core==
|
|
23
|
-
"hypergumbo-lang-mainstream==
|
|
24
|
-
"hypergumbo-lang-common==
|
|
25
|
-
"hypergumbo-lang-extended1==
|
|
22
|
+
"hypergumbo-core==3.0.0",
|
|
23
|
+
"hypergumbo-lang-mainstream==3.0.0",
|
|
24
|
+
"hypergumbo-lang-common==3.0.0",
|
|
25
|
+
"hypergumbo-lang-extended1==3.0.0",
|
|
26
26
|
]
|
|
27
27
|
|
|
28
28
|
[project.optional-dependencies]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|