testResults.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<test-results xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="nunit_schema_2.5.xsd" name="Pester" total="83" errors="0" failures="18" not-run="0" inconclusive="0" ignored="0" skipped="0" invalid="0" date="2026-03-11" time="20:29:28">
  <environment nunit-version="2.5.8.0" user-domain="DESKTOP-GKSQ125" platform="Microsoft Windows 11 专业版|C:\WINDOWS|\Device\Harddisk0\Partition5" os-version="10.0.22631" cwd="F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules" machine-name="DESKTOP-GKSQ125" clr-version="8.0.21" user="zhangky" />
  <culture-info current-culture="zh-CN" current-uiculture="zh-CN" />
  <test-suite type="TestFixture" name="Pester" executed="True" result="Failure" success="False" time="51.8679" asserts="0" description="Pester">
    <results>
      <test-suite type="TestFixture" name="F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1" executed="True" result="Failure" success="False" time="51.8679" asserts="0" description="F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1">
        <results>
          <test-suite type="TestFixture" name="Tests for PSSec.HardcodedCredential" executed="True" result="Success" success="True" time="2.6768" asserts="0" description="Tests for PSSec.HardcodedCredential">
            <results>
              <test-case description="Should detect hardcoded password assignment" name="Tests for PSSec.HardcodedCredential.Should detect hardcoded password assignment" time="1.0862" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect hardcoded default credential parameter" name="Tests for PSSec.HardcodedCredential.Should detect hardcoded default credential parameter" time="0.7849" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect hardcoded credential comparison" name="Tests for PSSec.HardcodedCredential.Should detect hardcoded credential comparison" time="0.7766" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.SqlInjection" executed="True" result="Failure" success="False" time="4.4456" asserts="0" description="Tests for PSSec.SqlInjection">
            <results>
              <test-case description="Should detect dynamic SQL with string interpolation" name="Tests for PSSec.SqlInjection.Should detect dynamic SQL with string interpolation" time="0.9053" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.SqlInjection', but got @('PSSec.NoSqlInjection', 'PSSec.SqlInjection', 'PSSec.SqlInjection', 'PSSec.NoSqlInjection', 'PSSec.SqlInjection', 'PSSec.SqlInjection').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.SqlInjection", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:87
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:87</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should detect CommandText assignment with concatenation" name="Tests for PSSec.SqlInjection.Should detect CommandText assignment with concatenation" time="0.8581" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.SqlInjection', but got @('PSSec.SqlInjection', 'PSSec.SqlInjection').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.SqlInjection", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:101
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:101</stack-trace>
                </failure>
              </test-case>
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.PathTraversal" executed="True" result="Success" success="True" time="6.0779" asserts="0" description="Tests for PSSec.PathTraversal">
            <results>
              <test-case description="Should detect tainted variable used as Get-Content path" name="Tests for PSSec.PathTraversal.Should detect tainted variable used as Get-Content path" time="0.8135" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect tainted variable in .NET file API" name="Tests for PSSec.PathTraversal.Should detect tainted variable in .NET file API" time="0.8139" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.Xss" executed="True" result="Failure" success="False" time="8.3045" asserts="0" description="Tests for PSSec.Xss">
            <results>
              <test-case description="Should detect tainted URL passed to Navigate" name="Tests for PSSec.Xss.Should detect tainted URL passed to Navigate" time="0.7235" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.Xss', but got @('PSSec.Xss', 'PSSec.Xss').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.Xss", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:151
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:151</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should detect tainted comment rendered via Write" name="Tests for PSSec.Xss.Should detect tainted comment rendered via Write" time="0.7376" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.Xss', but got @('PSSec.Xss', 'PSSec.Xss').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.Xss", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:164
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:164</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should allow encoded output before sink" name="Tests for PSSec.Xss.Should allow encoded output before sink" time="0.7612" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.InsecureDeserialization" executed="True" result="Failure" success="False" time="10.2791" asserts="0" description="Tests for PSSec.InsecureDeserialization">
            <results>
              <test-case description="Should detect tainted json passed to JsonSerializer.Deserialize" name="Tests for PSSec.InsecureDeserialization.Should detect tainted json passed to JsonSerializer.Deserialize" time="0.6391" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.InsecureDeserialization', but got @('PSSec.InsecureDeserialization', 'PSSec.InsecureDeserialization', 'PSSec.PathTraversal').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.InsecureDeserialization", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:200
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:200</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should detect tainted input in ConvertFrom-Json" name="Tests for PSSec.InsecureDeserialization.Should detect tainted input in ConvertFrom-Json" time="0.6677" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.InsecureDeserialization', but got @('PSSec.InsecureDeserialization', 'PSSec.InsecureDeserialization').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.InsecureDeserialization", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:213
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:213</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should allow constant json deserialization" name="Tests for PSSec.InsecureDeserialization.Should allow constant json deserialization" time="0.6586" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.OldTlsProtocol" executed="True" result="Success" success="True" time="11.4607" asserts="0" description="Tests for PSSec.OldTlsProtocol">
            <results>
              <test-case description="Should detect old TLS protocol enum" name="Tests for PSSec.OldTlsProtocol.Should detect old TLS protocol enum" time="0.6046" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow TLS 1.2" name="Tests for PSSec.OldTlsProtocol.Should allow TLS 1.2" time="0.5733" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.OutdatedCrypto" executed="True" result="Success" success="True" time="12.6297" asserts="0" description="Tests for PSSec.OutdatedCrypto">
            <results>
              <test-case description="Should detect SHA1 provider" name="Tests for PSSec.OutdatedCrypto.Should detect SHA1 provider" time="0.5844" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow SHA256 provider" name="Tests for PSSec.OutdatedCrypto.Should allow SHA256 provider" time="0.5811" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.Xxe" executed="True" result="Failure" success="False" time="14.4646" asserts="0" description="Tests for PSSec.Xxe">
            <results>
              <test-case description="Should detect insecure XmlDocument settings with tainted input" name="Tests for PSSec.Xxe.Should detect insecure XmlDocument settings with tainted input" time="0.6084" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.Xxe', but got @('PSSec.Xxe', 'PSSec.Xxe').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.Xxe", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:305
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:305</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should detect insecure XmlReaderSettings with DTD parse" name="Tests for PSSec.Xxe.Should detect insecure XmlReaderSettings with DTD parse" time="0.5979" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.Xxe', but got @('PSSec.Xxe', 'PSSec.Xxe').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.Xxe", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:322
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:322</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should allow secure XmlReaderSettings" name="Tests for PSSec.Xxe.Should allow secure XmlReaderSettings" time="0.6254" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.Xee" executed="True" result="Failure" success="False" time="15.696" asserts="0" description="Tests for PSSec.Xee">
            <results>
              <test-case description="Should detect XML entity expansion risk with unbounded settings" name="Tests for PSSec.Xee.Should detect XML entity expansion risk with unbounded settings" time="0.605" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.Xee', but got @('PSSec.Xee', 'PSSec.Xxe', 'PSSec.Xee', 'PSSec.Xxe').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.Xee", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:359
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:359</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should allow bounded and non-parse settings" name="Tests for PSSec.Xee.Should allow bounded and non-parse settings" time="0.612" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.SessionTimeout" executed="True" result="Failure" success="False" time="17.382" asserts="0" description="Tests for PSSec.SessionTimeout">
            <results>
              <test-case description="Should detect negative timeout assignment" name="Tests for PSSec.SessionTimeout.Should detect negative timeout assignment" time="0.5061" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.SessionTimeout', but got @('PSSec.SessionTimeout', 'PSSec.SessionTimeout').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.SessionTimeout", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:392
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:392</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should detect excessive timeout assignment" name="Tests for PSSec.SessionTimeout.Should detect excessive timeout assignment" time="0.6372" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.SessionTimeout', but got @('PSSec.SessionTimeout', 'PSSec.SessionTimeout').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.SessionTimeout", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:405
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:405</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should allow normal timeout assignment" name="Tests for PSSec.SessionTimeout.Should allow normal timeout assignment" time="0.5394" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.Ssrf" executed="True" result="Failure" success="False" time="19.1518" asserts="0" description="Tests for PSSec.Ssrf">
            <results>
              <test-case description="Should detect tainted URL in Invoke-WebRequest" name="Tests for PSSec.Ssrf.Should detect tainted URL in Invoke-WebRequest" time="0.6474" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.Ssrf', but got @('PSSec.Ssrf', 'PSSec.Ssrf').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.Ssrf", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:433
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:433</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should detect tainted endpoint in Invoke-RestMethod" name="Tests for PSSec.Ssrf.Should detect tainted endpoint in Invoke-RestMethod" time="0.5689" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.Ssrf', but got @('PSSec.Ssrf', 'PSSec.Ssrf').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.Ssrf", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:446
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:446</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should allow constant URL request" name="Tests for PSSec.Ssrf.Should allow constant URL request" time="0.5504" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.LogInjection" executed="True" result="Failure" success="False" time="20.9444" asserts="0" description="Tests for PSSec.LogInjection">
            <results>
              <test-case description="Should detect tainted message in Write-EventLog" name="Tests for PSSec.LogInjection.Should detect tainted message in Write-EventLog" time="0.592" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.LogInjection', but got @('PSSec.LogInjection', 'PSSec.LogInjection').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.LogInjection", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:473
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:473</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should detect tainted message in Add-Content" name="Tests for PSSec.LogInjection.Should detect tainted message in Add-Content" time="0.5909" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.LogInjection', but got @('PSSec.LogInjection', 'PSSec.LogInjection').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.LogInjection", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:486
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:486</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should allow escaped message before logging" name="Tests for PSSec.LogInjection.Should allow escaped message before logging" time="0.6064" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.LdapInjection" executed="True" result="Success" success="True" time="22.789" asserts="0" description="Tests for PSSec.LdapInjection">
            <results>
              <test-case description="Should detect tainted LDAP filter assignment" name="Tests for PSSec.LdapInjection.Should detect tainted LDAP filter assignment" time="0.5981" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect tainted LDAPFilter command parameter" name="Tests for PSSec.LdapInjection.Should detect tainted LDAPFilter command parameter" time="0.6008" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow escaped LDAP values" name="Tests for PSSec.LdapInjection.Should allow escaped LDAP values" time="0.6423" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.SensitiveErrorExposure" executed="True" result="Failure" success="False" time="24.604" asserts="0" description="Tests for PSSec.SensitiveErrorExposure">
            <results>
              <test-case description="Should detect stack trace exposure in catch" name="Tests for PSSec.SensitiveErrorExposure.Should detect stack trace exposure in catch" time="0.5793" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.SensitiveErrorExposure', but got @('PSSec.SensitiveErrorExposure', 'PSSec.SensitiveErrorExposure').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.SensitiveErrorExposure", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:567
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:567</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should detect raw exception output in catch" name="Tests for PSSec.SensitiveErrorExposure.Should detect raw exception output in catch" time="0.6134" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.SensitiveErrorExposure', but got @('PSSec.SensitiveErrorExposure', 'PSSec.SensitiveErrorExposure').</message>
                  <stack-trace>at $result.RuleName | Should -Be "PSSec.SensitiveErrorExposure", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:586
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:586</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should allow generic error message" name="Tests for PSSec.SensitiveErrorExposure.Should allow generic error message" time="0.6189" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.XPathInjection" executed="True" result="Success" success="True" time="26.3296" asserts="0" description="Tests for PSSec.XPathInjection">
            <results>
              <test-case description="Should detect tainted XPath expression in Evaluate" name="Tests for PSSec.XPathInjection.Should detect tainted XPath expression in Evaluate" time="0.5277" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect tainted XPath in Select-Xml" name="Tests for PSSec.XPathInjection.Should detect tainted XPath in Select-Xml" time="0.6147" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow escaped XPath values" name="Tests for PSSec.XPathInjection.Should allow escaped XPath values" time="0.58" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.OpenRedirect" executed="True" result="Success" success="True" time="28.0081" asserts="0" description="Tests for PSSec.OpenRedirect">
            <results>
              <test-case description="Should detect tainted URL in Redirect" name="Tests for PSSec.OpenRedirect.Should detect tainted URL in Redirect" time="0.5226" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect tainted URL in RedirectPermanent" name="Tests for PSSec.OpenRedirect.Should detect tainted URL in RedirectPermanent" time="0.6463" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow IsLocalUrl validated redirect" name="Tests for PSSec.OpenRedirect.Should allow IsLocalUrl validated redirect" time="0.5063" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.TaintedConfig" executed="True" result="Success" success="True" time="29.7924" asserts="0" description="Tests for PSSec.TaintedConfig">
            <results>
              <test-case description="Should detect tainted config in connection string" name="Tests for PSSec.TaintedConfig.Should detect tainted config in connection string" time="0.6542" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect tainted config command argument" name="Tests for PSSec.TaintedConfig.Should detect tainted config command argument" time="0.4944" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow allowlisted configuration value" name="Tests for PSSec.TaintedConfig.Should allow allowlisted configuration value" time="0.6327" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.VulnerablePackage" executed="True" result="Success" success="True" time="31.4039" asserts="0" description="Tests for PSSec.VulnerablePackage">
            <results>
              <test-case description="Should detect vulnerable Google.Protobuf version" name="Tests for PSSec.VulnerablePackage.Should detect vulnerable Google.Protobuf version" time="0.4819" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect vulnerable SSH.NET version" name="Tests for PSSec.VulnerablePackage.Should detect vulnerable SSH.NET version" time="0.5829" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow non-vulnerable package version" name="Tests for PSSec.VulnerablePackage.Should allow non-vulnerable package version" time="0.5434" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.ReDoS" executed="True" result="Success" success="True" time="33.0707" asserts="0" description="Tests for PSSec.ReDoS">
            <results>
              <test-case description="Should detect unsafe regex with tainted input" name="Tests for PSSec.ReDoS.Should detect unsafe regex with tainted input" time="0.5575" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect inline unsafe regex pattern" name="Tests for PSSec.ReDoS.Should detect inline unsafe regex pattern" time="0.5778" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow safe regex pattern" name="Tests for PSSec.ReDoS.Should allow safe regex pattern" time="0.5283" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.NoSqlInjection" executed="True" result="Success" success="True" time="34.9496" asserts="0" description="Tests for PSSec.NoSqlInjection">
            <results>
              <test-case description="Should detect tainted NoSQL filter string" name="Tests for PSSec.NoSqlInjection.Should detect tainted NoSQL filter string" time="0.6535" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect tainted NoSQL command filter" name="Tests for PSSec.NoSqlInjection.Should detect tainted NoSQL command filter" time="0.5471" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow typed NoSQL filter object" name="Tests for PSSec.NoSqlInjection.Should allow typed NoSQL filter object" time="0.675" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.ZipSlip" executed="True" result="Success" success="True" time="36.071" asserts="0" description="Tests for PSSec.ZipSlip">
            <results>
              <test-case description="Should detect tainted entry name used in ExtractToFile path" name="Tests for PSSec.ZipSlip.Should detect tainted entry name used in ExtractToFile path" time="0.5101" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow validated extraction full path" name="Tests for PSSec.ZipSlip.Should allow validated extraction full path" time="0.608" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.InvisibleCharacter" executed="True" result="Success" success="True" time="37.1886" asserts="0" description="Tests for PSSec.InvisibleCharacter">
            <results>
              <test-case description="Should detect zero-width space in code" name="Tests for PSSec.InvisibleCharacter.Should detect zero-width space in code" time="0.6188" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow normal visible text" name="Tests for PSSec.InvisibleCharacter.Should allow normal visible text" time="0.4955" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.CookieInjection" executed="True" result="Success" success="True" time="38.3828" asserts="0" description="Tests for PSSec.CookieInjection">
            <results>
              <test-case description="Should detect tainted value used for HttpCookie" name="Tests for PSSec.CookieInjection.Should detect tainted value used for HttpCookie" time="0.5915" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow validated cookie value" name="Tests for PSSec.CookieInjection.Should allow validated cookie value" time="0.5994" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.ExternallyControlledFormatString" executed="True" result="Success" success="True" time="39.5161" asserts="0" description="Tests for PSSec.ExternallyControlledFormatString">
            <results>
              <test-case description="Should detect tainted format string in string.Format" name="Tests for PSSec.ExternallyControlledFormatString.Should detect tainted format string in string.Format" time="0.5125" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow constant format string" name="Tests for PSSec.ExternallyControlledFormatString.Should allow constant format string" time="0.6176" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.ExcessiveFilePermission" executed="True" result="Success" success="True" time="40.6473" asserts="0" description="Tests for PSSec.ExcessiveFilePermission">
            <results>
              <test-case description="Should detect overly broad chmod numeric mode" name="Tests for PSSec.ExcessiveFilePermission.Should detect overly broad chmod numeric mode" time="0.4879" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow least-privilege chmod mode" name="Tests for PSSec.ExcessiveFilePermission.Should allow least-privilege chmod mode" time="0.6402" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.PredictableRandomSeed" executed="True" result="Success" success="True" time="41.7258" asserts="0" description="Tests for PSSec.PredictableRandomSeed">
            <results>
              <test-case description="Should detect constant random seed" name="Tests for PSSec.PredictableRandomSeed.Should detect constant random seed" time="0.4952" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow cryptographic RNG usage" name="Tests for PSSec.PredictableRandomSeed.Should allow cryptographic RNG usage" time="0.58" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.CustomCryptographicAlgorithm" executed="True" result="Success" success="True" time="42.9586" asserts="0" description="Tests for PSSec.CustomCryptographicAlgorithm">
            <results>
              <test-case description="Should detect class extending HashAlgorithm" name="Tests for PSSec.CustomCryptographicAlgorithm.Should detect class extending HashAlgorithm" time="0.5946" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow standard SHA256 usage" name="Tests for PSSec.CustomCryptographicAlgorithm.Should allow standard SHA256 usage" time="0.635" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Tests for PSSec.UnrestrictedPosixPermission" executed="True" result="Success" success="True" time="44.1773" asserts="0" description="Tests for PSSec.UnrestrictedPosixPermission">
            <results>
              <test-case description="Should detect chmod granting rights to others" name="Tests for PSSec.UnrestrictedPosixPermission.Should detect chmod granting rights to others" time="0.5516" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow removing others permissions" name="Tests for PSSec.UnrestrictedPosixPermission.Should allow removing others permissions" time="0.664" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Example tests for PSSec.ExcessiveFilePermission" executed="True" result="Success" success="True" time="46.0149" asserts="0" description="Example tests for PSSec.ExcessiveFilePermission">
            <results>
              <test-case description="Should detect Vulnerable_ExcessiveFilePermission_1.ps1" name="Example tests for PSSec.ExcessiveFilePermission.Should detect Vulnerable_ExcessiveFilePermission_1.ps1" time="0.57" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect Vulnerable_ExcessiveFilePermission_2.ps1" name="Example tests for PSSec.ExcessiveFilePermission.Should detect Vulnerable_ExcessiveFilePermission_2.ps1" time="0.6163" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow Safe_ExcessiveFilePermission_1.ps1" name="Example tests for PSSec.ExcessiveFilePermission.Should allow Safe_ExcessiveFilePermission_1.ps1" time="0.6479" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Example tests for PSSec.PredictableRandomSeed" executed="True" result="Success" success="True" time="47.7139" asserts="0" description="Example tests for PSSec.PredictableRandomSeed">
            <results>
              <test-case description="Should detect Vulnerable_PredictableRandomSeed_1.ps1" name="Example tests for PSSec.PredictableRandomSeed.Should detect Vulnerable_PredictableRandomSeed_1.ps1" time="0.5153" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect Vulnerable_PredictableRandomSeed_2.ps1" name="Example tests for PSSec.PredictableRandomSeed.Should detect Vulnerable_PredictableRandomSeed_2.ps1" time="0.6378" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow Safe_PredictableRandomSeed_1.ps1" name="Example tests for PSSec.PredictableRandomSeed.Should allow Safe_PredictableRandomSeed_1.ps1" time="0.5426" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Example tests for PSSec.CustomCryptographicAlgorithm" executed="True" result="Failure" success="False" time="49.5575" asserts="0" description="Example tests for PSSec.CustomCryptographicAlgorithm">
            <results>
              <test-case description="Should detect Vulnerable_CustomCryptographicAlgorithm_1.ps1" name="Example tests for PSSec.CustomCryptographicAlgorithm.Should detect Vulnerable_CustomCryptographicAlgorithm_1.ps1" time="0.6526" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect Vulnerable_CustomCryptographicAlgorithm_2.ps1" name="Example tests for PSSec.CustomCryptographicAlgorithm.Should detect Vulnerable_CustomCryptographicAlgorithm_2.ps1" time="0.6271" asserts="0" success="False" result="Failure" executed="True">
                <failure>
                  <message>Expected 'PSSec.CustomCryptographicAlgorithm' to be found in collection @($null), but it was not found.</message>
                  <stack-trace>at @($result.RuleName) | Should -Contain "PSSec.CustomCryptographicAlgorithm", F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:1135
at &lt;ScriptBlock&gt;, F:\信工所\26_2_26_汇报\pssec hunter\PSSecRules\Tests\Pester.PSSecRules.Tests.ps1:1135</stack-trace>
                </failure>
              </test-case>
              <test-case description="Should allow Safe_CustomCryptographicAlgorithm_1.ps1" name="Example tests for PSSec.CustomCryptographicAlgorithm.Should allow Safe_CustomCryptographicAlgorithm_1.ps1" time="0.5606" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
          <test-suite type="TestFixture" name="Example tests for PSSec.UnrestrictedPosixPermission" executed="True" result="Success" success="True" time="51.3613" asserts="0" description="Example tests for PSSec.UnrestrictedPosixPermission">
            <results>
              <test-case description="Should detect Vulnerable_UnrestrictedPosixPermission_1.ps1" name="Example tests for PSSec.UnrestrictedPosixPermission.Should detect Vulnerable_UnrestrictedPosixPermission_1.ps1" time="0.623" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should detect Vulnerable_UnrestrictedPosixPermission_2.ps1" name="Example tests for PSSec.UnrestrictedPosixPermission.Should detect Vulnerable_UnrestrictedPosixPermission_2.ps1" time="0.6239" asserts="0" success="True" result="Success" executed="True" />
              <test-case description="Should allow Safe_UnrestrictedPosixPermission_1.ps1" name="Example tests for PSSec.UnrestrictedPosixPermission.Should allow Safe_UnrestrictedPosixPermission_1.ps1" time="0.5528" asserts="0" success="True" result="Success" executed="True" />
            </results>
          </test-suite>
        </results>
      </test-suite>
    </results>
  </test-suite>
</test-results>