T09 · Insecure Skill Coding Practices
- Location
senticlaw/pipeline.py:8- Finding
Access-control layer is not integrated into the agent execution pipeline
- Content
View full analysis
PipelineResult: cfg, layers, risk = self.cfg, [], RiskLevel.SAFE text = msg.text # Layer 0 — Identity if cfg.layer_identity: ... # Layer 4 — Governance if cfg.layer_governance: ... # Layer 1 — Sanitizer if cfg.layer_sanitizer: ... # Layer 3 — Redactor if cfg.layer_redactor: ... return PipelineResult(...) def check_outbound(self, response: str, session_id: str = "", sender_id: str = "", channel: str = "") -> OutboundResult: cfg = self.cfg if cfg.layer_outbound: ... if cfg.layer_redactor: ... return OutboundResult(allowed=True, response=response) ``` The public API exposes optional path and URL helpers, but no tool check: ```python def check_inbound(self, text: str, sender_id: str = "", channel: str = "", session_id: str = "", metadata: dict | None = None) -> PipelineResult: return self._pipeline.check_inbound( InboundMessage(text=text, sender_id=sender_id, channel=channel, session_id=session_id, metadata=metadata or {})) def check_outbound(self, response: str, session_id: str = "", sender_id: str = "", channel: str = "") -> OutboundResult: return self._pipeline.check_outbound(response, session_id, sender_id, channel) def check_path(self, path: str): from .layers.access import check_path return check_path(path, self._cfg.allowed_dirs) def check_url(self, url: str): from .layers.access import check_url ret ...[truncated 1731 chars]- Remediation
View remediation
