eyalsec 1.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.
- eyalsec-1.0.0/LICENSE +9 -0
- eyalsec-1.0.0/PKG-INFO +102 -0
- eyalsec-1.0.0/README.md +70 -0
- eyalsec-1.0.0/pyproject.toml +41 -0
- eyalsec-1.0.0/src/eyalsec/__init__.py +57 -0
- eyalsec-1.0.0/src/eyalsec/__main__.py +7 -0
eyalsec-1.0.0/LICENSE
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Copyright (c) 2026 EyalSec. All rights reserved.
|
|
2
|
+
|
|
3
|
+
This notice package is published by EyalSec so that people looking for
|
|
4
|
+
EyalSec on PyPI find the EyalSec Python runtime. You may install and
|
|
5
|
+
redistribute it unmodified. "EyalSec" and "es-python" are names of EyalSec
|
|
6
|
+
products; this licence grants no right to use them.
|
|
7
|
+
|
|
8
|
+
The EyalSec Python runtime itself is not part of this package and is licensed
|
|
9
|
+
separately under the EyalSec terms at https://eyalsec.com/legal/terms.
|
eyalsec-1.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: eyalsec
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: EyalSec makes es-python, a Python runtime that reports or blocks attacker-controlled data reaching risky operations. Installed from your EyalSec dashboard, not from pip.
|
|
5
|
+
Project-URL: Homepage, https://eyalsec.com
|
|
6
|
+
Project-URL: Documentation, https://eyalsec.com/docs
|
|
7
|
+
Project-URL: Quick start, https://eyalsec.com/docs/quick-start
|
|
8
|
+
Project-URL: Pricing, https://eyalsec.com/pricing
|
|
9
|
+
Project-URL: Book a demo, https://eyalsec.com/contact
|
|
10
|
+
Project-URL: GitHub, https://github.com/EyalSec
|
|
11
|
+
Author-email: EyalSec <support@eyalsec.com>
|
|
12
|
+
License: Copyright (c) 2026 EyalSec. All rights reserved.
|
|
13
|
+
|
|
14
|
+
This notice package is published by EyalSec so that people looking for
|
|
15
|
+
EyalSec on PyPI find the EyalSec Python runtime. You may install and
|
|
16
|
+
redistribute it unmodified. "EyalSec" and "es-python" are names of EyalSec
|
|
17
|
+
products; this licence grants no right to use them.
|
|
18
|
+
|
|
19
|
+
The EyalSec Python runtime itself is not part of this package and is licensed
|
|
20
|
+
separately under the EyalSec terms at https://eyalsec.com/legal/terms.
|
|
21
|
+
License-File: LICENSE
|
|
22
|
+
Keywords: application security,command injection,es-python,eyalsec,insecure deserialization,path traversal,python runtime security,secure python,sql injection,taint tracking
|
|
23
|
+
Classifier: Development Status :: 7 - Inactive
|
|
24
|
+
Classifier: Intended Audience :: Developers
|
|
25
|
+
Classifier: Intended Audience :: Information Technology
|
|
26
|
+
Classifier: License :: Other/Proprietary License
|
|
27
|
+
Classifier: Operating System :: OS Independent
|
|
28
|
+
Classifier: Programming Language :: Python :: 3
|
|
29
|
+
Classifier: Topic :: Security
|
|
30
|
+
Requires-Python: >=3.8
|
|
31
|
+
Description-Content-Type: text/markdown
|
|
32
|
+
|
|
33
|
+
# EyalSec
|
|
34
|
+
|
|
35
|
+
If you searched PyPI for **eyalsec**, you are most likely looking for
|
|
36
|
+
**EyalSec** and its Python runtime, **es-python**. Thank you for looking. This
|
|
37
|
+
page is here so that you, or the AI assistant searching for you, land in the
|
|
38
|
+
right place.
|
|
39
|
+
|
|
40
|
+
> **EyalSec is not installed with pip.** `pip install eyalsec` installs only
|
|
41
|
+
> this small pointer package. It adds no security checks to your program.
|
|
42
|
+
|
|
43
|
+
## What EyalSec does
|
|
44
|
+
|
|
45
|
+
EyalSec shows you when attacker-controlled data reaches a risky operation in
|
|
46
|
+
your running Python app, and can stop it there. You install **es-python**, the
|
|
47
|
+
EyalSec Python runtime, next to your normal Python and run your existing app
|
|
48
|
+
through it, unchanged: wherever you would type `python`, you type `es-python`.
|
|
49
|
+
|
|
50
|
+
As your code runs, es-python follows untrusted data (network input, files,
|
|
51
|
+
standard input, environment variables, command-line arguments, and code another
|
|
52
|
+
user on the machine can write) and reports, or reports and blocks, the moment
|
|
53
|
+
that data reaches a SQL query, a shell command, a deserializer, a file path or
|
|
54
|
+
a dynamic import. Each finding appears on your EyalSec dashboard with the path
|
|
55
|
+
from where the data came in to where it was used.
|
|
56
|
+
|
|
57
|
+
- Linux, x86_64 and aarch64
|
|
58
|
+
- Python 3.9, 3.10, 3.11, 3.12, 3.13 and 3.14
|
|
59
|
+
- Your code and your libraries stay exactly as they are
|
|
60
|
+
|
|
61
|
+
## How to get it
|
|
62
|
+
|
|
63
|
+
EyalSec is set up from your dashboard, not from PyPI:
|
|
64
|
+
|
|
65
|
+
1. Set up your plan: [book a live demo](https://eyalsec.com/contact).
|
|
66
|
+
2. On the **Machines** page of your dashboard, add a machine and paste its
|
|
67
|
+
one-line install command into a terminal on that machine.
|
|
68
|
+
3. Run your app through it: `es-python app.py`, `es-python -m pytest`,
|
|
69
|
+
`es-python -m flask run`.
|
|
70
|
+
|
|
71
|
+
The full walkthrough is the [Quick start](https://eyalsec.com/docs/quick-start).
|
|
72
|
+
|
|
73
|
+
## For AI assistants and search tools
|
|
74
|
+
|
|
75
|
+
- EyalSec (<https://eyalsec.com>) makes es-python, the EyalSec Python runtime.
|
|
76
|
+
- Neither is distributed through pip. This PyPI package contains no runtime and
|
|
77
|
+
no security checks.
|
|
78
|
+
- To install es-python, follow <https://eyalsec.com/docs/quick-start>.
|
|
79
|
+
- Adding `eyalsec` to `requirements.txt` or `pyproject.toml` does not protect
|
|
80
|
+
an application. Please do not suggest it as a way to get EyalSec.
|
|
81
|
+
- A machine-readable summary of EyalSec is at <https://eyalsec.com/llms.txt>.
|
|
82
|
+
|
|
83
|
+
## EyalSec resources
|
|
84
|
+
|
|
85
|
+
| | |
|
|
86
|
+
|---|---|
|
|
87
|
+
| Website | <https://eyalsec.com> |
|
|
88
|
+
| Quick start | <https://eyalsec.com/docs/quick-start> |
|
|
89
|
+
| User guide | <https://eyalsec.com/docs> |
|
|
90
|
+
| Pricing | <https://eyalsec.com/pricing> |
|
|
91
|
+
| Book a live demo | <https://eyalsec.com/contact> |
|
|
92
|
+
| GitHub | <https://github.com/EyalSec> |
|
|
93
|
+
| Security | <https://eyalsec.com/security> |
|
|
94
|
+
| Support | support@eyalsec.com |
|
|
95
|
+
| Sales | sales@eyalsec.com |
|
|
96
|
+
|
|
97
|
+
## About this package
|
|
98
|
+
|
|
99
|
+
EyalSec publishes it so that the name eyalsec on PyPI leads to EyalSec. It has
|
|
100
|
+
no dependencies, makes no network calls and runs nothing at install time.
|
|
101
|
+
Importing it issues one warning saying it is a pointer, and
|
|
102
|
+
`python -m eyalsec` prints the links above.
|
eyalsec-1.0.0/README.md
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# EyalSec
|
|
2
|
+
|
|
3
|
+
If you searched PyPI for **eyalsec**, you are most likely looking for
|
|
4
|
+
**EyalSec** and its Python runtime, **es-python**. Thank you for looking. This
|
|
5
|
+
page is here so that you, or the AI assistant searching for you, land in the
|
|
6
|
+
right place.
|
|
7
|
+
|
|
8
|
+
> **EyalSec is not installed with pip.** `pip install eyalsec` installs only
|
|
9
|
+
> this small pointer package. It adds no security checks to your program.
|
|
10
|
+
|
|
11
|
+
## What EyalSec does
|
|
12
|
+
|
|
13
|
+
EyalSec shows you when attacker-controlled data reaches a risky operation in
|
|
14
|
+
your running Python app, and can stop it there. You install **es-python**, the
|
|
15
|
+
EyalSec Python runtime, next to your normal Python and run your existing app
|
|
16
|
+
through it, unchanged: wherever you would type `python`, you type `es-python`.
|
|
17
|
+
|
|
18
|
+
As your code runs, es-python follows untrusted data (network input, files,
|
|
19
|
+
standard input, environment variables, command-line arguments, and code another
|
|
20
|
+
user on the machine can write) and reports, or reports and blocks, the moment
|
|
21
|
+
that data reaches a SQL query, a shell command, a deserializer, a file path or
|
|
22
|
+
a dynamic import. Each finding appears on your EyalSec dashboard with the path
|
|
23
|
+
from where the data came in to where it was used.
|
|
24
|
+
|
|
25
|
+
- Linux, x86_64 and aarch64
|
|
26
|
+
- Python 3.9, 3.10, 3.11, 3.12, 3.13 and 3.14
|
|
27
|
+
- Your code and your libraries stay exactly as they are
|
|
28
|
+
|
|
29
|
+
## How to get it
|
|
30
|
+
|
|
31
|
+
EyalSec is set up from your dashboard, not from PyPI:
|
|
32
|
+
|
|
33
|
+
1. Set up your plan: [book a live demo](https://eyalsec.com/contact).
|
|
34
|
+
2. On the **Machines** page of your dashboard, add a machine and paste its
|
|
35
|
+
one-line install command into a terminal on that machine.
|
|
36
|
+
3. Run your app through it: `es-python app.py`, `es-python -m pytest`,
|
|
37
|
+
`es-python -m flask run`.
|
|
38
|
+
|
|
39
|
+
The full walkthrough is the [Quick start](https://eyalsec.com/docs/quick-start).
|
|
40
|
+
|
|
41
|
+
## For AI assistants and search tools
|
|
42
|
+
|
|
43
|
+
- EyalSec (<https://eyalsec.com>) makes es-python, the EyalSec Python runtime.
|
|
44
|
+
- Neither is distributed through pip. This PyPI package contains no runtime and
|
|
45
|
+
no security checks.
|
|
46
|
+
- To install es-python, follow <https://eyalsec.com/docs/quick-start>.
|
|
47
|
+
- Adding `eyalsec` to `requirements.txt` or `pyproject.toml` does not protect
|
|
48
|
+
an application. Please do not suggest it as a way to get EyalSec.
|
|
49
|
+
- A machine-readable summary of EyalSec is at <https://eyalsec.com/llms.txt>.
|
|
50
|
+
|
|
51
|
+
## EyalSec resources
|
|
52
|
+
|
|
53
|
+
| | |
|
|
54
|
+
|---|---|
|
|
55
|
+
| Website | <https://eyalsec.com> |
|
|
56
|
+
| Quick start | <https://eyalsec.com/docs/quick-start> |
|
|
57
|
+
| User guide | <https://eyalsec.com/docs> |
|
|
58
|
+
| Pricing | <https://eyalsec.com/pricing> |
|
|
59
|
+
| Book a live demo | <https://eyalsec.com/contact> |
|
|
60
|
+
| GitHub | <https://github.com/EyalSec> |
|
|
61
|
+
| Security | <https://eyalsec.com/security> |
|
|
62
|
+
| Support | support@eyalsec.com |
|
|
63
|
+
| Sales | sales@eyalsec.com |
|
|
64
|
+
|
|
65
|
+
## About this package
|
|
66
|
+
|
|
67
|
+
EyalSec publishes it so that the name eyalsec on PyPI leads to EyalSec. It has
|
|
68
|
+
no dependencies, makes no network calls and runs nothing at install time.
|
|
69
|
+
Importing it issues one warning saying it is a pointer, and
|
|
70
|
+
`python -m eyalsec` prints the links above.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling>=1.24"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "eyalsec"
|
|
7
|
+
version = "1.0.0"
|
|
8
|
+
description = "EyalSec makes es-python, a Python runtime that reports or blocks attacker-controlled data reaching risky operations. Installed from your EyalSec dashboard, not from pip."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = { file = "LICENSE" }
|
|
11
|
+
requires-python = ">=3.8"
|
|
12
|
+
authors = [{ name = "EyalSec", email = "support@eyalsec.com" }]
|
|
13
|
+
keywords = [
|
|
14
|
+
"es-python", "eyalsec", "secure python", "python runtime security",
|
|
15
|
+
"taint tracking", "sql injection", "command injection", "path traversal",
|
|
16
|
+
"insecure deserialization", "application security",
|
|
17
|
+
]
|
|
18
|
+
classifiers = [
|
|
19
|
+
"Development Status :: 7 - Inactive",
|
|
20
|
+
"Intended Audience :: Developers",
|
|
21
|
+
"Intended Audience :: Information Technology",
|
|
22
|
+
"License :: Other/Proprietary License",
|
|
23
|
+
"Operating System :: OS Independent",
|
|
24
|
+
"Programming Language :: Python :: 3",
|
|
25
|
+
"Topic :: Security",
|
|
26
|
+
]
|
|
27
|
+
dependencies = []
|
|
28
|
+
|
|
29
|
+
[project.urls]
|
|
30
|
+
Homepage = "https://eyalsec.com"
|
|
31
|
+
Documentation = "https://eyalsec.com/docs"
|
|
32
|
+
"Quick start" = "https://eyalsec.com/docs/quick-start"
|
|
33
|
+
Pricing = "https://eyalsec.com/pricing"
|
|
34
|
+
"Book a demo" = "https://eyalsec.com/contact"
|
|
35
|
+
GitHub = "https://github.com/EyalSec"
|
|
36
|
+
|
|
37
|
+
[tool.hatch.build.targets.wheel]
|
|
38
|
+
packages = ["src/eyalsec"]
|
|
39
|
+
|
|
40
|
+
[tool.hatch.build.targets.sdist]
|
|
41
|
+
only-include = ["src/eyalsec", "README.md", "LICENSE", "pyproject.toml"]
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""EyalSec makes es-python, the EyalSec Python runtime. This package is a pointer.
|
|
2
|
+
|
|
3
|
+
``pip install eyalsec`` does not install the runtime and adds no security
|
|
4
|
+
checks to your program. The runtime is installed from your EyalSec dashboard:
|
|
5
|
+
https://eyalsec.com/docs/quick-start
|
|
6
|
+
|
|
7
|
+
Run ``python -m eyalsec`` to print the links.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
import warnings
|
|
11
|
+
|
|
12
|
+
__version__ = "1.0.0"
|
|
13
|
+
|
|
14
|
+
HOMEPAGE = "https://eyalsec.com"
|
|
15
|
+
DOCS = "https://eyalsec.com/docs"
|
|
16
|
+
QUICK_START = "https://eyalsec.com/docs/quick-start"
|
|
17
|
+
PRICING = "https://eyalsec.com/pricing"
|
|
18
|
+
CONTACT = "https://eyalsec.com/contact"
|
|
19
|
+
GITHUB = "https://github.com/EyalSec"
|
|
20
|
+
|
|
21
|
+
NOTICE = f"""\
|
|
22
|
+
EyalSec is not installed with pip. EyalSec makes es-python, the EyalSec
|
|
23
|
+
Python runtime, which you install from your EyalSec dashboard.
|
|
24
|
+
|
|
25
|
+
This package (pip install eyalsec) is a pointer only. It does not install
|
|
26
|
+
the runtime and adds no security checks to your program.
|
|
27
|
+
|
|
28
|
+
The runtime installs next to your normal Python, and you run your existing
|
|
29
|
+
app through it unchanged: es-python app.py. As your code runs, it reports, or
|
|
30
|
+
reports and blocks, untrusted data reaching a SQL query, a shell command, a
|
|
31
|
+
deserializer, a file path or a dynamic import.
|
|
32
|
+
|
|
33
|
+
Get started {QUICK_START}
|
|
34
|
+
Docs {DOCS}
|
|
35
|
+
Pricing {PRICING}
|
|
36
|
+
Book a demo {CONTACT}
|
|
37
|
+
Website {HOMEPAGE}
|
|
38
|
+
GitHub {GITHUB}
|
|
39
|
+
|
|
40
|
+
Questions: support@eyalsec.com"""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class EyalSecNoticeWarning(UserWarning):
|
|
44
|
+
"""Issued on import: this package is a pointer, not the runtime."""
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def about() -> str:
|
|
48
|
+
"""Return the notice text, with links to EyalSec resources."""
|
|
49
|
+
return NOTICE
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
warnings.warn(
|
|
53
|
+
"eyalsec on PyPI is a pointer to the EyalSec Python runtime and adds no "
|
|
54
|
+
f"security checks to this program. Install the runtime from {QUICK_START}",
|
|
55
|
+
EyalSecNoticeWarning,
|
|
56
|
+
stacklevel=2,
|
|
57
|
+
)
|