fix(reports): redact internal export references

This commit is contained in:
Jesse_Chen
2026-09-04 02:18:36 +08:00
parent 9c987bebc3
commit 175e825cea
2 changed files with 28 additions and 1 deletions
+11 -1
View File
@@ -16856,6 +16856,9 @@ _PROFESSIONAL_REPORT_REFERENCE_INTERNAL_VALUE = re.compile(
r'|\.py(?:::|\b)'
r'|\braw_full_reading\b'
r'|\bjyotish_engine\.'
r'|\breferences[\\/]oracle[\\/]'
r'|\byoga_engine\b'
r'|\bpath\s*='
r'|\b[a-zA-Z_][a-zA-Z0-9_]*_(?:engine|service|adapter|contract|producer)\.[A-Za-z_]'
r')'
)
@@ -16867,6 +16870,9 @@ _PROFESSIONAL_REPORT_REFERENCE_INTERNAL_TEXT = re.compile(
r'|\bscripts?[\\/][A-Za-z0-9_.\\/-]+'
r'|\b[A-Za-z_][A-Za-z0-9_]*\.py::[A-Za-z_][A-Za-z0-9_.]*'
r'|\bjyotish_engine\.[A-Za-z_][A-Za-z0-9_.]*'
r'|\breferences[\\/]oracle[\\/][A-Za-z0-9_.\\/-]+'
r'|\byoga_engine\b'
r'|\bpath\s*=\s*[^\s`\"\'|)\]]+'
r'|\b[a-zA-Z_][a-zA-Z0-9_]*_(?:engine|service|adapter|contract|producer)\.[A-Za-z_][A-Za-z0-9_.]*'
r'|/(?:Users|home|private|tmp)/[^\s`\"\'|)\]]+'
r'|[A-Za-z]:\\[^\s`\"\'|)\]]+'
@@ -16916,7 +16922,11 @@ def sanitize_professional_report_reference(value, *, field_name=None):
for key, item in value.items():
key_text = str(key)
normalized_key = key_text.strip().lower()
if normalized_key in _PROFESSIONAL_REPORT_REFERENCE_OMITTED_KEYS or normalized_key.endswith('_path'):
if (
normalized_key in _PROFESSIONAL_REPORT_REFERENCE_OMITTED_KEYS
or normalized_key.endswith('_path')
or _PROFESSIONAL_REPORT_REFERENCE_INTERNAL_VALUE.search(key_text)
):
continue
sanitized_item = sanitize_professional_report_reference(item, field_name=key_text)
if sanitized_item is not None:
@@ -101,6 +101,8 @@ def test_public_markdown_sanitizer_removes_renderer_authored_internal_references
"| audit | `raw_full_reading.modules.private_engine` |\n"
"source=scripts/private_engine.py::compute path=/Users/example/report.json "
"call=jyotish_engine.cmd_full_reading\n"
"oracle=references/oracle/private_status.json module=yoga_engine "
"path=relative/private_report.json\n"
)
sanitized = sanitize_professional_report_reference_markdown(unsafe)
@@ -110,16 +112,25 @@ def test_public_markdown_sanitizer_removes_renderer_authored_internal_references
assert ".py::" not in sanitized
assert "/Users/" not in sanitized
assert "jyotish_engine." not in sanitized
assert "references/oracle/" not in sanitized
assert "yoga_engine" not in sanitized
assert "path=" not in sanitized
def test_public_sanitizer_removes_raw_paths_and_internal_python_references() -> None:
unsafe = {
"raw_full_reading": {"modules": {"private": True}},
"fixture_path": "/Users/example/references/oracle.json",
"references/oracle/private_key.json": {"status": "blocked"},
"yoga_engine": {"status": "executed"},
"path=relative/private_key.json": "blocked",
"nested": {
"source_path": "/private/tmp/capture.json",
"reason": "scripts/yoga_engine.py::YogaContext failed",
"callable": "jyotish_engine.cmd_full_reading",
"oracle_reference": "references/oracle/private_status.json",
"module": "yoga_engine",
"trace": "path=relative/private_report.json",
"plain": "parameter_sensitive",
},
}
@@ -132,8 +143,14 @@ def test_public_sanitizer_removes_raw_paths_and_internal_python_references() ->
assert "scripts/" not in rendered
assert ".py::" not in rendered
assert "jyotish_engine." not in rendered
assert "references/oracle/" not in rendered
assert "yoga_engine" not in rendered
assert "path=" not in rendered
assert sanitized["nested"]["plain"] == "parameter_sensitive"
assert sanitized["nested"]["reason"] == "internal_reference_omitted"
assert sanitized["nested"]["oracle_reference"] == "internal_reference_omitted"
assert sanitized["nested"]["module"] == "internal_reference_omitted"
assert sanitized["nested"]["trace"] == "internal_reference_omitted"
@pytest.mark.parametrize(