Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/ParzivalHack/PySpector
/ functions
Functions
455 in github.com/ParzivalHack/PySpector
⨍
Functions
455
◇
Types & classes
111
↳
Endpoints
3
Method
test_http_request_to_getattr_fires
HttpRequest provenance → getattr sink → fires.
tests/unit/test_semantic_provenance.py:100
Method
test_http_request_to_open_fires
HttpRequest provenance → open() sink → fires.
tests/unit/test_semantic_provenance.py:107
Method
test_http_request_to_open_still_fires
HTTP request parameter → open() must still fire (attacker-controlled).
tests/unit/test_taint_engine_extension.py:257
Method
test_http_to_setattr_fires
HttpRequest → setattr attribute name → fires.
tests/unit/test_semantic_provenance.py:142
Method
test_imagmath_eval_via_sink
(self)
tests/unit/test_missing_rules.py:374
Method
test_import_in_production_flagged
__import__() in production code should still be flagged.
tests/unit/test_false_positive_reductions.py:286
Method
test_import_in_tests_not_flagged
__import__() used in test discovery should not be flagged.
tests/unit/test_false_positive_reductions.py:277
Method
test_input_to_getattr
input() → attr → getattr() must fire (TS006 source).
tests/unit/test_taint_engine_extension.py:236
Method
test_invalidate_clears_l1_and_disk
(self)
tests/unit/ast_cache_test.py:328
Method
test_joblib_model_load_fires
(self)
tests/unit/test_ai_rules.py:168
Method
test_joblib_model_load_metadata
(self)
tests/unit/test_ai_rules.py:162
Method
test_json_load_supply_chain_fires
(self)
tests/unit/test_missing_rules.py:442
Method
test_json_loads_severity_reduced
json.loads() findings should be Low severity, not High.
tests/unit/test_false_positive_reductions.py:174
Method
test_json_matches_direct_encoder
(self)
tests/unit/ast_cache_test.py:91
Method
test_jsonpickle_decode_fires
(self)
tests/unit/test_missing_rules.py:140
Method
test_keras_h5_model_load_fires
(self)
tests/unit/test_ai_rules.py:150
Method
test_keras_h5_model_load_metadata
(self)
tests/unit/test_ai_rules.py:144
Method
test_l1_hash_hit_updates_mtime
(self)
tests/unit/ast_cache_test.py:244
Method
test_l1_lru_access_updates_recency
Accessing an entry should protect it from eviction.
tests/unit/ast_cache_test.py:489
Method
test_l1_lru_eviction
L1 must evict LRU entries when max_l1_entries is exceeded.
tests/unit/ast_cache_test.py:471
Method
test_l1_mtime_hit_skips_hash
(self)
tests/unit/ast_cache_test.py:231
Method
test_l2_disk_survives_l1_eviction
(self)
tests/unit/ast_cache_test.py:264
Method
test_l2_stale_on_content_change
(self)
tests/unit/ast_cache_test.py:275
Method
test_large_file_smoke
Cache must handle files with many top-level functions without error.
tests/unit/ast_cache_test.py:574
Method
test_ljust_silent_disabled
(self)
tests/unit/test_a_sink_rules.py:121
Function
test_load_config_defaults_are_copied_before_user_updates
(tmp_path)
tests/unit/test_config.py:49
Function
test_load_config_merges_valid_pyspector_section
(tmp_path)
tests/unit/test_config.py:11
Function
test_load_config_uses_defaults_for_invalid_toml
(tmp_path, capsys)
tests/unit/test_config.py:39
Function
test_load_config_uses_defaults_when_file_is_missing
(tmp_path)
tests/unit/test_config.py:30
Method
test_local_path_not_flagged
Path derived from local constants is safe.
tests/unit/test_taint_engine_extension.py:200
Method
test_local_variable_attr_not_flagged
Local variable not derived from request is safe.
tests/unit/test_taint_engine_extension.py:143
Method
test_matcher_targets_true_keyword_only
(self)
tests/unit/test_ai_rules.py:118
Method
test_mixed
(self)
tests/unit/ast_cache_test.py:62
Method
test_mkdir_failure_degrades_to_no_disk
If the cache directory cannot be created, the cache runs L1-only.
tests/unit/ast_cache_test.py:513
Method
test_module_metadata
(self)
tests/unit/ast_cache_test.py:155
Method
test_moved_chunk_not_reused
(self)
tests/unit/ast_cache_test.py:114
Method
test_non_empty_body_goes_to_children
(self)
tests/unit/ast_cache_test.py:134
Method
test_non_empty_type_ignores_goes_to_children
(self)
tests/unit/ast_cache_test.py:145
Method
test_open1149_still_fires
(self)
tests/unit/test_group_a_rules.py:262
Method
test_order_by_literal_safe
(self)
tests/unit/test_missing_rules.py:128
Method
test_order_by_tainted_fires
(self)
tests/unit/test_missing_rules.py:121
Method
test_output_is_valid_json
(self)
tests/unit/ast_cache_test.py:161
Method
test_output_is_valid_json
(self)
tests/unit/ast_cache_test.py:378
Method
test_output_matches_direct_encode
Cache output must be semantically identical to direct AstEncoder output.
tests/unit/ast_cache_test.py:385
Method
test_path_join_dotdot_in_tests_not_flagged
os.path.join with '..' in test data paths should not be flagged.
tests/unit/test_false_positive_reductions.py:300
Method
test_path_join_propagates_to_open
(self)
tests/unit/test_missing_rules.py:366
Method
test_pattern_matches_torch_load_calls
(self, code)
tests/unit/test_ai_rules.py:194
Method
test_percent_format_in_text_fires
(self)
tests/unit/test_missing_rules.py:96
Method
test_pickle_loads_still_flagged_py002
pickle.loads() MUST still be flagged — it's a true positive.
tests/unit/test_false_positive_reductions.py:353
Method
test_pickle_not_suppressed_by_global_defaults
pickle.loads is a TRUE POSITIVE even in test files — it should still fire because the [defaults] deliberately excludes test paths, an
tests/unit/test_false_positive_reductions.py:333
Method
test_py102_still_fires
(self)
tests/unit/test_group_a_rules.py:255
Method
test_pyyaml_unsafe_fires
(self)
tests/unit/test_missing_rules.py:389
Method
test_raw_tainted_sql_fires
(self)
tests/unit/test_missing_rules.py:114
Method
test_re_compile_not_flagged_py515
re.compile() is regex, not Python code execution — no PY515.
tests/unit/test_false_positive_reductions.py:129
Method
test_re_compile_not_flagged_shell645
re.compile() must not trigger SHELL645.
tests/unit/test_false_positive_reductions.py:139
Method
test_re_compile_not_flagged_shell670
re.compile() must not trigger SHELL670.
tests/unit/test_false_positive_reductions.py:148
Method
test_reject_policy_safe
(self)
tests/unit/test_missing_rules.py:194
Method
test_render_template_string_tainted_fires
(self)
tests/unit/test_missing_rules.py:59
Method
test_resolve_entities_false_safe
(self)
tests/unit/test_missing_rules.py:248
Method
test_resolved_path_used_as_l1_key
The L1 key must always be the resolved (canonical) path.
tests/unit/ast_cache_test.py:445
Method
test_rjust_silent_disabled
(self)
tests/unit/test_a_sink_rules.py:124
Method
test_roundtrip
(self)
tests/unit/ast_cache_test.py:182
Method
test_ruamel_yaml_suppressed
(self, tmp_path)
tests/unit/test_missing_rules.py:394
Method
test_rule_metadata
(self)
tests/unit/test_ai_rules.py:112
Method
test_rule_metadata
(self)
tests/unit/test_ai_rules.py:180
Method
test_safe_loader_not_flagged_py107
yaml.load(..., Loader=SafeLoader) is safe — should not trigger PY107.
tests/unit/test_false_positive_reductions.py:79
Method
test_safe_loader_not_flagged_py302
yaml.load(..., Loader=SafeLoader) should not trigger PY302.
tests/unit/test_false_positive_reductions.py:89
Method
test_safe_parameterized_text_safe
(self)
tests/unit/test_missing_rules.py:102
Method
test_same_file_via_resolve_hits_same_entry
Calling get_ast_json with an already-resolved path must hit L1.
tests/unit/ast_cache_test.py:456
Method
test_sanitizer_clears_http_taint
quote_name sanitizer clears HttpRequest taint → SQL sink silent.
tests/unit/test_semantic_provenance.py:135
Method
test_serialized_is_json_not_pickle
(self)
tests/unit/ast_cache_test.py:192
Method
test_session_data_write_not_flagged
Writing data to request.session is normal Django usage, not session fixation.
tests/unit/test_false_positive_reductions.py:229
Method
test_session_key_assignment_narrowed
After fix, SESS744 has a narrow pattern and no longer fires on data writes.
tests/unit/test_false_positive_reductions.py:240
Method
test_single_function_structure
(self)
tests/unit/ast_cache_test.py:82
Method
test_singleton_reset_yields_new_instance
(self)
tests/unit/ast_cache_test.py:594
Method
test_singleton_same_instance
(self)
tests/unit/ast_cache_test.py:587
Method
test_stale_version_triggers_rebuild
(self)
tests/unit/ast_cache_test.py:291
Method
test_static_template_safe
(self)
tests/unit/test_missing_rules.py:77
Method
test_subprocess_taint_still_fires
PY102 taint flow must still work after engine changes.
tests/unit/test_taint_engine_extension.py:274
Method
test_subscript_source_fires
(self)
tests/unit/test_group_a_rules.py:66
Method
test_symlink816_fires_on_user_controlled_path
Symlink with HttpRequest-tainted source must fire via taint engine.
tests/unit/test_semantic_provenance.py:89
Method
test_symlink816_hardcoded_path_not_flagged
SYMLINK816 is now taint-driven only — no pattern. os.symlink() with non-tainted arguments must not fire.
tests/unit/test_semantic_provenance.py:80
Method
test_syntax_error_not_cached
(self)
tests/unit/ast_cache_test.py:317
Method
test_syntax_error_propagates
(self)
tests/unit/ast_cache_test.py:311
Method
test_system_generated_to_open_silent
SystemGenerated (tempfile.mkstemp) → open() → silent.
tests/unit/test_semantic_provenance.py:114
Method
test_tainted_arg_safe
(self)
tests/unit/test_group_a_rules.py:125
Method
test_tainted_attr_name_fires
(self)
tests/unit/test_group_a_rules.py:59
Method
test_tainted_attr_name_fires
(self)
tests/unit/test_group_a_rules.py:85
Method
test_tainted_attr_propagation_through_variable
Taint must propagate through intermediate variables.
tests/unit/test_taint_engine_extension.py:122
Method
test_tainted_attr_via_django_GET
request.GET.get() → attr → getattr() must fire (Phase 1 new source).
tests/unit/test_taint_engine_extension.py:77
Method
test_tainted_attr_via_django_POST
request.POST.get() as source.
tests/unit/test_taint_engine_extension.py:86
Method
test_tainted_attr_via_flask_args
Flask request.args.get() as source.
tests/unit/test_taint_engine_extension.py:95
Method
test_tainted_attr_via_request_get
request.get() → attr → getattr(obj, attr) must fire.
tests/unit/test_taint_engine_extension.py:68
Method
test_tainted_attr_via_subscript_django
Phase 2: request.GET['key'] subscript as source.
tests/unit/test_taint_engine_extension.py:104
Method
test_tainted_attr_via_subscript_flask
Phase 2: request.args subscript as source.
tests/unit/test_taint_engine_extension.py:113
Method
test_tainted_object_fires
(self)
tests/unit/test_group_a_rules.py:229
Method
test_tainted_parts_silent_disabled
(self)
tests/unit/test_a_sink_rules.py:138
Method
test_tainted_path_via_django_GET_subscript
Phase 2: request.GET['file'] subscript → open().
tests/unit/test_taint_engine_extension.py:169
Method
test_tainted_path_via_flask_form
Flask request.form.get() → open().
tests/unit/test_taint_engine_extension.py:179
Method
test_tainted_path_via_request_get
request.get() → path → open(path) must fire.
tests/unit/test_taint_engine_extension.py:159
← previous
next →
301–400 of 455, ranked by callers