| 205 | # ============================================================ |
| 206 | |
| 207 | class TestRand810: |
| 208 | def test_tainted_seed_fires(self): |
| 209 | code = """ |
| 210 | import random |
| 211 | seed = request.GET.get('seed') |
| 212 | random.seed(seed) |
| 213 | """ |
| 214 | assert fires(code, "RAND810"), "RAND810 must fire: tainted seed to random.seed()" |
| 215 | |
| 216 | def test_constant_seed_safe(self): |
| 217 | code = """ |
| 218 | import random |
| 219 | random.seed(42) |
| 220 | """ |
| 221 | assert not fires(code, "RAND810"), "RAND810 must NOT fire for constant seed" |
| 222 | |
| 223 | |
| 224 | # ============================================================ |
nothing calls this directly
no outgoing calls
no test coverage detected