Spaces:
Sleeping
Sleeping
| # fix_conn_map_xss.py | |
| with open('frontend/js/app.js', 'r', encoding='utf-8') as f: | |
| content = f.read() | |
| # Find the exact pattern using a simpler anchor | |
| old = "onclick=\"EvidencePanel.open('${sanitize(e.connected_id||'')}','${sanitize(e.connected_to||'')}')\">" | |
| new = "data-eid=\"${sanitize(e.connected_id||'')}\"\n data-ename=\"${sanitize(e.connected_to||'')}\"\n onclick=\"EvidencePanel.open(this.getAttribute('data-eid'),this.getAttribute('data-ename'))\">" | |
| if old in content: | |
| content = content.replace(old, new) | |
| print('OK: connection map evidence onclick fixed with data-* attrs') | |
| else: | |
| print('WARNING: trying alternate search...') | |
| # Try finding just a portion | |
| if "EvidencePanel.open('${sanitize(e.connected_id" in content: | |
| print('Found partial -- the exact quoting is different in your file') | |
| print('Showing context around EvidencePanel.open in connection map:') | |
| idx = content.find("EvidencePanel.open('${sanitize(e.connected_id") | |
| print(repr(content[idx-50:idx+150])) | |
| else: | |
| print('Pattern not found at all') | |
| # Fix data-eid on Find Shortest Path button (unsanitized entityId) | |
| old2 = 'data-eid="${entityId}"' | |
| new2 = 'data-eid="${sanitize(entityId)}"' | |
| if old2 in content: | |
| content = content.replace(old2, new2) | |
| print('OK: path-finder data-eid sanitized') | |
| else: | |
| print('INFO: path-finder data-eid pattern not found (may already be sanitized)') | |
| with open('frontend/js/app.js', 'w', encoding='utf-8') as f: | |
| f.write(content) | |
| print('Done') | |