Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e53b0bd11f | |||
| 0bf992ecbf | |||
| f7fa54c12d |
@@ -16,7 +16,7 @@ jobs:
|
|||||||
target: macos-arm64
|
target: macos-arm64
|
||||||
- os: macos-15-intel
|
- os: macos-15-intel
|
||||||
target: macos-x86_64
|
target: macos-x86_64
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-22.04
|
||||||
target: linux-x86_64
|
target: linux-x86_64
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
target: windows-x86_64
|
target: windows-x86_64
|
||||||
|
|||||||
@@ -9,10 +9,24 @@ if [ ! -f /app/certs/ca.p12 ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Caido enforces a Host allowlist (DNS-rebinding protection) and rejects requests
|
||||||
|
# whose Host header is a hostname it doesn't recognize. To reach Caido over a
|
||||||
|
# hostname (rather than an IP literal), set STRIX_CAIDO_ALLOWED_DOMAINS to a
|
||||||
|
# comma-separated list of hostnames to allow. Unset by default.
|
||||||
|
# See https://docs.caido.io/app/guides/domain_allowlist
|
||||||
|
CAIDO_UI_DOMAIN_ARGS=()
|
||||||
|
if [ -n "${STRIX_CAIDO_ALLOWED_DOMAINS:-}" ]; then
|
||||||
|
IFS=',' read -ra _caido_domains <<< "${STRIX_CAIDO_ALLOWED_DOMAINS}"
|
||||||
|
for _d in "${_caido_domains[@]}"; do
|
||||||
|
[ -n "$_d" ] && CAIDO_UI_DOMAIN_ARGS+=(--ui-domain "$_d")
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
caido-cli --listen 0.0.0.0:${CAIDO_PORT} \
|
caido-cli --listen 0.0.0.0:${CAIDO_PORT} \
|
||||||
--allow-guests \
|
--allow-guests \
|
||||||
--no-logging \
|
--no-logging \
|
||||||
--no-open \
|
--no-open \
|
||||||
|
"${CAIDO_UI_DOMAIN_ARGS[@]}" \
|
||||||
--import-ca-cert /app/certs/ca.p12 \
|
--import-ca-cert /app/certs/ca.p12 \
|
||||||
--import-ca-cert-pass "" > "$CAIDO_LOG" 2>&1 &
|
--import-ca-cert-pass "" > "$CAIDO_LOG" 2>&1 &
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,18 @@ _HANDLER_TAG = "_strix_scan_handler"
|
|||||||
# ``openai.agents`` is the openai-agents SDK's canonical logger root.
|
# ``openai.agents`` is the openai-agents SDK's canonical logger root.
|
||||||
_TRACKED_ROOTS: tuple[str, ...] = ("strix", "openai.agents")
|
_TRACKED_ROOTS: tuple[str, ...] = ("strix", "openai.agents")
|
||||||
|
|
||||||
|
_STDOUT_QUIET_ROOTS: frozenset[str] = frozenset({"openai.agents"})
|
||||||
|
|
||||||
|
|
||||||
|
class _StdoutQuietFilter(logging.Filter):
|
||||||
|
def filter(self, record: logging.LogRecord) -> bool:
|
||||||
|
if record.levelno >= logging.WARNING:
|
||||||
|
return True
|
||||||
|
return not any(
|
||||||
|
record.name == root or record.name.startswith(root + ".")
|
||||||
|
for root in _STDOUT_QUIET_ROOTS
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def configure_dependency_logging() -> None:
|
def configure_dependency_logging() -> None:
|
||||||
"""Quiet dependency logging/warnings that obscure Strix scan logs."""
|
"""Quiet dependency logging/warnings that obscure Strix scan logs."""
|
||||||
@@ -119,6 +131,7 @@ def setup_scan_logging(run_dir: Path, *, debug: bool | None = None) -> Callable[
|
|||||||
stream_handler.setLevel(logging.DEBUG if debug else logging.ERROR)
|
stream_handler.setLevel(logging.DEBUG if debug else logging.ERROR)
|
||||||
stream_handler.setFormatter(formatter)
|
stream_handler.setFormatter(formatter)
|
||||||
stream_handler.addFilter(context_filter)
|
stream_handler.addFilter(context_filter)
|
||||||
|
stream_handler.addFilter(_StdoutQuietFilter())
|
||||||
setattr(stream_handler, _HANDLER_TAG, True)
|
setattr(stream_handler, _HANDLER_TAG, True)
|
||||||
|
|
||||||
tracked_loggers = [logging.getLogger(name) for name in _TRACKED_ROOTS]
|
tracked_loggers = [logging.getLogger(name) for name in _TRACKED_ROOTS]
|
||||||
|
|||||||
Reference in New Issue
Block a user