A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
This report summarizes scanner evidence for dashingsoft/pyarmor, a Python project with 5,209 GitHub stars. SynthScan examined 45,469 lines of code across 181 source files, recording 886 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 38.8 (High pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 229 finding(s).
Are imports declared and package/API names verified? 123 finding(s).
Are wrappers, guards, and repeated structures necessary? 591 finding(s).
Which changes need focused human review? 886 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 886 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | plugins/check_ntp_time.py | 6 | # ----------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/check_ntp_time.py | 8 | # ----------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | plugins/check_ntp_time.py | 456 | # ----------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | plugins/check_ntp_time.py | 458 | # ----------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 173 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 176 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 186 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 189 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 269 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 273 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 283 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 287 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 297 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 300 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 335 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 339 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 345 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 349 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 355 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 359 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 369 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 373 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 379 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 387 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 396 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 401 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 409 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 412 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 419 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/test-header.sh | 422 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 102 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 104 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 130 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 134 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 145 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 147 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 200 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 208 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 223 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 232 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 252 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 256 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 311 | # ====================================================================== | COMMENT |
| MEDIUM | tests/test-header.sh | 314 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 3 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 7 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 42 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 46 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 65 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 69 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 121 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 125 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 200 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 204 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 245 | # ====================================================================== | COMMENT |
| MEDIUM | tests/cross-test.sh | 249 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/integration-test.sh | 163 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/integration-test.sh | 166 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/integration-test.sh | 176 | # ====================================================================== | COMMENT |
| MEDIUM⚡ | tests/integration-test.sh | 179 | # ====================================================================== | COMMENT |
| 166 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | gh.py | 288 | except EOFError: | CODE |
| HIGH | tests/test-sppmode.py | 293 | except TypeError: | CODE |
| HIGH | tests/test-sppmode.py | 31 | except RuntimeError: | CODE |
| HIGH | tests/test-sppmode.py | 224 | except RecursionError: | CODE |
| HIGH | tests/test-sppmode.py | 291 | except object_: | CODE |
| HIGH | tests/test-sppmode.py | 173 | except RuntimeError: | CODE |
| HIGH | src/pytransform.py | 243 | except Exception: | CODE |
| HIGH | src/packer.py | 604 | except Exception: | CODE |
| HIGH | src/packer.py | 264 | except ValueError: | CODE |
| HIGH | src/utils.py | 457 | except Exception: | CODE |
| HIGH | src/pyarmor-deprecated.py | 110 | except Exception: | CODE |
| HIGH | src/cli/resource.py | 130 | except Exception: | CODE |
| HIGH | src/cli/model.py | 86 | except ValueError: | CODE |
| HIGH | src/cli/project.py | 1063 | except CalledProcessError: | CODE |
| HIGH | src/cli/core/runtime.py | 65 | except ModuleNotFoundError: | CODE |
| HIGH | src/examples/pybench/systimes.py | 80 | except ImportError: | CODE |
| HIGH | src/examples/pybench/clockres.py | 41 | except ImportError: | CODE |
| HIGH | src/examples/pybench/CommandLine.py | 145 | except AttributeError: | CODE |
| HIGH | src/examples/pybench/CommandLine.py | 149 | except AttributeError: | CODE |
| HIGH | src/examples/pybench/CommandLine.py | 455 | except ValueError: | CODE |
| HIGH | src/examples/pybench/Setup.py | 27 | except ImportError: | CODE |
| HIGH | src/examples/pybench/Setup.py | 35 | except SyntaxError: | CODE |
| HIGH | src/examples/pybench/Setup.py | 42 | except (ImportError, SyntaxError): | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 16 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 20 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 24 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 28 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 32 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 36 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 40 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 44 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 66 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 70 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 74 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 78 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 82 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 86 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 90 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 94 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 98 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 102 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 107 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 111 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 115 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 119 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 123 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 127 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 131 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 135 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 139 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 143 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 149 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 153 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 157 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 161 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 165 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 169 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 173 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 177 | except: | CODE |
| HIGH | src/examples/pybench/Exceptions.py | 181 | except: | CODE |
| 124 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gh.py | 351 | except Exception as e: | CODE |
| LOW | tests.9/script_factory.py | 758 | except Exception: | CODE |
| LOW | tests.9/script_factory.py | 764 | except Exception as e: | CODE |
| LOW | plugins/check_docker.py | 4 | except Exception: | CODE |
| MEDIUM | plugins/check_docker.py | 1 | def get_license_data(): | CODE |
| LOW | plugins/check_gpu.py | 14 | except Exception as e: | CODE |
| MEDIUM | plugins/check_gpu.py | 6 | def get_expiration_info(): | CODE |
| LOW | plugins/check_multiple_machine.py | 7 | except Exception: | CODE |
| LOW | plugins/check_multiple_machine.py | 22 | except Exception: | CODE |
| MEDIUM | plugins/check_multiple_machine.py | 4 | def _get_license_data(): | CODE |
| LOW | plugins/check_multi_mac.py | 4 | except Exception: | CODE |
| MEDIUM | plugins/check_multi_mac.py | 1 | def get_license_data(): | CODE |
| LOW⚡ | plugins/check_ntp_time.py | 464 | except Exception: | CODE |
| MEDIUM | plugins/check_ntp_time.py | 461 | def _get_license_data(): | CODE |
| LOW | tests/test-pyarmor.py | 14 | except Exception: | CODE |
| LOW | tests/test-sppmode.py | 69 | except Exception: | CODE |
| LOW⚡ | tests/test-sppmode.py | 295 | except Exception: | CODE |
| LOW | tests/test-sppmode.py | 505 | except Exception as exc: | CODE |
| MEDIUM | tests/test-sppmode.py | 221 | def f(): | CODE |
| LOW | tests/test-trial-pyarmor.py | 13 | except Exception: | CODE |
| LOW | tests/test-wraparmor.sh | 59 | except Exception: | CODE |
| LOW | tests/test-wraparmor.sh | 68 | except Exception as err: | CODE |
| LOW | tests/function-test.sh | 1712 | except Exception: | CODE |
| LOW | tests/function-test.sh | 1720 | except Exception: | CODE |
| LOW | tests/data/wrapcase.py | 56 | except Exception as e: | CODE |
| LOW | tests/data/mfoo.py | 14 | except Exception: | CODE |
| LOW | docs.7/pyarmor-history.md | 50 | except Exception: | CODE |
| MEDIUM | docs.7/pyarmor-history.md | 25 | def find_module(self, fullname, path=None): | CODE |
| LOW | src/benchmark.py | 125 | except Exception: | CODE |
| MEDIUM | src/benchmark.py | 120 | def verify_license(m): | CODE |
| LOW | src/register.py | 53 | except Exception as e: | CODE |
| LOW | src/register.py | 198 | except Exception: | CODE |
| MEDIUM | src/register.py | 36 | def query_keyinfo(key): | CODE |
| LOW | src/pyarmor.py | 1536 | except Exception: | CODE |
| MEDIUM | src/pyarmor.py | 1533 | def excepthook(type, exc, traceback): | CODE |
| LOW | src/pytransform.py | 243 | except Exception: | CODE |
| LOW | src/pytransform.py | 321 | except Exception as e: | CODE |
| LOW⚡ | src/pytransform.py | 366 | except Exception as e: | CODE |
| MEDIUM | src/pytransform.py | 170 | def check_armored(*names): | CODE |
| LOW | src/sppmode.py | 102 | except Exception: | CODE |
| LOW | src/packer.py | 103 | except Exception: | CODE |
| LOW | src/packer.py | 604 | except Exception: | CODE |
| MEDIUM | src/packer.py | 99 | def relpath(path, start=os.curdir): | CODE |
| MEDIUM | src/packer.py | 592 | def _check_entry_script(filename): | CODE |
| LOW | src/user-guide.md | 1221 | except Exception as err: | CODE |
| LOW | src/user-guide.md | 1275 | except Exception: | CODE |
| LOW | src/user-guide.md | 1283 | except Exception: | CODE |
| MEDIUM | src/utils.py | 805 | def get_registration_code(): | CODE |
| MEDIUM | src/utils.py | 1140 | def relpath(path, start=os.curdir): | CODE |
| MEDIUM | src/utils.py | 1683 | def _urlopen(*args, **kwargs): | CODE |
| LOW | src/utils.py | 180 | except Exception as e: | CODE |
| LOW | src/utils.py | 457 | except Exception: | CODE |
| LOW | src/utils.py | 808 | except Exception: | CODE |
| LOW | src/utils.py | 1144 | except Exception: | CODE |
| LOW | src/utils.py | 1686 | except Exception: | CODE |
| LOW | src/utils.py | 1727 | except Exception: | CODE |
| LOW | src/pyarmor-deprecated.py | 46 | except Exception: | CODE |
| LOW | src/pyarmor-deprecated.py | 110 | except Exception: | STRING |
| LOW | src/pyarmor-deprecated.py | 131 | except Exception: | STRING |
| MEDIUM | src/pyarmor-deprecated.py | 103 | def _import_pytransform(): | CODE |
| 43 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests.8/samples/foo.py | 1 | CODE | |
| LOW | tests.8/samples/joker/__init__.py | 1 | CODE | |
| LOW | tests.8/samples/joker/__init__.py | 2 | CODE | |
| LOW | tests/test-pyarmor.py | 9 | CODE | |
| LOW | tests/test-trial-pyarmor.py | 7 | CODE | |
| LOW | tests/data/wrapcase.py | 1 | CODE | |
| LOW | docs/conf.py | 16 | CODE | |
| LOW | docs/conf.py | 17 | CODE | |
| LOW | docs.7/conf.py | 16 | CODE | |
| LOW | docs.7/conf.py | 17 | CODE | |
| LOW | src/pyarmor-deprecated.py | 32 | CODE | |
| LOW | src/pyarmor-deprecated.py | 35 | CODE | |
| LOW | src/pyimcore.py | 6 | CODE | |
| LOW | src/examples/helloworld/foo.py | 1 | CODE | |
| LOW | src/examples/cx_Freeze/hello.py | 1 | CODE | |
| LOW | src/examples/cx_Freeze/queens.py | 3 | CODE | |
| LOW | src/examples/simple/queens.py | 3 | CODE | |
| LOW | src/examples/pybench/With.py | 1 | CODE | |
| LOW | src/examples/pybench/systimes.py | 35 | CODE | |
| LOW | src/examples/pybench/CommandLine.py | 14 | CODE | |
| LOW | src/examples/pybench/Imports.py | 4 | CODE | |
| LOW | src/examples/pybench/Imports.py | 5 | CODE | |
| LOW | src/examples/pybench/Imports.py | 16 | CODE | |
| LOW | src/examples/pybench/Imports.py | 17 | CODE | |
| LOW | src/examples/pybench/Imports.py | 18 | CODE | |
| LOW | src/examples/pybench/Imports.py | 19 | CODE | |
| LOW | src/examples/pybench/Imports.py | 20 | CODE | |
| LOW | src/examples/pybench/Imports.py | 22 | CODE | |
| LOW | src/examples/pybench/Imports.py | 23 | CODE | |
| LOW | src/examples/pybench/Imports.py | 24 | CODE | |
| LOW | src/examples/pybench/Imports.py | 25 | CODE | |
| LOW | src/examples/pybench/Imports.py | 26 | CODE | |
| LOW | src/examples/pybench/Imports.py | 28 | CODE | |
| LOW | src/examples/pybench/Imports.py | 29 | CODE | |
| LOW | src/examples/pybench/Imports.py | 30 | CODE | |
| LOW | src/examples/pybench/Imports.py | 31 | CODE | |
| LOW | src/examples/pybench/Imports.py | 32 | CODE | |
| LOW | src/examples/pybench/Imports.py | 34 | CODE | |
| LOW | src/examples/pybench/Imports.py | 35 | CODE | |
| LOW | src/examples/pybench/Imports.py | 36 | CODE | |
| LOW | src/examples/pybench/Imports.py | 37 | CODE | |
| LOW | src/examples/pybench/Imports.py | 38 | CODE | |
| LOW | src/examples/pybench/Imports.py | 40 | CODE | |
| LOW | src/examples/pybench/Imports.py | 41 | CODE | |
| LOW | src/examples/pybench/Imports.py | 42 | CODE | |
| LOW | src/examples/pybench/Imports.py | 43 | CODE | |
| LOW | src/examples/pybench/Imports.py | 44 | CODE | |
| LOW | src/examples/pybench/Imports.py | 61 | CODE | |
| LOW | src/examples/pybench/Imports.py | 62 | CODE | |
| LOW | src/examples/pybench/Imports.py | 63 | CODE | |
| LOW | src/examples/pybench/Imports.py | 64 | CODE | |
| LOW | src/examples/pybench/Imports.py | 65 | CODE | |
| LOW | src/examples/pybench/Imports.py | 67 | CODE | |
| LOW | src/examples/pybench/Imports.py | 68 | CODE | |
| LOW | src/examples/pybench/Imports.py | 69 | CODE | |
| LOW | src/examples/pybench/Imports.py | 70 | CODE | |
| LOW | src/examples/pybench/Imports.py | 71 | CODE | |
| LOW | src/examples/pybench/Imports.py | 73 | CODE | |
| LOW | src/examples/pybench/Imports.py | 74 | CODE | |
| LOW | src/examples/pybench/Imports.py | 75 | CODE | |
| 61 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | gh.py | 1 | #! /usr/bin/env python3 | COMMENT |
| LOW | tests.9/script_factory.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | tests/test-header.sh | 381 | # Return 0 if auto wrap mode doesn't work in this version | COMMENT |
| LOW | tests/integration-test.sh | 401 | || csih_bug "Case 1.1 FAILED" | COMMENT |
| LOW | tests/integration-test.sh | 421 | # || csih_bug "Case 1.3 FAILED: no foo.zip found" | COMMENT |
| LOW | tests/integration-test.sh | 1021 | # DEPRECATED from v5.6.0, no capsule could be generated | COMMENT |
| LOW | tests/integration-test.sh | 1041 | # || csih_bug "Case T1.2 FAILED: no dist/foo.py${extchar} found" | COMMENT |
| LOW | tests/integration-test.sh | 1061 | # Test functions in expired trial license. PART 5 | COMMENT |
| LOW | tests/packer-test.sh | 41 | COMMENT | |
| LOW | docs/conf.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | docs/conf.py | 21 | # documentation root, use os.path.abspath to make it absolute, like shown here. | COMMENT |
| LOW | docs/conf.py | 61 | # The full version, including alpha/beta/rc tags. | COMMENT |
| LOW | docs/conf.py | 81 | # The reST default role (used for this markup: `text`) to use for all | COMMENT |
| LOW | docs/conf.py | 101 | COMMENT | |
| LOW | docs/conf.py | 121 | #html_theme_path = [] | COMMENT |
| LOW | docs/conf.py | 141 | # so a file named "default.css" will overwrite the builtin "default.css". | COMMENT |
| LOW | docs/conf.py | 161 | # template names. | COMMENT |
| LOW | docs/conf.py | 181 | COMMENT | |
| LOW | docs/conf.py | 201 | # implements a search results scorer. If empty, the default will be used. | COMMENT |
| LOW | docs/conf.py | 221 | } | COMMENT |
| LOW | docs/conf.py | 281 | COMMENT | |
| LOW | scripts/build-package.sh | 61 | # Build binary wheel | COMMENT |
| LOW | docs.7/conf.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | docs.7/conf.py | 21 | # documentation root, use os.path.abspath to make it absolute, like shown here. | COMMENT |
| LOW | docs.7/conf.py | 61 | # The full version, including alpha/beta/rc tags. | COMMENT |
| LOW | docs.7/conf.py | 81 | # The reST default role (used for this markup: `text`) to use for all | COMMENT |
| LOW | docs.7/conf.py | 101 | COMMENT | |
| LOW | docs.7/conf.py | 121 | #html_theme_path = [] | COMMENT |
| LOW | docs.7/conf.py | 141 | # so a file named "default.css" will overwrite the builtin "default.css". | COMMENT |
| LOW | docs.7/conf.py | 161 | # template names. | COMMENT |
| LOW | docs.7/conf.py | 181 | COMMENT | |
| LOW | docs.7/conf.py | 201 | # implements a search results scorer. If empty, the default will be used. | COMMENT |
| LOW | docs.7/conf.py | 221 | } | COMMENT |
| LOW | docs.7/conf.py | 281 | COMMENT | |
| LOW | docs.7/pyarmor-history.md | 241 | { | COMMENT |
| LOW | src/benchmark.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/register.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/pyarmor.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/packer.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/packer.py | 21 | # | COMMENT |
| LOW | src/utils.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/pyarmor-deprecated.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/project.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/project.py | 21 | # | COMMENT |
| LOW | src/cli/bootstrap.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/hdinfo.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/bug.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/merge.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/command.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/command.py | 201 | ) | COMMENT |
| LOW | src/cli/config.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/register.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/generate.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/shell.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/resource.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/docker.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/model.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/context.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/plugin.py | 1 | #! /usr/bin/env python | COMMENT |
| LOW | src/cli/mixer.py | 1 | #! /usr/bin/env python | COMMENT |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/register.py | 136 | CODE | |
| LOW | src/pyarmor.py | 66 | CODE | |
| LOW | src/pyarmor.py | 442 | CODE | |
| LOW | src/pyarmor.py | 570 | CODE | |
| LOW | src/pyarmor.py | 814 | CODE | |
| LOW | src/pyarmor.py | 883 | CODE | |
| LOW | src/pytransform.py | 247 | CODE | |
| LOW | src/pytransform.py | 284 | CODE | |
| LOW | src/sppmode.py | 85 | CODE | |
| LOW | src/packer.py | 282 | CODE | |
| LOW | src/packer.py | 592 | CODE | |
| LOW | src/cobuilder.py | 84 | CODE | |
| LOW | src/cobuilder.py | 131 | CODE | |
| LOW | src/utils.py | 88 | CODE | |
| LOW | src/utils.py | 449 | CODE | |
| LOW | src/utils.py | 572 | CODE | |
| LOW | src/utils.py | 605 | CODE | |
| LOW | src/utils.py | 813 | CODE | |
| LOW | src/utils.py | 971 | CODE | |
| LOW | src/utils.py | 996 | CODE | |
| LOW | src/utils.py | 1362 | CODE | |
| LOW | src/utils.py | 1383 | CODE | |
| LOW | src/utils.py | 1613 | CODE | |
| LOW | src/utils.py | 1697 | CODE | |
| LOW | src/pyarmor-deprecated.py | 375 | CODE | |
| LOW | src/pyarmor-deprecated.py | 407 | CODE | |
| LOW | src/pyarmor-deprecated.py | 644 | CODE | |
| LOW | src/build_meta.py | 52 | CODE | |
| LOW | src/cli/merge.py | 149 | CODE | |
| LOW | src/cli/command.py | 469 | CODE | |
| LOW | src/cli/config.py | 174 | CODE | |
| LOW | src/cli/config.py | 238 | CODE | |
| LOW | src/cli/register.py | 299 | CODE | |
| LOW | src/cli/register.py | 343 | CODE | |
| LOW | src/cli/register.py | 687 | CODE | |
| LOW | src/cli/register.py | 968 | CODE | |
| LOW | src/cli/generate.py | 196 | CODE | |
| LOW | src/cli/generate.py | 118 | CODE | |
| LOW | src/cli/shell.py | 329 | CODE | |
| LOW | src/cli/resource.py | 111 | CODE | |
| LOW | src/cli/resource.py | 181 | CODE | |
| LOW | src/cli/resource.py | 116 | CODE | |
| LOW | src/cli/__init__.py | 29 | CODE | |
| LOW | src/cli/context.py | 771 | CODE | |
| LOW | src/cli/plugin.py | 232 | CODE | |
| LOW | src/cli/mixer.py | 39 | CODE | |
| LOW | src/cli/mixer.py | 86 | CODE | |
| LOW | src/cli/__main__.py | 259 | CODE | |
| LOW | src/cli/repack.py | 518 | CODE | |
| LOW | src/cli/repack.py | 542 | CODE | |
| LOW | src/cli/repack.py | 603 | CODE | |
| LOW | src/cli/repack.py | 447 | CODE | |
| LOW | src/cli/repack.py | 768 | CODE | |
| LOW | src/cli/project.py | 105 | CODE | |
| LOW | src/cli/project.py | 264 | CODE | |
| LOW | src/cli/project.py | 861 | CODE | |
| LOW | src/cli/project.py | 1161 | CODE | |
| LOW | src/examples/pybench/CommandLine.py | 63 | CODE | |
| LOW | src/examples/pybench/CommandLine.py | 407 | CODE | |
| LOW | src/examples/pybench/pybench.py | 628 | CODE | |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests.8/accept_test.py | 212 | def test_expired_local_iso_date(self): | CODE |
| LOW | tests.8/accept_test.py | 226 | def test_bind_multiple_devices(self): | CODE |
| LOW | tests.8/accept_test.py | 268 | def test_shared_runtime_package(self): | CODE |
| LOW | tests.8/accept_test.py | 286 | def test_shared_runtime_package_with_outer_key(self): | CODE |
| LOW | tests.8/accept_test.py | 391 | def test_bcc_with_nest_functions(self): | CODE |
| LOW | tests.8/test_pack.py | 94 | def test_onefile_with_options(self): | CODE |
| LOW | tests/test-pyarmor.py | 85 | def test_get_registration_code(self): | CODE |
| LOW | tests/test-pyarmor.py | 139 | def test_do_capsule_with_force(self): | CODE |
| LOW | tests/test-pyarmor.py | 201 | def test_do_encrypt_empty_file(self): | CODE |
| LOW⚡ | tests/test-sppmode.py | 267 | def test_exception_with_local_var(self): | CODE |
| LOW⚡ | tests/test-sppmode.py | 277 | def test_exception_with_local_cellvar(self): | CODE |
| LOW⚡ | tests/test-sppmode.py | 286 | def test_exception_catch_not_exception(self): | CODE |
| LOW | tests/test-sppmode.py | 355 | def test_child_function_when_parent_failed(self): | CODE |
| LOW | tests/test-sppmode.py | 458 | def test_set_literal_insertion_order(self): | CODE |
| LOW | tests/test-sppmode.py | 465 | def test_same_constans_used_by_many_times(self): | CODE |
| LOW | tests/test-sppmode.py | 674 | def test_method_with_double_underline_arg(self): | CODE |
| LOW | tests/test-sppmode.py | 690 | def test_property_with_double_underline(self): | CODE |
| LOW | tests/test-trial-pyarmor.py | 68 | def test_get_registration_code(self): | CODE |
| LOW | tests/data/no_wrap.py | 15 | def _generate_ndarray_function_code(handle, op_name, func_name, signature_only=False): | CODE |
| LOW⚡ | src/benchmark.py | 158 | def import_first_no_obfuscated_module(name): | CODE |
| LOW⚡ | src/benchmark.py | 163 | def import_first_obfuscated_module(name): | CODE |
| LOW⚡ | src/benchmark.py | 168 | def re_import_no_obfuscated_module(name): | CODE |
| LOW⚡ | src/benchmark.py | 173 | def re_import_obfuscated_module(name): | CODE |
| LOW⚡ | src/benchmark.py | 178 | def run_empty_obfuscated_code_object(foo): | CODE |
| LOW | src/benchmark.py | 193 | def run_empty_no_obfuscated_code_object(foo): | CODE |
| LOW | src/benchmark.py | 208 | def import_many_obfuscated_modules(name, n=100): | CODE |
| LOW | src/benchmark.py | 214 | def import_many_no_obfuscated_modules(name, n=100): | CODE |
| LOW | src/pytransform.py | 402 | def _generate_project_capsule(): | CODE |
| LOW | src/pytransform.py | 409 | def _generate_pytransform_key(licfile, pubkey): | CODE |
| LOW | src/packer.py | 382 | def __obfuscate_dependency_pkgs(package_names, obf_options, tempdir): | CODE |
| LOW | src/utils.py | 192 | def _get_download_license_info(): | CODE |
| LOW | src/utils.py | 886 | def _build_pytransform_keylist(mod, code, closure): | CODE |
| LOW | src/utils.py | 1264 | def compatible_platform_names(platforms): | CODE |
| LOW | src/utils.py | 1613 | def _check_code_object_for_super_mode(co, lines, name): | CODE |
| LOW | src/utils.py | 1845 | def osx_is_universal_platforms(platforms): | CODE |
| LOW | src/build_meta.py | 52 | def _wheel_append_runtime_files(build_path, namever, pkgname): | CODE |
| LOW | src/cli/bootstrap.py | 30 | def check_prebuilt_runtime_library(platnames, extra=None, rtver=''): | CODE |
| LOW | src/cli/register.py | 217 | def _register_offline_license(self, fzip, namelist): | STRING |
| LOW | src/cli/generate.py | 103 | def _generate_obfuscated_script(self, res): | CODE |
| LOW | src/cli/context.py | 618 | def runtime_simple_extension_name(self): | STRING |
| LOW | src/cli/core/__init__.py | 45 | def check_and_install_prebuilt_package(): | CODE |
| LOW | src/cli/core/__init__.py | 93 | def generate_obfuscated_script(ctx, res): | CODE |
| LOW⚡ | src/examples/helloworld/foo.py | 12 | def check_expired_date_by_ntp(): | CODE |
| LOW⚡ | src/examples/helloworld/foo.py | 34 | def show_left_days_of_license(): | CODE |
| LOW | src/examples/pybench/systimes.py | 106 | def process_time_clock_systimes(): | CODE |
| LOW | src/examples/pybench/systimes.py | 109 | def wall_clock_clock_systimes(): | CODE |
| LOW | src/examples/pybench/systimes.py | 133 | def ctypes_getprocesstimes_systimes(): | CODE |
| LOW | src/polyfills/argparse.py | 531 | def _format_action_invocation(self, action): | CODE |
| LOW | src/polyfills/argparse.py | 602 | def _iter_indented_subactions(self, action): | CODE |
| LOW | src/polyfills/argparse.py | 1306 | def add_mutually_exclusive_group(self, **kwargs): | CODE |
| LOW | src/helper/buildext.py | 254 | def make_macro_for_customized_bytecodes(bytecodes): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/cli/register.py | 630 | CODE | |
| MEDIUM | src/cli/register.py | 631 | CODE | |
| MEDIUM | src/cli/register.py | 633 | CODE | |
| MEDIUM | src/cli/register.py | 634 | CODE | |
| MEDIUM | src/cli/register.py | 636 | CODE | |
| MEDIUM | src/cli/register.py | 637 | CODE | |
| MEDIUM | src/cli/register.py | 639 | CODE | |
| MEDIUM | src/cli/register.py | 640 | CODE | |
| MEDIUM | src/cli/register.py | 641 | CODE | |
| MEDIUM | src/cli/register.py | 643 | CODE | |
| MEDIUM | src/cli/register.py | 644 | CODE | |
| MEDIUM | src/cli/register.py | 645 | CODE | |
| MEDIUM | src/cli/register.py | 647 | CODE | |
| MEDIUM | src/cli/register.py | 649 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | plugins/check_ntp_time.py | 371 | Convert a leap indicator to text. Parameters: leap -- leap indicator value Returns: corresponding mess | STRING |
| HIGH | plugins/check_ntp_time.py | 389 | Convert a NTP mode value to text. Parameters: mode -- NTP mode Returns: corresponding message Rai | STRING |
| HIGH | plugins/check_ntp_time.py | 407 | Convert a stratum value to text. Parameters: stratum -- NTP stratum Returns: corresponding message | STRING |
| HIGH | plugins/check_ntp_time.py | 429 | Convert a reference clock identifier to text according to its stratum. Parameters: ref_id -- reference clock i | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/examples/cx_Freeze/queens.py | 0 | n queens problem. the (well-known) problem is due to niklaus wirth. this solution is inspired by dijkstra (structured pr | STRING |
| HIGH | src/examples/simple/queens.py | 0 | n queens problem. the (well-known) problem is due to niklaus wirth. this solution is inspired by dijkstra (structured pr | STRING |
| HIGH | src/examples/testmod/queens.py | 0 | n queens problem. the (well-known) problem is due to niklaus wirth. this solution is inspired by dijkstra (structured pr | STRING |
| HIGH | src/examples/py2exe/queens.py | 0 | n queens problem. the (well-known) problem is due to niklaus wirth. this solution is inspired by dijkstra (structured pr | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test-sppmode.py | 419 | # The following functions must obviously compile, | COMMENT |
| MEDIUM | tests/test-py2exe-sample.sh | 4 | # Create a project | COMMENT |
| MEDIUM | docs/conf.py | 7 | # This file is execfile()d with the current directory set to its | COMMENT |
| MEDIUM | docs.7/conf.py | 7 | # This file is execfile()d with the current directory set to its | COMMENT |
| MEDIUM | src/examples/build-with-project.sh | 51 | # Create a project | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/cli/shell.py | 446 | item.push(x) | CODE |
| HIGH | src/cli/__main__.py | 229 | ctx.push(options) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/pyarmor.py | 408 | CODE | |
| LOW | src/utils.py | 996 | CODE | |
| LOW | src/polyfills/argparse.py | 762 | CODE | |
| LOW | src/polyfills/argparse.py | 804 | CODE | |
| LOW | src/polyfills/argparse.py | 896 | CODE | |
| LOW | src/polyfills/argparse.py | 1550 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/cli/repack.py | 648 | # Set checksum to appease antiviral software. | COMMENT |
| LOW | src/helper/repack.py | 298 | # Set checksum to appease antiviral software. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/data/sound/effects/__init__.py | 1 | __all__ = ["echo", "surround"] | CODE |
| LOW | src/cli/plugin.py | 29 | __all__ = ['CodesignPlugin', 'MultiPythonPlugin', 'PlatformTagPlugin', | CODE |
| LOW | src/polyfills/argparse.py | 65 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test-wraparmor.sh | 3 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/examples/pybench/pybench.py | 168 | If you change a test in some way, don't forget to increase | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/polyfills/argparse.py | 1976 | # for regular arguments, just add them back into the list | COMMENT |