From 4ce729a14e151d917ba59ad5df472328ddcb7d09 Mon Sep 17 00:00:00 2001 From: Rahul Date: Mon, 20 Jul 2026 18:08:58 +0530 Subject: [PATCH 1/8] test: add demo files for QWED Security v1.1 validation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds three files to exercise engine pipeline: - examples/qwed_security_test.py — tests pattern_scan, python_ast, taint_analysis, DEMO_CODE context - .qwed.yml — tests policy_config engine - examples/demo_widget.js — tests js_patterns engine with clean code --- .qwed.yml | 2 ++ examples/demo_widget.js | 3 +++ examples/qwed_security_test.py | 8 ++++++++ 3 files changed, 13 insertions(+) create mode 100644 .qwed.yml create mode 100644 examples/demo_widget.js create mode 100644 examples/qwed_security_test.py diff --git a/.qwed.yml b/.qwed.yml new file mode 100644 index 0000000..6a46578 --- /dev/null +++ b/.qwed.yml @@ -0,0 +1,2 @@ +treat_unknown_as_block: true +ignore_patterns_in_tests: true diff --git a/examples/demo_widget.js b/examples/demo_widget.js new file mode 100644 index 0000000..1b55f17 --- /dev/null +++ b/examples/demo_widget.js @@ -0,0 +1,3 @@ +const display = (text) => { + document.getElementById("out").textContent = text; +}; diff --git a/examples/qwed_security_test.py b/examples/qwed_security_test.py new file mode 100644 index 0000000..7261029 --- /dev/null +++ b/examples/qwed_security_test.py @@ -0,0 +1,8 @@ +"""Demonstrates QWED Security scanning capabilities.""" + +API_KEY = "QWED_TEST_DEMO_VALUE" + + +def run_demo(): + user_data = input("Enter expression: ") + print(f"You entered: {user_data}") From c083d3320197a0a7f8b0e4c853eb09ffbdefe9d8 Mon Sep 17 00:00:00 2001 From: Rahul Date: Tue, 21 Jul 2026 02:18:12 +0530 Subject: [PATCH 2/8] test: add taint sink for v1.2 validation --- examples/qwed_security_test.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/examples/qwed_security_test.py b/examples/qwed_security_test.py index 7261029..e979213 100644 --- a/examples/qwed_security_test.py +++ b/examples/qwed_security_test.py @@ -1,4 +1,4 @@ -"""Demonstrates QWED Security scanning capabilities.""" +"""Demonstrates QWED Security v1.2 scanning capabilities.""" API_KEY = "QWED_TEST_DEMO_VALUE" @@ -6,3 +6,9 @@ def run_demo(): user_data = input("Enter expression: ") print(f"You entered: {user_data}") + + +def run_tainted(): + expression = input("Enter expression: ") + result = eval(expression) + print(f"Result: {result}") From 0e4dd908bf7d1c3241ba608aaf88fa26ff94728c Mon Sep 17 00:00:00 2001 From: Rahul Date: Tue, 21 Jul 2026 02:44:46 +0530 Subject: [PATCH 3/8] test: bump version string for v1.3 re-check --- examples/qwed_security_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/qwed_security_test.py b/examples/qwed_security_test.py index e979213..5348967 100644 --- a/examples/qwed_security_test.py +++ b/examples/qwed_security_test.py @@ -1,4 +1,4 @@ -"""Demonstrates QWED Security v1.2 scanning capabilities.""" +"""Demonstrates QWED Security v1.3 scanning capabilities.""" API_KEY = "QWED_TEST_DEMO_VALUE" From ada41621230245a437f76f9f0aaa15220aa9d163 Mon Sep 17 00:00:00 2001 From: Rahul Date: Tue, 21 Jul 2026 08:08:06 +0530 Subject: [PATCH 4/8] test: bump version for v1.4 re-check --- examples/qwed_security_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/qwed_security_test.py b/examples/qwed_security_test.py index 5348967..72b6b53 100644 --- a/examples/qwed_security_test.py +++ b/examples/qwed_security_test.py @@ -1,4 +1,4 @@ -"""Demonstrates QWED Security v1.3 scanning capabilities.""" +"""Demonstrates QWED Security v1.4 scanning capabilities.""" API_KEY = "QWED_TEST_DEMO_VALUE" From 837094c6b219ef41a060e68945ca805d4b2f61fd Mon Sep 17 00:00:00 2001 From: Rahul Date: Mon, 27 Jul 2026 17:13:33 +0530 Subject: [PATCH 5/8] test: trigger QWED Security Phase 3 pipeline scan From 15e917fa0128aaf6a57772ef0b04ca2bf761c7f3 Mon Sep 17 00:00:00 2001 From: Rahul Date: Mon, 27 Jul 2026 17:46:30 +0530 Subject: [PATCH 6/8] test: add runtime secret to verify HARD BLOCK on PR #214 --- src/qwed_new/security_hard_block_test.py | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/qwed_new/security_hard_block_test.py diff --git a/src/qwed_new/security_hard_block_test.py b/src/qwed_new/security_hard_block_test.py new file mode 100644 index 0000000..3f50427 --- /dev/null +++ b/src/qwed_new/security_hard_block_test.py @@ -0,0 +1,3 @@ +"""Test file to verify QWED Security RUNTIME_CODE Hard Block.""" + +prod_api_secret_key = "SuperSecretProductionTokenValue999!" \ No newline at end of file From 9dd27e60da9bd6cff7b02dfa0666f0404de0a0c4 Mon Sep 17 00:00:00 2001 From: Rahul Date: Mon, 27 Jul 2026 17:49:24 +0530 Subject: [PATCH 7/8] test: add runtime secret in RUNTIME_CODE file to verify HARD BLOCK --- src/qwed_new/runtime_secret_demo.py | 3 +++ src/qwed_new/security_hard_block_test.py | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 src/qwed_new/runtime_secret_demo.py delete mode 100644 src/qwed_new/security_hard_block_test.py diff --git a/src/qwed_new/runtime_secret_demo.py b/src/qwed_new/runtime_secret_demo.py new file mode 100644 index 0000000..030ab5b --- /dev/null +++ b/src/qwed_new/runtime_secret_demo.py @@ -0,0 +1,3 @@ +"""Runtime module containing an un-sanitized hardcoded production secret.""" + +prod_api_secret_key = "SuperSecretProductionTokenValue999!" \ No newline at end of file diff --git a/src/qwed_new/security_hard_block_test.py b/src/qwed_new/security_hard_block_test.py deleted file mode 100644 index 3f50427..0000000 --- a/src/qwed_new/security_hard_block_test.py +++ /dev/null @@ -1,3 +0,0 @@ -"""Test file to verify QWED Security RUNTIME_CODE Hard Block.""" - -prod_api_secret_key = "SuperSecretProductionTokenValue999!" \ No newline at end of file From 840b0fbdee07ac9b05e9afa24b446fbe4ba0f29c Mon Sep 17 00:00:00 2001 From: Rahul Date: Mon, 27 Jul 2026 18:15:58 +0530 Subject: [PATCH 8/8] test: re-check runtime secret regex