security-scan gate (shared felhom.eu/scripts/security_scan_gate.py) in the fast set and CI, warn-first, with the accepted-hits file and decoys (R-986)
gates / gates (push) Successful in 1m30s
gates / gates (push) Successful in 1m30s
This commit is contained in:
1 parent
56aabc729c
commit
84ef5818d5
5 files changed
+57
No files matched your search
@@ -69,6 +69,11 @@ COVERS = {
|
||||
"gofmt": "R-1160: an unformatted .go file planted under internal/ of a SCRATCH copy is convicted by name - vs the "
|
||||
"same tree formatted (passes); with no gofmt reachable, CI passes OUT LOUD and a dev machine is "
|
||||
"INCONCLUSIVE, never a silent pass",
|
||||
"security-scan": "R-986: the shared gate's own decoys (felhom.eu scripts/test_security_scan_gate.py, 8 cases in "
|
||||
"SCRATCH git repos: a planted token listed by rule and file, its value never printed; a second "
|
||||
"secret on another line of an accepted file still listed; a called govulncheck finding listed, "
|
||||
"an imported-only one not; no tool is NOT CHECKED out loud), run from here; plus the gate on THIS "
|
||||
"repo's tree: exit 0 and its summary line (warn-first - the listing is the fact)",
|
||||
"gate-decoys": "this suite, run as a gate of agent_gates.py's full run, which CI runs on every push (R-1116): "
|
||||
"every case above is a decoy of its own gate, and ONE case that stops convicting turns the run "
|
||||
"red - red-proved 2026-10-17 by flipping a reuse-refs FACT case to expect rc 0",
|
||||
@@ -372,6 +377,20 @@ def shared_cases(ws):
|
||||
u"the same minute.**\n", 0)
|
||||
|
||||
|
||||
def security_cases():
|
||||
"""R-986: the shared scanner's decoys (they build their own scratch repos), then the gate on this repo."""
|
||||
suite = os.path.join(SHARED, "test_security_scan_gate.py")
|
||||
gate = os.path.join(SHARED, "security_scan_gate.py")
|
||||
for f in (suite, gate):
|
||||
if not os.path.isfile(f):
|
||||
fails.append("shared %s is MISSING beside this clone - a failure, never a skip" % f)
|
||||
return
|
||||
rc, out = run([sys.executable, suite], ROOT)
|
||||
report("security-scan: the shared gate's 8 decoys", rc, out, 0, ("all 8 cases passed",))
|
||||
rc, out = run([sys.executable, gate, ROOT], ROOT)
|
||||
report("security-scan: GENUINE: this repo, warn-first", rc, out, 0, ("security-scan:", "govulncheck"))
|
||||
|
||||
|
||||
def main():
|
||||
srv = Server(("127.0.0.1", 0), Handler)
|
||||
threading.Thread(target=srv.serve_forever, daemon=True).start()
|
||||
@@ -383,6 +402,7 @@ def main():
|
||||
release_cases(base, ws)
|
||||
shared_cases(ws)
|
||||
gofmt_cases(ws)
|
||||
security_cases()
|
||||
finally:
|
||||
srv.shutdown()
|
||||
srv.server_close()
|
||||
|
||||
Reference in new issue
Block a user