txt2detection 1.0.5__tar.gz → 1.0.6__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.

Potentially problematic release.


This version of txt2detection might be problematic. Click here for more details.

Files changed (55) hide show
  1. {txt2detection-1.0.5 → txt2detection-1.0.6}/PKG-INFO +15 -8
  2. {txt2detection-1.0.5 → txt2detection-1.0.6}/pyproject.toml +8 -10
  3. {txt2detection-1.0.5 → txt2detection-1.0.6}/requirements.txt +68 -43
  4. {txt2detection-1.0.5 → txt2detection-1.0.6}/.env.example +0 -0
  5. {txt2detection-1.0.5 → txt2detection-1.0.6}/.env.markdown +0 -0
  6. {txt2detection-1.0.5 → txt2detection-1.0.6}/.github/workflows/create-release.yml +0 -0
  7. {txt2detection-1.0.5 → txt2detection-1.0.6}/.github/workflows/run-tests.yml +0 -0
  8. {txt2detection-1.0.5 → txt2detection-1.0.6}/.gitignore +0 -0
  9. {txt2detection-1.0.5 → txt2detection-1.0.6}/LICENSE +0 -0
  10. {txt2detection-1.0.5 → txt2detection-1.0.6}/README.md +0 -0
  11. {txt2detection-1.0.5 → txt2detection-1.0.6}/config/detection_languages.yaml +0 -0
  12. {txt2detection-1.0.5 → txt2detection-1.0.6}/docs/README.md +0 -0
  13. {txt2detection-1.0.5 → txt2detection-1.0.6}/docs/txt2detection.png +0 -0
  14. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/CVE-2024-56520.txt +0 -0
  15. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/EC2-exfil.txt +0 -0
  16. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/observables.txt +0 -0
  17. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-custom-tags.yml +0 -0
  18. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-existing-related.yml +0 -0
  19. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-master.yml +0 -0
  20. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-no-author.yml +0 -0
  21. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-no-date.yml +0 -0
  22. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-no-description.yml +0 -0
  23. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-no-level.yml +0 -0
  24. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-no-license.yml +0 -0
  25. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-no-status.yml +0 -0
  26. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-no-tags.yml +0 -0
  27. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-no-title.yml +0 -0
  28. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-observables.yml +0 -0
  29. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/files/sigma-rule-one-date.yml +0 -0
  30. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/manual-tests/README.md +0 -0
  31. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/src/__init__.py +0 -0
  32. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/src/requirements.txt +0 -0
  33. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/src/test_bundler.py +0 -0
  34. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/src/test_main.py +0 -0
  35. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/src/test_main_run_txt2detction.py +0 -0
  36. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/src/test_models.py +0 -0
  37. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/src/test_observables.py +0 -0
  38. {txt2detection-1.0.5 → txt2detection-1.0.6}/tests/src/test_utils.py +0 -0
  39. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/__init__.py +0 -0
  40. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/__main__.py +0 -0
  41. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/ai_extractor/__init__.py +0 -0
  42. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/ai_extractor/anthropic.py +0 -0
  43. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/ai_extractor/base.py +0 -0
  44. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/ai_extractor/deepseek.py +0 -0
  45. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/ai_extractor/gemini.py +0 -0
  46. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/ai_extractor/openai.py +0 -0
  47. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/ai_extractor/openrouter.py +0 -0
  48. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/ai_extractor/prompts.py +0 -0
  49. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/ai_extractor/utils.py +0 -0
  50. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/bundler.py +0 -0
  51. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/credential_checker.py +0 -0
  52. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/models.py +0 -0
  53. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/observables.py +0 -0
  54. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection/utils.py +0 -0
  55. {txt2detection-1.0.5 → txt2detection-1.0.6}/txt2detection.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: txt2detection
3
- Version: 1.0.5
3
+ Version: 1.0.6
4
4
  Summary: A command line tool that takes a txt file containing threat intelligence and turns it into a detection rule.
5
5
  Project-URL: Homepage, https://github.com/muchdogesec/txt2detection
6
6
  Project-URL: Issues, https://github.com/muchdogesec/txt2detection/issues
@@ -13,6 +13,8 @@ Classifier: Operating System :: OS Independent
13
13
  Classifier: Programming Language :: Python :: 3
14
14
  Requires-Python: >=3.11
15
15
  Requires-Dist: jsonschema>=4.22.0; python_version >= '3.8'
16
+ Requires-Dist: llama-index-core>=0.12.42
17
+ Requires-Dist: llama-index-llms-openai>=0.4.5
16
18
  Requires-Dist: python-arango>=8.1.3; python_version >= '3.8'
17
19
  Requires-Dist: python-dotenv>=1.0.1
18
20
  Requires-Dist: python-slugify
@@ -21,14 +23,19 @@ Requires-Dist: requests>=2.31.0; python_version >= '3.7'
21
23
  Requires-Dist: stix2
22
24
  Requires-Dist: tqdm>=4.66.4; python_version >= '3.7'
23
25
  Requires-Dist: validators>=0.34.0
26
+ Provides-Extra: anthropic
27
+ Requires-Dist: llama-index-llms-anthropic>=0.7.2; extra == 'anthropic'
28
+ Provides-Extra: deepseek
29
+ Requires-Dist: llama-index-llms-deepseek>=0.1.2; extra == 'deepseek'
30
+ Provides-Extra: gemini
31
+ Requires-Dist: llama-index-llms-gemini>=0.5.0; extra == 'gemini'
24
32
  Provides-Extra: llms
25
- Requires-Dist: llama-index-core==0.12.41; extra == 'llms'
26
- Requires-Dist: llama-index-llms-anthropic==0.6.3; extra == 'llms'
27
- Requires-Dist: llama-index-llms-deepseek==0.1.1; extra == 'llms'
28
- Requires-Dist: llama-index-llms-gemini==0.4.2; extra == 'llms'
29
- Requires-Dist: llama-index-llms-openai-like==0.3.3; extra == 'llms'
30
- Requires-Dist: llama-index-llms-openai==0.3.11; extra == 'llms'
31
- Requires-Dist: llama-index-llms-openrouter==0.3.1; extra == 'llms'
33
+ Requires-Dist: llama-index-llms-anthropic>=0.7.2; extra == 'llms'
34
+ Requires-Dist: llama-index-llms-deepseek>=0.1.2; extra == 'llms'
35
+ Requires-Dist: llama-index-llms-gemini>=0.5.0; extra == 'llms'
36
+ Requires-Dist: llama-index-llms-openrouter>=0.3.2; extra == 'llms'
37
+ Provides-Extra: openrouter
38
+ Requires-Dist: llama-index-llms-openrouter>=0.3.2; extra == 'openrouter'
32
39
  Description-Content-Type: text/markdown
33
40
 
34
41
  # txt2detection
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "txt2detection"
7
- version = "1.0.5"
7
+ version = "1.0.6"
8
8
  authors = [
9
9
  { name = "dogesec" }
10
10
  ]
@@ -29,6 +29,8 @@ dependencies = [
29
29
  "pyyaml",
30
30
  "python-slugify",
31
31
  "validators>=0.34.0",
32
+ "llama-index-core>=0.12.42",
33
+ 'llama-index-llms-openai>=0.4.5',
32
34
  ]
33
35
  [project.urls]
34
36
  Homepage = "https://github.com/muchdogesec/txt2detection"
@@ -39,15 +41,11 @@ Issues = "https://github.com/muchdogesec/txt2detection/issues"
39
41
  txt2detection = "txt2detection.__main__:main"
40
42
 
41
43
  [project.optional-dependencies]
42
- llms = [
43
- "llama-index-core==0.12.41",
44
- "llama-index-llms-anthropic==0.6.3",
45
- "llama-index-llms-gemini==0.4.2",
46
- "llama-index-llms-openai==0.3.11",
47
- "llama-index-llms-openai-like==0.3.3",
48
- "llama-index-llms-deepseek==0.1.1",
49
- "llama-index-llms-openrouter==0.3.1",
50
- ]
44
+ anthropic = ['llama-index-llms-anthropic>=0.7.2']
45
+ gemini = ['llama-index-llms-gemini>=0.5.0']
46
+ deepseek = ['llama-index-llms-deepseek>=0.1.2']
47
+ openrouter = ['llama-index-llms-openrouter>=0.3.2']
48
+ llms = ['txt2detection[anthropic,gemini,deepseek,openrouter]']
51
49
 
52
50
 
53
51
  [tool.hatch.build.targets.wheel.force-include]
@@ -6,17 +6,19 @@
6
6
  #
7
7
  aiohappyeyeballs==2.6.1
8
8
  # via aiohttp
9
- aiohttp==3.12.14
9
+ aiohttp==3.12.15
10
10
  # via llama-index-core
11
- aiosignal==1.3.2
11
+ aiosignal==1.4.0
12
12
  # via aiohttp
13
+ aiosqlite==0.21.0
14
+ # via llama-index-core
13
15
  annotated-types==0.7.0
14
16
  # via pydantic
15
- anthropic[bedrock,vertex]==0.55.0
17
+ anthropic[bedrock,vertex]==0.64.0
16
18
  # via llama-index-llms-anthropic
17
19
  antlr4-python3-runtime==4.9.3
18
20
  # via stix2-patterns
19
- anyio==4.9.0
21
+ anyio==4.10.0
20
22
  # via
21
23
  # anthropic
22
24
  # httpx
@@ -26,35 +28,42 @@ attrs==25.3.0
26
28
  # aiohttp
27
29
  # jsonschema
28
30
  # referencing
29
- boto3==1.39.0
31
+ banks==2.2.0
32
+ # via llama-index-core
33
+ boto3==1.40.17
30
34
  # via anthropic
31
- botocore==1.39.0
35
+ botocore==1.40.17
32
36
  # via
33
37
  # anthropic
34
38
  # boto3
35
39
  # s3transfer
36
40
  cachetools==5.5.2
37
41
  # via google-auth
38
- certifi==2025.6.15
42
+ certifi==2025.8.3
39
43
  # via
40
44
  # httpcore
41
45
  # httpx
42
46
  # requests
43
- charset-normalizer==3.4.2
47
+ charset-normalizer==3.4.3
44
48
  # via requests
45
49
  click==8.2.1
46
50
  # via nltk
51
+ colorama==0.4.6
52
+ # via griffe
47
53
  dataclasses-json==0.6.7
48
54
  # via llama-index-core
49
55
  deprecated==1.2.18
50
- # via llama-index-core
56
+ # via
57
+ # banks
58
+ # llama-index-core
59
+ # llama-index-instrumentation
51
60
  dirtyjson==1.0.8
52
61
  # via llama-index-core
53
62
  distro==1.9.0
54
63
  # via
55
64
  # anthropic
56
65
  # openai
57
- filelock==3.18.0
66
+ filelock==3.19.1
58
67
  # via
59
68
  # huggingface-hub
60
69
  # transformers
@@ -64,7 +73,7 @@ frozenlist==1.7.0
64
73
  # via
65
74
  # aiohttp
66
75
  # aiosignal
67
- fsspec==2025.5.1
76
+ fsspec==2025.7.0
68
77
  # via
69
78
  # huggingface-hub
70
79
  # llama-index-core
@@ -75,7 +84,7 @@ google-api-core[grpc]==2.25.1
75
84
  # google-ai-generativelanguage
76
85
  # google-api-python-client
77
86
  # google-generativeai
78
- google-api-python-client==2.174.0
87
+ google-api-python-client==2.179.0
79
88
  # via google-generativeai
80
89
  google-auth[requests]==2.40.3
81
90
  # via
@@ -93,9 +102,11 @@ googleapis-common-protos==1.70.0
93
102
  # via
94
103
  # google-api-core
95
104
  # grpcio-status
96
- greenlet==3.2.3
105
+ greenlet==3.2.4
97
106
  # via sqlalchemy
98
- grpcio==1.73.1
107
+ griffe==1.13.0
108
+ # via banks
109
+ grpcio==1.74.0
99
110
  # via
100
111
  # google-api-core
101
112
  # grpcio-status
@@ -103,7 +114,7 @@ grpcio-status==1.71.2
103
114
  # via google-api-core
104
115
  h11==0.16.0
105
116
  # via httpcore
106
- hf-xet==1.1.5
117
+ hf-xet==1.1.8
107
118
  # via huggingface-hub
108
119
  httpcore==1.0.9
109
120
  # via httpx
@@ -116,7 +127,7 @@ httpx==0.28.1
116
127
  # anthropic
117
128
  # llama-index-core
118
129
  # openai
119
- huggingface-hub==0.33.1
130
+ huggingface-hub==0.34.4
120
131
  # via
121
132
  # tokenizers
122
133
  # transformers
@@ -128,6 +139,8 @@ idna==3.10
128
139
  # yarl
129
140
  importlib-metadata==8.7.0
130
141
  # via python-arango
142
+ jinja2==3.1.6
143
+ # via banks
131
144
  jiter==0.10.0
132
145
  # via
133
146
  # anthropic
@@ -138,11 +151,11 @@ jmespath==1.0.1
138
151
  # botocore
139
152
  joblib==1.5.1
140
153
  # via nltk
141
- jsonschema==4.24.0 ; python_version >= "3.8"
154
+ jsonschema==4.25.1 ; python_version >= "3.8"
142
155
  # via txt2detection (pyproject.toml)
143
156
  jsonschema-specifications==2025.4.1
144
157
  # via jsonschema
145
- llama-index-core==0.12.41
158
+ llama-index-core==0.12.52.post1
146
159
  # via
147
160
  # llama-index-llms-anthropic
148
161
  # llama-index-llms-gemini
@@ -150,26 +163,31 @@ llama-index-core==0.12.41
150
163
  # llama-index-llms-openai-like
151
164
  # llama-index-llms-openrouter
152
165
  # txt2detection (pyproject.toml)
153
- llama-index-llms-anthropic==0.6.3
166
+ llama-index-instrumentation==0.4.0
167
+ # via llama-index-workflows
168
+ llama-index-llms-anthropic==0.7.6
154
169
  # via txt2detection (pyproject.toml)
155
- llama-index-llms-deepseek==0.1.1
170
+ llama-index-llms-deepseek==0.2.0
156
171
  # via txt2detection (pyproject.toml)
157
- llama-index-llms-gemini==0.4.2
172
+ llama-index-llms-gemini==0.5.0
158
173
  # via txt2detection (pyproject.toml)
159
- llama-index-llms-openai==0.3.11
174
+ llama-index-llms-openai==0.4.7
160
175
  # via
161
176
  # llama-index-llms-openai-like
162
177
  # txt2detection (pyproject.toml)
163
- llama-index-llms-openai-like==0.3.3
178
+ llama-index-llms-openai-like==0.4.0
164
179
  # via
165
180
  # llama-index-llms-deepseek
166
181
  # llama-index-llms-openrouter
167
- # txt2detection (pyproject.toml)
168
- llama-index-llms-openrouter==0.3.1
182
+ llama-index-llms-openrouter==0.3.2
169
183
  # via txt2detection (pyproject.toml)
184
+ llama-index-workflows==1.3.0
185
+ # via llama-index-core
186
+ markupsafe==3.0.2
187
+ # via jinja2
170
188
  marshmallow==3.26.1
171
189
  # via dataclasses-json
172
- multidict==6.6.3
190
+ multidict==6.6.4
173
191
  # via
174
192
  # aiohttp
175
193
  # yarl
@@ -181,11 +199,11 @@ networkx==3.5
181
199
  # via llama-index-core
182
200
  nltk==3.9.1
183
201
  # via llama-index-core
184
- numpy==2.3.1
202
+ numpy==2.3.2
185
203
  # via
186
204
  # llama-index-core
187
205
  # transformers
188
- openai==1.93.0
206
+ openai==1.101.0
189
207
  # via llama-index-llms-openai
190
208
  packaging==25.0
191
209
  # via
@@ -197,6 +215,10 @@ pillow==10.4.0
197
215
  # via
198
216
  # llama-index-core
199
217
  # llama-index-llms-gemini
218
+ platformdirs==4.3.8
219
+ # via
220
+ # banks
221
+ # llama-index-core
200
222
  propcache==0.3.2
201
223
  # via
202
224
  # aiohttp
@@ -222,8 +244,11 @@ pyasn1-modules==0.4.2
222
244
  pydantic==2.11.7
223
245
  # via
224
246
  # anthropic
247
+ # banks
225
248
  # google-generativeai
226
249
  # llama-index-core
250
+ # llama-index-instrumentation
251
+ # llama-index-workflows
227
252
  # openai
228
253
  pydantic-core==2.33.2
229
254
  # via pydantic
@@ -231,7 +256,7 @@ pyjwt==2.10.1
231
256
  # via python-arango
232
257
  pyparsing==3.2.3
233
258
  # via httplib2
234
- python-arango==8.2.0 ; python_version >= "3.8"
259
+ python-arango==8.2.2 ; python_version >= "3.8"
235
260
  # via txt2detection (pyproject.toml)
236
261
  python-dateutil==2.9.0.post0
237
262
  # via botocore
@@ -251,12 +276,12 @@ referencing==0.36.2
251
276
  # via
252
277
  # jsonschema
253
278
  # jsonschema-specifications
254
- regex==2024.11.6
279
+ regex==2025.7.34
255
280
  # via
256
281
  # nltk
257
282
  # tiktoken
258
283
  # transformers
259
- requests==2.32.4 ; python_version >= "3.7"
284
+ requests==2.32.5 ; python_version >= "3.7"
260
285
  # via
261
286
  # google-api-core
262
287
  # google-auth
@@ -270,15 +295,15 @@ requests==2.32.4 ; python_version >= "3.7"
270
295
  # txt2detection (pyproject.toml)
271
296
  requests-toolbelt==1.0.0
272
297
  # via python-arango
273
- rpds-py==0.25.1
298
+ rpds-py==0.27.0
274
299
  # via
275
300
  # jsonschema
276
301
  # referencing
277
302
  rsa==4.9.1
278
303
  # via google-auth
279
- s3transfer==0.13.0
304
+ s3transfer==0.13.1
280
305
  # via boto3
281
- safetensors==0.5.3
306
+ safetensors==0.6.2
282
307
  # via transformers
283
308
  simplejson==3.20.1
284
309
  # via stix2
@@ -291,10 +316,8 @@ sniffio==1.3.1
291
316
  # anthropic
292
317
  # anyio
293
318
  # openai
294
- sqlalchemy[asyncio]==2.0.41
295
- # via
296
- # llama-index-core
297
- # sqlalchemy
319
+ sqlalchemy[asyncio]==2.0.43
320
+ # via llama-index-core
298
321
  stix2==3.0.1
299
322
  # via txt2detection (pyproject.toml)
300
323
  stix2-patterns==2.0.0
@@ -303,9 +326,9 @@ tenacity==9.1.2
303
326
  # via llama-index-core
304
327
  text-unidecode==1.3
305
328
  # via python-slugify
306
- tiktoken==0.9.0
329
+ tiktoken==0.11.0
307
330
  # via llama-index-core
308
- tokenizers==0.21.2
331
+ tokenizers==0.21.4
309
332
  # via transformers
310
333
  tqdm==4.67.1 ; python_version >= "3.7"
311
334
  # via
@@ -316,14 +339,16 @@ tqdm==4.67.1 ; python_version >= "3.7"
316
339
  # openai
317
340
  # transformers
318
341
  # txt2detection (pyproject.toml)
319
- transformers==4.53.0
342
+ transformers==4.55.4
320
343
  # via llama-index-llms-openai-like
321
- typing-extensions==4.14.0
344
+ typing-extensions==4.15.0
322
345
  # via
346
+ # aiosqlite
323
347
  # anthropic
324
348
  # google-generativeai
325
349
  # huggingface-hub
326
350
  # llama-index-core
351
+ # llama-index-workflows
327
352
  # openai
328
353
  # pydantic
329
354
  # pydantic-core
@@ -345,7 +370,7 @@ urllib3==2.5.0
345
370
  # requests
346
371
  validators==0.35.0
347
372
  # via txt2detection (pyproject.toml)
348
- wrapt==1.17.2
373
+ wrapt==1.17.3
349
374
  # via
350
375
  # deprecated
351
376
  # llama-index-core
File without changes
File without changes
File without changes