izm1chael commited on
Commit
37b2105
·
verified ·
1 Parent(s): 1c4a129

Publish Layerfault deep challenge LF-CH-SCRX-0002

Browse files
CHALLENGE_ORACLE.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "attack_surface": [
3
+ "script-supply-chain"
4
+ ],
5
+ "control_type": "positive",
6
+ "corpus_id": "LF-CH-SCRX-0002",
7
+ "difficulty": "intermediate",
8
+ "expected_decision": "WARN",
9
+ "ground_truth": "synthetic-generated",
10
+ "layerfault_rule_expectations": {
11
+ "candidate_rules": [
12
+ "LF-PY-CALL-DYNAMIC-CODE"
13
+ ],
14
+ "expected_rules": [],
15
+ "must_not_rules": []
16
+ },
17
+ "oracle_ids": [
18
+ "LF-ORACLE-SCRX-0002"
19
+ ],
20
+ "related_cases": [],
21
+ "repo_name": "script-python-indirect-import",
22
+ "safe_fixture": true,
23
+ "schema": 2,
24
+ "severity": "medium",
25
+ "techniques": [
26
+ "python",
27
+ "indirect",
28
+ "import"
29
+ ],
30
+ "transformations": []
31
+ }
FIXTURE_LAYOUT.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "artifacts": [
3
+ "loader.py"
4
+ ],
5
+ "family": "scriptx",
6
+ "note": "All content is synthetic and inert. Do not treat this as a production model.",
7
+ "repo_name": "script-python-indirect-import"
8
+ }
LAYERFAULT_CORPUS.json ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidate_rules": [
3
+ "LF-PY-CALL-DYNAMIC-CODE"
4
+ ],
5
+ "challenge": {
6
+ "attack_surface": [
7
+ "script-supply-chain"
8
+ ],
9
+ "control_type": "positive",
10
+ "difficulty": "intermediate",
11
+ "expected_decision": "WARN",
12
+ "oracle_ids": [
13
+ "LF-ORACLE-SCRX-0002"
14
+ ],
15
+ "related_cases": [],
16
+ "severity": "medium",
17
+ "techniques": [
18
+ "python",
19
+ "indirect",
20
+ "import"
21
+ ],
22
+ "transformations": []
23
+ },
24
+ "corpus_id": "LF-CH-SCRX-0002",
25
+ "description": "Script python indirect import.",
26
+ "expected_rules": [],
27
+ "generator": "challenges.generate_challenge",
28
+ "ground_truth": "synthetic-generated",
29
+ "must_not_rules": [],
30
+ "repo_name": "script-python-indirect-import",
31
+ "repo_type": "model",
32
+ "safe_fixture": true,
33
+ "safety": "inert/canary-only",
34
+ "schema": 1,
35
+ "validation": {
36
+ "kind": "verify-package",
37
+ "target": "."
38
+ }
39
+ }
README.md ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ tags:
4
+ - layerfault
5
+ - security-research
6
+ - model-security
7
+ - synthetic
8
+ - adversarial-testing
9
+ extra_gated_prompt: >-
10
+ This repository is a synthetic security-test artifact from the Layerfault
11
+ corpus. It intentionally contains adversarial characteristics (e.g.
12
+ suspicious pickle opcodes, executable-format smuggling, prompt-injection
13
+ strings) designed to exercise security scanner detection rules. It is
14
+ **not** a usable ML model and must never be loaded or executed outside an
15
+ isolated scanner-testing environment. By accepting, you confirm you
16
+ understand this repository is a test fixture, not production model
17
+ weights.
18
+ extra_gated_button_content: I understand this is a security test fixture and accept the risk
19
+ gated: auto
20
+ ---
21
+
22
+ # script-python-indirect-import
23
+
24
+ > **SECURITY TEST ARTIFACT: DO NOT USE AS A PRODUCTION MODEL**
25
+
26
+ This repository is part of the Layerfault synthetic security corpus.
27
+ It is deliberately constructed to contain security-relevant characteristics for scanner testing.
28
+
29
+ **Corpus ID:** `LF-CH-SCRX-0002`
30
+
31
+ ## Purpose
32
+
33
+ Script python indirect import.
34
+
35
+ ## Direct expected Layerfault rules
36
+
37
+ - None; this repository is a control/comparison input.
38
+
39
+ ## Candidate rules
40
+
41
+ These are deliberately plausible targets that remain marked as candidates until the exact
42
+ Layerfault build used for certification confirms them.
43
+
44
+ - `LF-PY-CALL-DYNAMIC-CODE`
45
+
46
+ ## Negative-control rules
47
+
48
+ These should remain silent for this corpus item.
49
+
50
+ - None
51
+
52
+ ## Safety
53
+
54
+ The corpus uses fake secrets, loopback/`.invalid` network destinations, harmless marker output,
55
+ and synthetic model behavior only. It is intended for static scanning and isolated security testing.
56
+
57
+ ## Challenge classification
58
+
59
+ - Severity: **medium**
60
+ - Difficulty: **intermediate**
61
+ - Expected admission decision: **WARN**
62
+ - Control type: **positive**
63
+ - Attack surface: script-supply-chain
64
+ - Techniques: python, indirect, import
65
+ - Transformations: none
66
+
67
+ ### Ground-truth oracle IDs
68
+
69
+ - `LF-ORACLE-SCRX-0002`
70
+
71
+ These oracle IDs describe synthetic ground truth. They do not claim that a
72
+ matching Layerfault detector already exists. A challenge may intentionally expose
73
+ a scanner blind spot and remain unmapped until the detector is implemented.
SHA256SUMS.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "path": "CHALLENGE_ORACLE.json",
4
+ "sha256": "9d40a66196cadb32eb70246bfc99beb53089406ed6188efa85143613671e484e",
5
+ "size": 654
6
+ },
7
+ {
8
+ "path": "FIXTURE_LAYOUT.json",
9
+ "sha256": "4bcb30fc67b8efa4c56f7243c74d3e831865eec5216f7854cc6a2c00513b0da8",
10
+ "size": 202
11
+ },
12
+ {
13
+ "path": "LAYERFAULT_CORPUS.json",
14
+ "sha256": "f7cf505fa4f22b0db7b11f63fde9485636156e04b17d9c3cf7684b8caae3360c",
15
+ "size": 886
16
+ },
17
+ {
18
+ "path": "README.md",
19
+ "sha256": "1fb1f8ce516cbd7b957d9dc9f147e339b00997a32505c6c5ddd47982e746923c",
20
+ "size": 2231
21
+ },
22
+ {
23
+ "path": "loader.py",
24
+ "sha256": "68088b364ca48fcc2d24dd9ca90cfc2b4fdd808b847f2d8cb8280f5321cfa134",
25
+ "size": 87
26
+ }
27
+ ]
loader.py ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ import importlib
2
+ NAME="subprocess"
3
+ def fixture(): return importlib.import_module(NAME)