docs: refresh OWASP ASI06 and ASI09 mapping - #3675
docs: refresh OWASP ASI06 and ASI09 mapping#3675Kerberosmansour (kerberosmansour) wants to merge 1 commit into
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
PR Review Summary
Verdict: AI review comments are untrusted advisory output. The summary reports workflow-generated completion status only, not model-authored pass/fail claims. |
|
🟡 Contributor Check: MEDIUM
Automated check by AGT Contributor Check. |
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Signed-off-by: kerberosmansour <13433538+kerberosmansour@users.noreply.github.com>
99892b1 to
8679432
Compare
Imran Siddique (imran-siddique)
left a comment
There was a problem hiding this comment.
Checked the ASI06 claims against the module rather than reading the prose, because a compliance mapping is a claim about the code and the failure mode is that it drifts ahead of it.
Everything asserted is backed. agent-governance-python/agent-os/src/agent_os/memory_guard.py defines MemoryGuard.validate_write, which calls _check_injection_patterns, _check_code_injection and _check_unicode_manipulation; MemoryEntry.compute_hash is SHA-256 over the UTF-8 content; verify_integrity exists for the post-read check; and _audit_log with AuditRecord backs the write audit trail. The AlertType members line up with the categories the doc names.
Two things make this the right kind of mapping update, and they are worth saying because the opposite is so easy to write.
The ratings stay
The Known Gap got more specific rather than softer. "No dedicated memory-sandbox or context-integrity module" became a statement that MemoryGuard is opt-in, that applications and framework adapters must place it on their actual read/write path, and that AGT cannot guarantee coverage for an external memory provider that has not integrated it. That is a harder thing to write about your own project than the sentence it replaces, and it is the sentence an assessor actually needs: the control exists, and whether it is on the path is the integrator's problem.
ASI09 follows the same pattern, keeping Partial while naming require_approval as a suspended fail-closed decision bound to the action digest, and calling out the absent universal UI integration rather than implying approval backends close the gap.
I verified ASI06 against the code and read ASI09 without checking each backend claim, so treat my confidence as high on the first and reasonable on the second.
The Validate docs frontmatter red earlier today was the stale-branch artifact from before #3619 merged, and it is green now.
No approve bit on this repo, so a comment, but I would merge it.
Summary
MemoryGuardcontrols and their opt-in integration boundaryRoot cause
The mapping lagged behind current implementation evidence and described the ASI06 and ASI09 gaps too broadly. This update distinguishes capabilities that exist from integrations that remain application responsibilities.
Validation
python scripts/docs/check_links.py— 0 new broken linkspython scripts/docs/check_frontmatter.py— passed with one unrelated pre-existing warningCloses #3672
Tracking