skilltotal 0.7.2__tar.gz → 0.7.3__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.
Files changed (64) hide show
  1. {skilltotal-0.7.2/skilltotal.egg-info → skilltotal-0.7.3}/PKG-INFO +20 -3
  2. {skilltotal-0.7.2 → skilltotal-0.7.3}/README.md +8 -0
  3. {skilltotal-0.7.2 → skilltotal-0.7.3}/pyproject.toml +11 -2
  4. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/__init__.py +1 -1
  5. {skilltotal-0.7.2 → skilltotal-0.7.3/skilltotal.egg-info}/PKG-INFO +20 -3
  6. {skilltotal-0.7.2 → skilltotal-0.7.3}/LICENSE +0 -0
  7. {skilltotal-0.7.2 → skilltotal-0.7.3}/NOTICE +0 -0
  8. {skilltotal-0.7.2 → skilltotal-0.7.3}/setup.cfg +0 -0
  9. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/__main__.py +0 -0
  10. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/baseline.py +0 -0
  11. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/capabilities.py +0 -0
  12. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/cli.py +0 -0
  13. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/collector.py +0 -0
  14. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/engine.py +0 -0
  15. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/file_index.py +0 -0
  16. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/inventory.py +0 -0
  17. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/models.py +0 -0
  18. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/report.py +0 -0
  19. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/rules.py +0 -0
  20. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/sarif.py +0 -0
  21. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/__init__.py +0 -0
  22. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/base.py +0 -0
  23. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/dynamic_code.py +0 -0
  24. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/exposure.py +0 -0
  25. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/filesystem.py +0 -0
  26. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/install_scripts.py +0 -0
  27. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/invisible_unicode.py +0 -0
  28. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/mcp.py +0 -0
  29. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/network.py +0 -0
  30. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/obfuscation.py +0 -0
  31. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/prompt_surface.py +0 -0
  32. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/python_ast.py +0 -0
  33. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/secrets.py +0 -0
  34. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/sensitive_paths.py +0 -0
  35. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scanners/shell_exec.py +0 -0
  36. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal/scoring.py +0 -0
  37. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal.egg-info/SOURCES.txt +0 -0
  38. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal.egg-info/dependency_links.txt +0 -0
  39. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal.egg-info/entry_points.txt +0 -0
  40. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal.egg-info/requires.txt +0 -0
  41. {skilltotal-0.7.2 → skilltotal-0.7.3}/skilltotal.egg-info/top_level.txt +0 -0
  42. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_baseline.py +0 -0
  43. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_calibrate.py +0 -0
  44. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_calibration.py +0 -0
  45. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_capabilities.py +0 -0
  46. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_cli.py +0 -0
  47. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_collector_packages.py +0 -0
  48. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_command_injection.py +0 -0
  49. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_deserialization.py +0 -0
  50. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_exposure.py +0 -0
  51. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_file_index.py +0 -0
  52. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_inventory.py +0 -0
  53. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_invisible_unicode.py +0 -0
  54. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_models.py +0 -0
  55. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_obfuscation_minified.py +0 -0
  56. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_python_ast.py +0 -0
  57. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_release_hygiene.py +0 -0
  58. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_report.py +0 -0
  59. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_report_schema.py +0 -0
  60. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_sarif.py +0 -0
  61. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_scanners.py +0 -0
  62. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_scoring.py +0 -0
  63. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_secrets.py +0 -0
  64. {skilltotal-0.7.2 → skilltotal-0.7.3}/tests/test_threat_class.py +0 -0
@@ -1,19 +1,28 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skilltotal
3
- Version: 0.7.2
3
+ Version: 0.7.3
4
4
  Summary: AI Component Security Platform — static security analysis for AI components (CLI engine)
5
5
  Author: SkillTotal
6
6
  License: Apache-2.0
7
- Project-URL: Homepage, https://github.com/pezhik/skilltotal
7
+ Project-URL: Homepage, https://www.skilltotal.ai
8
8
  Project-URL: Repository, https://github.com/pezhik/skilltotal
9
+ Project-URL: Documentation, https://github.com/pezhik/skilltotal/tree/main/docs
10
+ Project-URL: Issues, https://github.com/pezhik/skilltotal/issues
9
11
  Project-URL: Changelog, https://github.com/pezhik/skilltotal/blob/main/CHANGELOG.md
10
12
  Keywords: security,ai,mcp,supply-chain,static-analysis,prompt-injection
11
- Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Development Status :: 4 - Beta
12
14
  Classifier: Environment :: Console
13
15
  Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: System Administrators
14
17
  Classifier: License :: OSI Approved :: Apache Software License
18
+ Classifier: Operating System :: OS Independent
15
19
  Classifier: Topic :: Security
20
+ Classifier: Topic :: Software Development :: Quality Assurance
16
21
  Classifier: Programming Language :: Python :: 3
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3.13
17
26
  Requires-Python: >=3.10
18
27
  Description-Content-Type: text/markdown
19
28
  License-File: LICENSE
@@ -31,6 +40,11 @@ Dynamic: license-file
31
40
 
32
41
  # SkillTotal
33
42
 
43
+ [![PyPI](https://img.shields.io/pypi/v/skilltotal)](https://pypi.org/project/skilltotal/)
44
+ [![Python](https://img.shields.io/pypi/pyversions/skilltotal)](https://pypi.org/project/skilltotal/)
45
+ [![License](https://img.shields.io/pypi/l/skilltotal)](LICENSE)
46
+ [![CI](https://github.com/pezhik/skilltotal/actions/workflows/ci.yml/badge.svg)](https://github.com/pezhik/skilltotal/actions/workflows/ci.yml)
47
+
34
48
  **AI Component Security Platform — open-source CLI engine.**
35
49
 
36
50
  SkillTotal statically analyzes AI-related components (skills, plugins, MCP servers, npm /
@@ -38,6 +52,9 @@ Python packages, repositories) to surface supply-chain risks, dangerous capabili
38
52
  prompt-injection surfaces, and data-exfiltration paths **before** the component is installed
39
53
  or trusted.
40
54
 
55
+ **Try it online (no install, no account):** [www.skilltotal.ai](https://www.skilltotal.ai) —
56
+ the website runs this same engine. Prefer the CLI? `pipx install skilltotal` (below).
57
+
41
58
  It analyzes **only the component itself** — never your user, company, environment,
42
59
  deployment, or runtime context. Every score and finding is derived exclusively from the
43
60
  files inside the component.
@@ -1,5 +1,10 @@
1
1
  # SkillTotal
2
2
 
3
+ [![PyPI](https://img.shields.io/pypi/v/skilltotal)](https://pypi.org/project/skilltotal/)
4
+ [![Python](https://img.shields.io/pypi/pyversions/skilltotal)](https://pypi.org/project/skilltotal/)
5
+ [![License](https://img.shields.io/pypi/l/skilltotal)](LICENSE)
6
+ [![CI](https://github.com/pezhik/skilltotal/actions/workflows/ci.yml/badge.svg)](https://github.com/pezhik/skilltotal/actions/workflows/ci.yml)
7
+
3
8
  **AI Component Security Platform — open-source CLI engine.**
4
9
 
5
10
  SkillTotal statically analyzes AI-related components (skills, plugins, MCP servers, npm /
@@ -7,6 +12,9 @@ Python packages, repositories) to surface supply-chain risks, dangerous capabili
7
12
  prompt-injection surfaces, and data-exfiltration paths **before** the component is installed
8
13
  or trusted.
9
14
 
15
+ **Try it online (no install, no account):** [www.skilltotal.ai](https://www.skilltotal.ai) —
16
+ the website runs this same engine. Prefer the CLI? `pipx install skilltotal` (below).
17
+
10
18
  It analyzes **only the component itself** — never your user, company, environment,
11
19
  deployment, or runtime context. Every score and finding is derived exclusively from the
12
20
  files inside the component.
@@ -14,12 +14,19 @@ license = { text = "Apache-2.0" }
14
14
  authors = [{ name = "SkillTotal" }]
15
15
  keywords = ["security", "ai", "mcp", "supply-chain", "static-analysis", "prompt-injection"]
16
16
  classifiers = [
17
- "Development Status :: 3 - Alpha",
17
+ "Development Status :: 4 - Beta",
18
18
  "Environment :: Console",
19
19
  "Intended Audience :: Developers",
20
+ "Intended Audience :: System Administrators",
20
21
  "License :: OSI Approved :: Apache Software License",
22
+ "Operating System :: OS Independent",
21
23
  "Topic :: Security",
24
+ "Topic :: Software Development :: Quality Assurance",
22
25
  "Programming Language :: Python :: 3",
26
+ "Programming Language :: Python :: 3.10",
27
+ "Programming Language :: Python :: 3.11",
28
+ "Programming Language :: Python :: 3.12",
29
+ "Programming Language :: Python :: 3.13",
23
30
  ]
24
31
  # Zero runtime dependencies — Python standard library only.
25
32
  dependencies = []
@@ -42,8 +49,10 @@ dev = [
42
49
  skilltotal = "skilltotal.cli:main"
43
50
 
44
51
  [project.urls]
45
- Homepage = "https://github.com/pezhik/skilltotal"
52
+ Homepage = "https://www.skilltotal.ai"
46
53
  Repository = "https://github.com/pezhik/skilltotal"
54
+ Documentation = "https://github.com/pezhik/skilltotal/tree/main/docs"
55
+ Issues = "https://github.com/pezhik/skilltotal/issues"
47
56
  Changelog = "https://github.com/pezhik/skilltotal/blob/main/CHANGELOG.md"
48
57
 
49
58
  [tool.setuptools.packages.find]
@@ -22,7 +22,7 @@ from skilltotal.models import (
22
22
  # REPORT_SCHEMA_VERSION: shape of Report.to_dict(); bumps only on schema changes.
23
23
  # RULESET_VERSION: integer counter of the detection ruleset; bumps when rules change, so a
24
24
  # consumer knows when re-scanning old reports may surface new findings.
25
- __version__ = "0.7.2"
25
+ __version__ = "0.7.3"
26
26
  ENGINE_VERSION = __version__
27
27
  REPORT_SCHEMA_VERSION = "1.3"
28
28
  RULESET_VERSION = 7
@@ -1,19 +1,28 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skilltotal
3
- Version: 0.7.2
3
+ Version: 0.7.3
4
4
  Summary: AI Component Security Platform — static security analysis for AI components (CLI engine)
5
5
  Author: SkillTotal
6
6
  License: Apache-2.0
7
- Project-URL: Homepage, https://github.com/pezhik/skilltotal
7
+ Project-URL: Homepage, https://www.skilltotal.ai
8
8
  Project-URL: Repository, https://github.com/pezhik/skilltotal
9
+ Project-URL: Documentation, https://github.com/pezhik/skilltotal/tree/main/docs
10
+ Project-URL: Issues, https://github.com/pezhik/skilltotal/issues
9
11
  Project-URL: Changelog, https://github.com/pezhik/skilltotal/blob/main/CHANGELOG.md
10
12
  Keywords: security,ai,mcp,supply-chain,static-analysis,prompt-injection
11
- Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Development Status :: 4 - Beta
12
14
  Classifier: Environment :: Console
13
15
  Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: System Administrators
14
17
  Classifier: License :: OSI Approved :: Apache Software License
18
+ Classifier: Operating System :: OS Independent
15
19
  Classifier: Topic :: Security
20
+ Classifier: Topic :: Software Development :: Quality Assurance
16
21
  Classifier: Programming Language :: Python :: 3
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3.13
17
26
  Requires-Python: >=3.10
18
27
  Description-Content-Type: text/markdown
19
28
  License-File: LICENSE
@@ -31,6 +40,11 @@ Dynamic: license-file
31
40
 
32
41
  # SkillTotal
33
42
 
43
+ [![PyPI](https://img.shields.io/pypi/v/skilltotal)](https://pypi.org/project/skilltotal/)
44
+ [![Python](https://img.shields.io/pypi/pyversions/skilltotal)](https://pypi.org/project/skilltotal/)
45
+ [![License](https://img.shields.io/pypi/l/skilltotal)](LICENSE)
46
+ [![CI](https://github.com/pezhik/skilltotal/actions/workflows/ci.yml/badge.svg)](https://github.com/pezhik/skilltotal/actions/workflows/ci.yml)
47
+
34
48
  **AI Component Security Platform — open-source CLI engine.**
35
49
 
36
50
  SkillTotal statically analyzes AI-related components (skills, plugins, MCP servers, npm /
@@ -38,6 +52,9 @@ Python packages, repositories) to surface supply-chain risks, dangerous capabili
38
52
  prompt-injection surfaces, and data-exfiltration paths **before** the component is installed
39
53
  or trusted.
40
54
 
55
+ **Try it online (no install, no account):** [www.skilltotal.ai](https://www.skilltotal.ai) —
56
+ the website runs this same engine. Prefer the CLI? `pipx install skilltotal` (below).
57
+
41
58
  It analyzes **only the component itself** — never your user, company, environment,
42
59
  deployment, or runtime context. Every score and finding is derived exclusively from the
43
60
  files inside the component.
File without changes
File without changes
File without changes
File without changes
File without changes