Audit Report
symbiotic-sh/core
22fb7fb08233 · ran in 30.2s · bundle d8eeb73f
Overall score
1.2 /4
Inadequate
Risk class
HIGH
1
Code passed
6 / 47
Attestation Yes
0
Outstanding ext.
1
CODE-CHECKED CLAUSES
- Strong6
- Adequate0
- Partial14
- Inadequate5
- Absent22
ATTESTATION QUESTIONS
- Yes0
- No0
- Not Applicable0
- Outstanding0
Harm
Don't hurt people
0.9/4
Inadequate
Truth
Don't deceive people
0.9/4
Inadequate
Responsibility
Don't abuse power
0.8/4
Inadequate
Order
Don't destabilize society
2.7/4
Adequate
⚠ 1 outstanding external confirmations — required for a complete Annex IV dossier. Complete now →
Safety
Don't harm people0.5/4Inadequate8 clauses▸
Safety
Don't harm peopleABSENTRisk management system established, implemented, documented EU AI Act, Art 90/3 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/3 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- presence_of_risk_register
- presence_of_threat_model
- ci_eval_gates
PARTIALAppropriate level of accuracy declared and tested EU AI Act, Art 15(1) skip2/3 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.55 (2/3 rules matched).
▸Evidence · 2 hits— click to view code
Suggested fix · we looked for these and found none
- eval_in_ci
ABSENTResilience to errors, faults, inconsistencies EU AI Act, Art 15(4)0/3 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/3 rules matched).
Suggested fix · we looked for these and found none
- error_handling_at_tool_boundaries
- retry_logic
- fallback_behaviour
ABSENTRisks and benefits to people identified NIST AI RMF, Art MAP 3.40/2 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/2 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- presence_of_risk_register
- presence_of_threat_model
PARTIALAI system performance evaluated and documented NIST AI RMF, Art MEASURE 2.3 skip2/3 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.55 (2/3 rules matched).
▸Evidence · 2 hits— click to view code
Suggested fix · we looked for these and found none
- eval_in_ci
ABSENTData protection impact assessment (DPIA) GDPR, Art 350/1 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- presence_of_dpia
ABSENTAI risk assessment process ISO/IEC 42001, Art 6.10/2 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/2 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- presence_of_risk_register
- risk_assessment_methodology_documented
ABSENTOperational planning and control ISO/IEC 42001, Art 8.10/2 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/2 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- presence_of_runbook
- presence_of_ci_workflows
Privacy
Respect boundaries1.6/4Partial6 clauses▸
Privacy
Respect boundariesABSENTUntargeted facial image scraping for face databases EU AI Act, Art 5(1)(e)1/1 rules0/4
▸
0/4
Why we flagged it
Composite raw score 1.00 (1/1 rules matched).
▸Evidence · 6 hits— click to view code
/// Build system fingerprint. BuildSystem, /// CI configuration. CiConfig, /// Test-command wiring — docs referenced a sc
ass 3: build-system fingerprint. for manifest in [ "Cargo.toml", "package.json", "pyproject.toml", "go.m
ize, /// Stable fingerprint of the agent identity for correlation/provenance. #[serde(default)] pub agent_fingerprint: String,
omium, Page } from 'playwright'; interface ScriptInput { domain: string; username: string; password: string; totp_code?: string; }{ chromium } from 'playwright'; interface ScriptInput { domain: string; username: string; password: string; totp_code?: string; }…and 1 more.
STRONGEmotion recognition in workplace and education EU AI Act, Art 5(1)(f)0/1 rules4/4
▸
4/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched).
Suggested fix · we looked for these and found none
- detect_emotion_recognition_in_workplace_education
EXTERNALReal-time remote biometric identification in public spaces EU AI Act, Art 5(1)(h)EXT▸
Why we flagged it
Deployment context (public space, real-time, law enforcement use, judicial authorisation) is operational, not knowable from code. Always external.
ABSENTData and data governance practices documented EU AI Act, Art 100/3 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.10 (0/3 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 2 hits— click to view code
<p>Hello</p><script>fetch('/exfil?'+document.cookie)</script></body></html>end + Sync { fn fetch(&self, url: &Url) -> Result<FetchedContent>; } pub trait IntakeStore: Send + Sync { fn exists(&self, idempoteSuggested fix · we looked for these and found none
- presence_of_data_card
- data_loading_code_quality
- bias_evaluation_present
PARTIALPrivacy risk of the AI system evaluated NIST AI RMF, Art MEASURE 2.8 skip1/2 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.50 (1/2 rules matched).
▸Evidence · 6 hits— click to view code
symbiotic_context::redact_pii; /// Maximum number of iterations before the loop terminates. const MAX_ITERATIONS: usize = 10; /// Maximum
/// Whether to redact PII from the agent's final output before returning. /// Defaults to `true`. Set to `false` for debugging or t
scenarios. pub redact_output: bool, } impl Default for AgentExecConfig { fn default() -> Self { Self { system_: None, redact_output: true, } } } /// Conditionally apply PII redaction to an execution result's output. fn maybe_
itionally apply PII redaction to an execution result's output. fn maybe_redact(mut result: ExecutionResult, redact: bool) -> ExecutionResult
…and 1 more.
Suggested fix · we looked for these and found none
- privacy_documentation
PARTIALData protection by design and by default GDPR, Art 25 skip1/2 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.50 (1/2 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 4 hits— click to view code
redact
redacted
redaction
redaction
Suggested fix · we looked for these and found none
- default_minimal_data_collection
Transparency
Don't deceive people0.7/4Inadequate6 clauses▸
Transparency
Don't deceive peopleSTRONGSubliminal techniques distorting behaviour EU AI Act, Art 5(1)(a)0/1 rules4/4
▸
4/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched).
Suggested fix · we looked for these and found none
- detect_manipulative_prompt_patterns
ABSENTTransparent operation and instructions for use EU AI Act, Art 130/3 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.13 (0/3 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 3 hits— click to view code
1 required sections present
Suggested fix · we looked for these and found none
- presence_of_deployer_instructions
- output_interpretation_guidance
- limitations_section_present
ABSENTAI-generated content marked as such, machine-readable EU AI Act, Art 50(2)0/2 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/2 rules matched).
Suggested fix · we looked for these and found none
- c2pa_or_watermark_library_imported
- provenance_metadata_written_to_outputs
ABSENTEmotion recognition / biometric categorisation disclosure EU AI Act, Art 50(3)0/1 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched).
▸Evidence · 1 hit— click to view code
Suggested fix · we looked for these and found none
- emotion_or_biometric_disclosure_string
ABSENTDeepfake content labelled as artificially generated EU AI Act, Art 50(4)0/1 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched).
Suggested fix · we looked for these and found none
- deepfake_label_on_outputs
ABSENTPrinciples relating to processing of personal data GDPR, Art 50/2 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/2 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- presence_of_privacy_policy
- purpose_limitation_documented
Auditability
Actions must be traceable1.0/4Inadequate8 clauses▸
Auditability
Actions must be traceableABSENTTechnical documentation drawn up before placing on market EU AI Act, Art 110/3 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.07 (0/3 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 1 hit— click to view code
1 required sections present
Suggested fix · we looked for these and found none
- presence_of_model_card
- readme_quality
- architecture_docs
INADEQUATEAutomatic recording of events over the lifetime EU AI Act, Art 12(1) skip1/3 rules1/4
▸
1/4
Why we flagged it
Composite raw score 0.34 (1/3 rules matched).
▸Evidence · 4 hits— click to view code
e server is ready console.log(`READY:${port}`); });::fs::write(&path, "console.log('ok')\n").expect("write script"); let mut reg = ScriptRegistry::empty(); reg.register("githe server is ready console.log(`READY:${port}`); });::fs::write(&path, "console.log('ok')\n").expect("write script"); let mut reg = ScriptRegistry::empty(); reg.register("githSuggested fix · we looked for these and found none
- structured_logging_imported
- logging_persistent_sink
PARTIALLogging ensures traceability appropriate to risk EU AI Act, Art 12(2) skip2/3 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.44 (2/3 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 4 hits— click to view code
e server is ready console.log(`READY:${port}`); });::fs::write(&path, "console.log('ok')\n").expect("write script"); let mut reg = ScriptRegistry::empty(); reg.register("githe server is ready console.log(`READY:${port}`); });::fs::write(&path, "console.log('ok')\n").expect("write script"); let mut reg = ScriptRegistry::empty(); reg.register("githSuggested fix · we looked for these and found none
- logs_include_request_id
INADEQUATEContext of use established and understood NIST AI RMF, Art MAP 1.10/2 rules1/4
▸
1/4
Why we flagged it
Composite raw score 0.15 (0/2 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 2 hits— click to view code
1 required sections present
Suggested fix · we looked for these and found none
- intended_use_documented
- deployment_context_documented
INADEQUATEPost-deployment monitoring, appeal and override, change management NIST AI RMF, Art MANAGE 4.1 skip1/4 rules1/4
▸
1/4
Why we flagged it
Composite raw score 0.33 (1/4 rules matched).
▸Evidence · 4 hits— click to view code
print("") raise SystemExit(0) try: data = json.loads(payload) except Exception: print("") raise SystemExit(0) value = data fprint("") raise SystemExit(0) value = data for part in field.split('.'): if isinstance(value, dict): value = value.get(part)print("") raise SystemExit(0) try: data = json.loads(payload) except Exception: print("") raise SystemExit(0) value = data fprint("") raise SystemExit(0) value = data for part in sys.argv[1].split('.'): if isinstance(value, dict): value = value.getSuggested fix · we looked for these and found none
- feedback_capture_present
- structured_logging_imported
- versioning_visible
ABSENTRecords of processing activities GDPR, Art 300/1 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- presence_of_processing_register
INADEQUATEDocumented information for the AI management system ISO/IEC 42001, Art 7.50/2 rules1/4
▸
1/4
Why we flagged it
Composite raw score 0.20 (0/2 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 1 hit— click to view code
Suggested fix · we looked for these and found none
- presence_of_versioned_docs
- docs_changelog_present
PARTIALMonitoring, measurement, analysis and evaluation ISO/IEC 42001, Art 9.1 skip2/2 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.50 (2/2 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 3 hits— click to view code
e server is ready console.log(`READY:${port}`); });::fs::write(&path, "console.log('ok')\n").expect("write script"); let mut reg = ScriptRegistry::empty(); reg.register("githAccountability
Don't abuse power0.3/4Absent6 clauses▸
Accountability
Don't abuse powerPARTIALDeployer log-retention capability supported EU AI Act, Art 26(6) skip1/1 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.50 (1/1 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 2 hits— click to view code
e server is ready console.log(`READY:${port}`); });::fs::write(&path, "console.log('ok')\n").expect("write script"); let mut reg = ScriptRegistry::empty(); reg.register("githABSENTRisk management process documented and accountable NIST AI RMF, Art GOVERN 1.40/2 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/2 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- presence_of_risk_register
- risk_owner_assignment
ABSENTOngoing monitoring and periodic review of risk management NIST AI RMF, Art GOVERN 1.50/2 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/2 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- ci_eval_gates
- drift_monitoring_present
ABSENTLeadership and commitment for AI management ISO/IEC 42001, Art 5.10/2 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/2 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- presence_of_ai_policy
- leadership_signoff_evidence
ABSENTRoles, responsibilities and authorities ISO/IEC 42001, Art 5.30/1 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- presence_of_raci_or_owners
ABSENTInternal organization controls ISO/IEC 42001, Art A.50/1 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- presence_of_codeowners
Human Oversight
Humans stay in control1.4/4Inadequate5 clauses▸
Human Oversight
Humans stay in controlABSENTEffective human oversight designed and built-in EU AI Act, Art 14(1)0/3 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/3 rules matched).
Suggested fix · we looked for these and found none
- human_in_loop_hooks_present
- oversight_ui_present
- tool_calls_have_dry_run
PARTIALInterrupt / stop function reachable by overseer EU AI Act, Art 14(4)(d) skip1/2 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.63 (1/2 rules matched).
▸Evidence · 4 hits— click to view code
print("") raise SystemExit(0) try: data = json.loads(payload) except Exception: print("") raise SystemExit(0) value = data fprint("") raise SystemExit(0) value = data for part in field.split('.'): if isinstance(value, dict): value = value.get(part)print("") raise SystemExit(0) try: data = json.loads(payload) except Exception: print("") raise SystemExit(0) value = data fprint("") raise SystemExit(0) value = data for part in sys.argv[1].split('.'): if isinstance(value, dict): value = value.getSuggested fix · we looked for these and found none
- graceful_shutdown_handler
PARTIALAbility to override / reverse the system's output EU AI Act, Art 14(4)(e) skip1/2 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.54 (1/2 rules matched).
▸Evidence · 4 hits— click to view code
print("") raise SystemExit(0) try: data = json.loads(payload) except Exception: print("") raise SystemExit(0) value = data fprint("") raise SystemExit(0) value = data for part in field.split('.'): if isinstance(value, dict): value = value.get(part)print("") raise SystemExit(0) try: data = json.loads(payload) except Exception: print("") raise SystemExit(0) value = data fprint("") raise SystemExit(0) value = data for part in sys.argv[1].split('.'): if isinstance(value, dict): value = value.getSuggested fix · we looked for these and found none
- decisions_are_addressable
PARTIALMechanisms to supersede or deactivate AI systems NIST AI RMF, Art MANAGE 2.3 skip1/2 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.54 (1/2 rules matched).
▸Evidence · 4 hits— click to view code
print("") raise SystemExit(0) try: data = json.loads(payload) except Exception: print("") raise SystemExit(0) value = data fprint("") raise SystemExit(0) value = data for part in field.split('.'): if isinstance(value, dict): value = value.get(part)print("") raise SystemExit(0) try: data = json.loads(payload) except Exception: print("") raise SystemExit(0) value = data fprint("") raise SystemExit(0) value = data for part in sys.argv[1].split('.'): if isinstance(value, dict): value = value.getSuggested fix · we looked for these and found none
- feature_flag_for_disable
INADEQUATEAutomated individual decision-making, including profiling GDPR, Art 22 skip1/2 rules1/4
▸
1/4
Why we flagged it
Composite raw score 0.36 (1/2 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 4 hits— click to view code
print("") raise SystemExit(0) try: data = json.loads(payload) except Exception: print("") raise SystemExit(0) value = data fprint("") raise SystemExit(0) value = data for part in field.split('.'): if isinstance(value, dict): value = value.get(part)print("") raise SystemExit(0) try: data = json.loads(payload) except Exception: print("") raise SystemExit(0) value = data fprint("") raise SystemExit(0) value = data for part in sys.argv[1].split('.'): if isinstance(value, dict): value = value.getSuggested fix · we looked for these and found none
- human_review_path_present
Fairness
Treat people fairly3.2/4Adequate5 clauses▸
Fairness
Treat people fairlySTRONGExploiting vulnerabilities (age, disability, socio-economic) EU AI Act, Art 5(1)(b)0/1 rules4/4
▸
4/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched).
Suggested fix · we looked for these and found none
- detect_protected_attribute_targeting
STRONGSocial scoring leading to detrimental treatment EU AI Act, Art 5(1)(c)0/1 rules4/4
▸
4/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched). Supporting docs may exist outside the repo.
Suggested fix · we looked for these and found none
- detect_scoring_with_persistent_user_state
STRONGPredictive policing solely from profiling EU AI Act, Art 5(1)(d)0/1 rules4/4
▸
4/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched).
Suggested fix · we looked for these and found none
- detect_crime_risk_scoring_from_profile
STRONGBiometric categorisation by protected attributes EU AI Act, Art 5(1)(g)0/1 rules4/4
▸
4/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched).
Suggested fix · we looked for these and found none
- detect_biometric_categorisation_by_protected_attrs
ABSENTFairness and bias evaluated NIST AI RMF, Art MEASURE 2.110/1 rules0/4
▸
0/4
Why we flagged it
Composite raw score 0.00 (0/1 rules matched).
Suggested fix · we looked for these and found none
- bias_evaluation_present
Security & Governance
Don't destabilize society2.0/4Partial4 clauses▸
Security & Governance
Don't destabilize societyPARTIALCybersecurity measures appropriate to circumstances EU AI Act, Art 15(5) skip2/4 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.60 (2/4 rules matched).
▸Evidence · 12 hits— click to view code
detection. //! //! Prompt-injection attacks often lean on **delimiter confusion** — nesting //! code fences, mixing Markdown and XML, stuff
//! Classic prompt-injection phrase + role-token detection. //! //! Rules here are deliberately conservative — every regex is review
\b(developer\s+mode|jailbreak|dan\s+mode|sudo\s+mode)\b")); static NEW_PERSONA: Lazy<Regex> = Lazy::new(|| ci(r"\byour\s+(new|real|true
//! Prompt-injection heuristics used by Stage B. //! //! All heuristics return a `Vec<HeuristicHit>`. Stage B combines the h
r the classic //! prompt-injection surface ("ignore previous instructions", role tokens, //! tool-call impersonation). //! - [`delimiter…and 7 more.
Suggested fix · we looked for these and found none
- secrets_not_in_prompts
- adversarial_eval_present
PARTIALSecurity and resilience evaluated NIST AI RMF, Art MEASURE 2.7 skip2/3 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.60 (2/3 rules matched).
▸Evidence · 12 hits— click to view code
detection. //! //! Prompt-injection attacks often lean on **delimiter confusion** — nesting //! code fences, mixing Markdown and XML, stuff
//! Classic prompt-injection phrase + role-token detection. //! //! Rules here are deliberately conservative — every regex is review
\b(developer\s+mode|jailbreak|dan\s+mode|sudo\s+mode)\b")); static NEW_PERSONA: Lazy<Regex> = Lazy::new(|| ci(r"\byour\s+(new|real|true
//! Prompt-injection heuristics used by Stage B. //! //! All heuristics return a `Vec<HeuristicHit>`. Stage B combines the h
r the classic //! prompt-injection surface ("ignore previous instructions", role tokens, //! tool-call impersonation). //! - [`delimiter…and 7 more.
Suggested fix · we looked for these and found none
- adversarial_eval_present
PARTIALSecurity of processing GDPR, Art 32 skip1/2 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.50 (1/2 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 4 hits— click to view code
https://example.com
https://ollama.ai/download
https://gw.example/v1
https://example.com/flux.git
Suggested fix · we looked for these and found none
- access_control_enforcement
PARTIALResources for AI systems ISO/IEC 42001, Art A.7 skip1/2 rules2/4
▸
2/4
Why we flagged it
Composite raw score 0.50 (1/2 rules matched). Supporting docs may exist outside the repo.
▸Evidence · 1 hit— click to view code
Suggested fix · we looked for these and found none
- presence_of_security_policy