izm1chael commited on
Commit
89a57a1
·
verified ·
1 Parent(s): aa4a77f

Publish Layerfault deep challenge LF-CH-NEG-0002

Browse files
CHALLENGE_ORACLE.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "attack_surface": [
3
+ "false-positive-resistance"
4
+ ],
5
+ "control_type": "negative",
6
+ "corpus_id": "LF-CH-NEG-0002",
7
+ "difficulty": "intermediate",
8
+ "expected_decision": "PASS",
9
+ "ground_truth": "synthetic-generated",
10
+ "layerfault_rule_expectations": {
11
+ "candidate_rules": [],
12
+ "expected_rules": [],
13
+ "must_not_rules": [
14
+ "LF-CODE-EVAL",
15
+ "LF-PY-CALL-DYNAMIC-CODE"
16
+ ]
17
+ },
18
+ "oracle_ids": [
19
+ "LF-ORACLE-FALSE-POSITIVE-CONTROL"
20
+ ],
21
+ "related_cases": [],
22
+ "repo_name": "near-miss-python-eval-string",
23
+ "safe_fixture": true,
24
+ "schema": 2,
25
+ "severity": "informational",
26
+ "techniques": [
27
+ "quoted-code"
28
+ ],
29
+ "transformations": []
30
+ }
FIXTURE_LAYOUT.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "artifacts": [
3
+ "control.py"
4
+ ],
5
+ "family": "negative",
6
+ "note": "All content is synthetic and inert. Do not treat this as a production model.",
7
+ "repo_name": "near-miss-python-eval-string"
8
+ }
LAYERFAULT_CORPUS.json ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "candidate_rules": [],
3
+ "challenge": {
4
+ "attack_surface": [
5
+ "false-positive-resistance"
6
+ ],
7
+ "control_type": "negative",
8
+ "difficulty": "intermediate",
9
+ "expected_decision": "PASS",
10
+ "oracle_ids": [
11
+ "LF-ORACLE-FALSE-POSITIVE-CONTROL"
12
+ ],
13
+ "related_cases": [],
14
+ "severity": "informational",
15
+ "techniques": [
16
+ "quoted-code"
17
+ ],
18
+ "transformations": []
19
+ },
20
+ "corpus_id": "LF-CH-NEG-0002",
21
+ "description": "Python string documents eval syntax without executing it.",
22
+ "expected_rules": [],
23
+ "generator": "challenges.generate_challenge",
24
+ "ground_truth": "synthetic-generated",
25
+ "must_not_rules": [
26
+ "LF-CODE-EVAL",
27
+ "LF-PY-CALL-DYNAMIC-CODE"
28
+ ],
29
+ "repo_name": "near-miss-python-eval-string",
30
+ "repo_type": "model",
31
+ "safe_fixture": true,
32
+ "safety": "inert/canary-only",
33
+ "schema": 1,
34
+ "validation": {
35
+ "kind": "verify-package",
36
+ "target": "."
37
+ }
38
+ }
README.md ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ # near-miss-python-eval-string
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-NEG-0002`
30
+
31
+ ## Purpose
32
+
33
+ Python string documents eval syntax without executing it.
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
+ - None
45
+
46
+ ## Negative-control rules
47
+
48
+ These should remain silent for this corpus item.
49
+
50
+ - `LF-CODE-EVAL`
51
+ - `LF-PY-CALL-DYNAMIC-CODE`
52
+
53
+ ## Safety
54
+
55
+ The corpus uses fake secrets, loopback/`.invalid` network destinations, harmless marker output,
56
+ and synthetic model behavior only. It is intended for static scanning and isolated security testing.
57
+
58
+ ## Challenge classification
59
+
60
+ - Severity: **informational**
61
+ - Difficulty: **intermediate**
62
+ - Expected admission decision: **PASS**
63
+ - Control type: **negative**
64
+ - Attack surface: false-positive-resistance
65
+ - Techniques: quoted-code
66
+ - Transformations: none
67
+
68
+ ### Ground-truth oracle IDs
69
+
70
+ - `LF-ORACLE-FALSE-POSITIVE-CONTROL`
71
+
72
+ These oracle IDs describe synthetic ground truth. They do not claim that a
73
+ matching Layerfault detector already exists. A challenge may intentionally expose
74
+ 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": "79a0f3c69e60d9612967a9819806b4d25f63a0f776f2dc8aa765945829d314fe",
5
+ "size": 675
6
+ },
7
+ {
8
+ "path": "FIXTURE_LAYOUT.json",
9
+ "sha256": "e95571523dd9abe99898ba1a80d14cbfc74e0ee671ccce1117824ebdf88b20fd",
10
+ "size": 203
11
+ },
12
+ {
13
+ "path": "LAYERFAULT_CORPUS.json",
14
+ "sha256": "f10019beddc936a5dd7a6be1d8b2fdce3d36676c499f88138f598f7a1347612b",
15
+ "size": 928
16
+ },
17
+ {
18
+ "path": "README.md",
19
+ "sha256": "453098e1ff9e34bb6ec81025cdb467950f017c257701714b64feb5e3bedb0d6d",
20
+ "size": 2286
21
+ },
22
+ {
23
+ "path": "control.py",
24
+ "sha256": "373575186030dc0d4b329e8b7036b8c84dc28192c2a6f3b996ba0ec334bf7b8b",
25
+ "size": 76
26
+ }
27
+ ]
control.py ADDED
@@ -0,0 +1 @@
 
 
1
+ DOCUMENTATION = "eval(user_input) is unsafe; this string is never executed"