mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-16 19:59:26 +00:00
feat(propose-adjudicate-prove): overlay adjudicates inventory before prove
Regex inventory stays the proposer. MAP attaches promote/demote/unadjudicated/coverage from intra-file taint (tree-sitter when a grammar parses, Python ast as last resort). Deep sandboxes promotions only, ordered by the existing heuristic ranker plus optional OpenRouter mechanism recall. The SAST pair slice scores overlay outcomes; the stage-1 detection gate and local pair gate stay inventory-only.
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
'''
|
||||
OWASP Benchmark for Python v0.1
|
||||
|
||||
This file is part of the Open Web Application Security Project (OWASP) Benchmark Project.
|
||||
For details, please see https://owasp.org/www-project-benchmark.
|
||||
|
||||
The OWASP Benchmark is free software: you can redistribute it and/or modify it under the terms
|
||||
of the GNU General Public License as published by the Free Software Foundation, version 3.
|
||||
|
||||
The OWASP Benchmark is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
Author: Theo Cartsonis
|
||||
Created: 2025
|
||||
'''
|
||||
|
||||
from flask import redirect, url_for, request, make_response, render_template
|
||||
from helpers.utils import escape_for_html
|
||||
|
||||
def init(app):
|
||||
|
||||
@app.route('/benchmark/hash-00/BenchmarkTest00054', methods=['GET'])
|
||||
def BenchmarkTest00054_get():
|
||||
response = make_response(render_template('web/hash-00/BenchmarkTest00054.html'))
|
||||
response.set_cookie('BenchmarkTest00054', 'someSecret',
|
||||
max_age=60*3,
|
||||
secure=True,
|
||||
path=request.path,
|
||||
domain='localhost')
|
||||
return response
|
||||
return BenchmarkTest00054_post()
|
||||
|
||||
@app.route('/benchmark/hash-00/BenchmarkTest00054', methods=['POST'])
|
||||
def BenchmarkTest00054_post():
|
||||
RESPONSE = ""
|
||||
|
||||
import urllib.parse
|
||||
param = urllib.parse.unquote_plus(request.cookies.get("BenchmarkTest00054", "noCookieValueSupplied"))
|
||||
|
||||
string26833 = ''
|
||||
data12 = ''
|
||||
copy = string26833
|
||||
string26833 = ''
|
||||
string26833 += param
|
||||
copy += 'SomeOKString'
|
||||
bar = copy
|
||||
|
||||
import hashlib, base64
|
||||
import io, helpers.utils
|
||||
|
||||
input = ''
|
||||
if isinstance(bar, str):
|
||||
input = bar.encode('utf-8')
|
||||
elif isinstance(bar, io.IOBase):
|
||||
input = bar.read(1000)
|
||||
|
||||
if len(input) == 0:
|
||||
RESPONSE += (
|
||||
'Cannot generate hash: Input was empty.'
|
||||
)
|
||||
return RESPONSE
|
||||
|
||||
hash = hashlib.new('md5')
|
||||
hash.update(input)
|
||||
|
||||
result = hash.digest()
|
||||
f = open(f'{helpers.utils.TESTFILES_DIR}/passwordFile.txt', 'a')
|
||||
f.write(f'hash_value={base64.b64encode(result)}\n')
|
||||
RESPONSE += (
|
||||
f'Sensitive value \'{helpers.utils.escape_for_html(input.decode('utf-8'))}\' hashed and stored.'
|
||||
)
|
||||
f.close()
|
||||
|
||||
return RESPONSE
|
||||
|
||||
Reference in New Issue
Block a user