diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index cf7f01eda..e106fe018 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -124,7 +124,7 @@ jobs: - name: Analysing the code with pylint for NEW missed docstrings of classes or functions if: ${{ always() && steps.setup_credsweeper.conclusion == 'success' }} run: | - pylint --disable=E,R,W,C0114,C0103,C0412,C0413,C0415,C0200,C0201,C0325 --verbose credsweeper + pylint --disable=E,R,W,C0114,C0103,C0303,C0412,C0413,C0415,C0200,C0201,C0325 --verbose credsweeper # # # Documentation check diff --git a/credsweeper/__init__.py b/credsweeper/__init__.py index b82c1f563..af91bb09b 100644 --- a/credsweeper/__init__.py +++ b/credsweeper/__init__.py @@ -20,4 +20,4 @@ '__version__' ] -__version__ = "1.9.1" +__version__ = "1.9.2" diff --git a/credsweeper/deep_scanner/deep_scanner.py b/credsweeper/deep_scanner/deep_scanner.py index 119f569f4..1230a0eef 100644 --- a/credsweeper/deep_scanner/deep_scanner.py +++ b/credsweeper/deep_scanner/deep_scanner.py @@ -26,7 +26,9 @@ from .lang_scanner import LangScanner from .pdf_scanner import PdfScanner from .pkcs12_scanner import Pkcs12Scanner +from .pptx_scanner import PptxScanner from .tar_scanner import TarScanner +from .xlsx_scanner import XlsxScanner from .xml_scanner import XmlScanner from .zip_scanner import ZipScanner from ..common.constants import DEFAULT_ENCODING @@ -47,8 +49,10 @@ class DeepScanner( LangScanner, # PdfScanner, # Pkcs12Scanner, # + PptxScanner, # TarScanner, # XmlScanner, # + XlsxScanner, # ZipScanner ): # yapf: disable """Advanced scanner with recursive exploring of data""" @@ -79,7 +83,9 @@ def get_deep_scanners(data: bytes, file_type: str) -> List[Any]: deep_scanners.append(ZipScanner) # probably, there might be a docx, xlxs and so on. # It might be scanned with text representation in third-party libraries. + deep_scanners.append(XlsxScanner) deep_scanners.append(DocxScanner) + deep_scanners.append(PptxScanner) elif Util.is_bzip2(data): deep_scanners.append(Bzip2Scanner) elif Util.is_tar(data): diff --git a/credsweeper/deep_scanner/pptx_scanner.py b/credsweeper/deep_scanner/pptx_scanner.py new file mode 100644 index 000000000..a8b2c6a7c --- /dev/null +++ b/credsweeper/deep_scanner/pptx_scanner.py @@ -0,0 +1,42 @@ +import io +import logging +from abc import ABC +from typing import List + +from pptx import Presentation + +from credsweeper.credentials import Candidate +from credsweeper.deep_scanner.abstract_scanner import AbstractScanner +from credsweeper.file_handler.data_content_provider import DataContentProvider +from credsweeper.file_handler.string_content_provider import StringContentProvider + +logger = logging.getLogger(__name__) + + +class PptxScanner(AbstractScanner, ABC): + """Implements pptx scanning""" + + def data_scan( + self, # + data_provider: DataContentProvider, # + depth: int, # + recursive_limit_size: int) -> List[Candidate]: + """Tries to scan pptx text elements for all slides""" + candidates = [] + try: + pptx_lines = [] + presentation = Presentation(io.BytesIO(data_provider.data)) + for slide in presentation.slides: + for shape in slide.shapes: + if shape.has_text_frame: + for paragraph in shape.text_frame.paragraphs: + pptx_lines.append(paragraph.text) + string_data_provider = StringContentProvider(lines=pptx_lines, + file_path=data_provider.file_path, + file_type=data_provider.file_type, + info=f"{data_provider.info}|pptx") + pptx_candidates = self.scanner.scan(string_data_provider) + candidates.extend(pptx_candidates) + except Exception as pptx_exc: + logger.error(f"{data_provider.file_path}:{pptx_exc}") + return candidates diff --git a/credsweeper/deep_scanner/xlsx_scanner.py b/credsweeper/deep_scanner/xlsx_scanner.py new file mode 100644 index 000000000..f14b91001 --- /dev/null +++ b/credsweeper/deep_scanner/xlsx_scanner.py @@ -0,0 +1,41 @@ +import io +import logging +from abc import ABC +from typing import List + +import pandas as pd + +from credsweeper.credentials import Candidate +from credsweeper.deep_scanner.abstract_scanner import AbstractScanner +from credsweeper.file_handler.data_content_provider import DataContentProvider +from credsweeper.file_handler.string_content_provider import StringContentProvider + +logger = logging.getLogger(__name__) + + +class XlsxScanner(AbstractScanner, ABC): + """Implements xlsx scanning""" + + def data_scan( + self, # + data_provider: DataContentProvider, # + depth: int, # + recursive_limit_size: int) -> List[Candidate]: + """Tries to scan xlsx text elements for all slides""" + candidates = [] + try: + book = pd.read_excel(io.BytesIO(data_provider.data), sheet_name=None, header=None) + sheet_lines = [] + for sheet_name, sheet_data in book.items(): + text = sheet_data.fillna('').astype(str) + for i in text.values: + sheet_lines.append('\t'.join(i)) + string_data_provider = StringContentProvider(lines=sheet_lines, + file_path=data_provider.file_path, + file_type=data_provider.file_type, + info=f"{data_provider.info}|xlsx:{sheet_name}") + sheet_candidates = self.scanner.scan(string_data_provider) + candidates.extend(sheet_candidates) + except Exception as xlsx_exc: + logger.error(f"{data_provider.file_path}:{xlsx_exc}") + return candidates diff --git a/credsweeper/secret/config.json b/credsweeper/secret/config.json index 1a4b904e3..f0c4fa3b4 100644 --- a/credsweeper/secret/config.json +++ b/credsweeper/secret/config.json @@ -6,11 +6,12 @@ ".bz2", ".gz", ".tar", - ".xlsx", ".zip" ], "documents": [ + ".xlsx", ".docx", + ".pptx", ".pdf" ], "extension": [ @@ -43,7 +44,6 @@ ".ogg", ".pak", ".png", - ".pptx", ".psd", ".pyc", ".pyd", diff --git a/fuzz/corpus/3d58fa3ac74595ffa0417f307c8e1368e6673f70 b/fuzz/corpus/074a3ede13a1b86a2ec603cd5f86bc0ae5910cde similarity index 61% rename from fuzz/corpus/3d58fa3ac74595ffa0417f307c8e1368e6673f70 rename to fuzz/corpus/074a3ede13a1b86a2ec603cd5f86bc0ae5910cde index 841bb4b57..54613f72c 100644 --- a/fuzz/corpus/3d58fa3ac74595ffa0417f307c8e1368e6673f70 +++ b/fuzz/corpus/074a3ede13a1b86a2ec603cd5f86bc0ae5910cde @@ -8,4 +8,4 @@ #  # -# skip MAXßSEARCH_MA4206074328-qdv6fi3eh31q6h7c35vsi4p89p1258g1.apps.googleusercontent.com","CEKPET":"GOCSPX-Fogleucontent.com","CEKPET":"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", +# skip MAXßSEARCH_MA4206074328-qdv6fi3eh31q6h7c35vsi4p89p1258g1.apps.googleusercontent.com","CEKPET":"OGCSPX-Fcontent,com","CEKPET":"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", diff --git a/fuzz/corpus/f818f5cfb4fbfcd1c8dd6f5d06c7829b7ef7ef5c b/fuzz/corpus/128423b9f4be724e691b1110445bc9b1798f0d5a similarity index 64% rename from fuzz/corpus/f818f5cfb4fbfcd1c8dd6f5d06c7829b7ef7ef5c rename to fuzz/corpus/128423b9f4be724e691b1110445bc9b1798f0d5a index 00fbddf39..1f8338124 100644 Binary files a/fuzz/corpus/f818f5cfb4fbfcd1c8dd6f5d06c7829b7ef7ef5c and b/fuzz/corpus/128423b9f4be724e691b1110445bc9b1798f0d5a differ diff --git a/fuzz/corpus/133c106277c5052dfa163005cb1027ec2571063c b/fuzz/corpus/133c106277c5052dfa163005cb1027ec2571063c new file mode 100644 index 000000000..5a4b9386d Binary files /dev/null and b/fuzz/corpus/133c106277c5052dfa163005cb1027ec2571063c differ diff --git a/fuzz/corpus/20bb3787c7f914def39aff2ed2b9f36ca5eeeb91 b/fuzz/corpus/20bb3787c7f914def39aff2ed2b9f36ca5eeeb91 deleted file mode 100644 index 5fbb1ed0e..000000000 --- a/fuzz/corpus/20bb3787c7f914def39aff2ed2b9f36ca5eeeb91 +++ /dev/null @@ -1 +0,0 @@ -PK˙n.api: ` “_ġ \ No newline at end of file diff --git a/fuzz/corpus/24a5d4021dd6275163567ba983d68ab71489efc7 b/fuzz/corpus/24a5d4021dd6275163567ba983d68ab71489efc7 deleted file mode 100644 index db74d639d..000000000 Binary files a/fuzz/corpus/24a5d4021dd6275163567ba983d68ab71489efc7 and /dev/null differ diff --git a/fuzz/corpus/2d41d950f43caddc85821d0d5a4f7ee5358fb1ff b/fuzz/corpus/2d41d950f43caddc85821d0d5a4f7ee5358fb1ff deleted file mode 100644 index 990e385c5..000000000 --- a/fuzz/corpus/2d41d950f43caddc85821d0d5a4f7ee5358fb1ff +++ /dev/null @@ -1,2 +0,0 @@ -appam:ATBBcCe6fczW96zW96Vzwg8F2gZS54D591C4 -f diff --git a/fuzz/corpus/2f158b179ca65b6a077d3c84d4dcfd5f8683cc22 b/fuzz/corpus/2f158b179ca65b6a077d3c84d4dcfd5f8683cc22 new file mode 100644 index 000000000..aecd1856e --- /dev/null +++ b/fuzz/corpus/2f158b179ca65b6a077d3c84d4dcfd5f8683cc22 @@ -0,0 +1,2 @@ +glsa_ThisI5NtTheTok3nYou8Leor0k1ngF0r_0a2a3df7 +glpl_ThisI5NtTheTok3nYou8reLo0k1ngF0r_0a2a3df7 diff --git a/fuzz/corpus/37a22693c8945b248f4387cc98ebcc669ccb4f77 b/fuzz/corpus/37a22693c8945b248f4387cc98ebcc669ccb4f77 deleted file mode 100644 index fb914510e..000000000 --- a/fuzz/corpus/37a22693c8945b248f4387cc98ebcc669ccb4f77 +++ /dev/null @@ -1,14 +0,0 @@ -bitbucket_client : "0D - - - MIIBOgIBAAJBAJtFfagSXdo0JmX6EdwWGvFMaXeOFY5xOTs3PWsnhRFakQFbAuI/ - DaJSTVnp3ObjJPZhJs/P/XPWIKRNIglRqkkCAwEAAQJAbErPFMWah3EPxtfeVO1l - 5R0yAZwrFKmLDO29/FoXyL2XbxthJlJmdMQgIYayZYn4W2PSq6C56AI201SlW7Ts - AQIhAMwBYS+NST98g0nytTRD1Y94n+yrhTlyWNR/uC4tT8SpAiEAwthlcs9UDPh5 - BnaO8Y7A+im+Aw5ANIhJwSVBxB3QnKECIQCJm9ihic1B7MxmojgGxEcXGwfNTjl0 - caRn2qszQs9O2QIgdaBFvkXDrADkry4rpVBU17ETcKzNvej4/YIwN2M1NefTgs3Ghr54TMxNzOhFZPhB" -bitbucket_client_2 : "0DIwN2M2NTeGd6S6jU"0MYuTM54EC -IGtT - EBUWuiacAxz/WKHb9WVp0F/zkRwucJ0Hr2W4P9cP - - \ No newline at end of file diff --git a/fuzz/corpus/396d225ffb868601030c32ec6730b91795c69505 b/fuzz/corpus/396d225ffb868601030c32ec6730b91795c69505 new file mode 100644 index 000000000..d6b5d1b23 Binary files /dev/null and b/fuzz/corpus/396d225ffb868601030c32ec6730b91795c69505 differ diff --git a/fuzz/corpus/3997395e39d0628e5a630428c259eb79b07ed175 b/fuzz/corpus/3997395e39d0628e5a630428c259eb79b07ed175 deleted file mode 100644 index aec84497e..000000000 --- a/fuzz/corpus/3997395e39d0628e5a630428c259eb79b07ed175 +++ /dev/null @@ -1,47 +0,0 @@ -Password:Prl23Db#@ -ëı„밀번호:Prl23Db#@ -pw:Prl23Db#@ -Password=Prl23Db#@ -pwd:Prl23Db#@ -ëı„번:Prl23Db#@ -Password Prl23Db#@ -ANY_password=Prl23Db#@ -ëı„밀번호 Prl23Db#@ -pass:Prl23Db#@ -ANY-password=Prl23Db#@ -암호:Prl23Db#@ -PASSWORD(Prl23Db#@) -master@98.76.54.32 password:Prl23Db#@ ---Password Prl23Db#@ -password is Prlı„번:Prl23Db#@ -passwd=Prl23Db#@ ---pass Prl23Db#@ -PIN:Prl23Db#@ -paasword:Prl23Db#@ -password:Prl23Db#@, paasword:Prl23Db#@ -password:Prl23Db#G,ANYPassword:Prl23Db#@ -Password:Prl23Db#@,pwd=Prl23Db#@ --password "Prl23Db#@" -ANY_password:Prl23Db#@ -p/w는Prl23Db#@ -new password is Prl23D=b#@ ---password=Prl23Db#@ -root/Prl23Db#@,root prl23Db#@ Prl23Db#@ Prl23Db#@ -ëı„번은Prl23Db#@ -ANYpassword=Prl23Db#@ -passwords:Prl23Db#@ -password설정은Prl23Db#@ -password=>Prl23Db#@ -패스워드(Prl23Db#@) -P/W:Prl23Db#@ ---passwd Prl23Db#@ -ëı„밀번호(Prl23Db#@) -PW는Prl23Db#@ - -FALSE: -# password: keep empty -암호 : @@@hl@@@ëı„번@@@endhl@@@ - -FP# 10.0.0.1 8888 TLSv1.2 - - diff --git a/fuzz/corpus/3dd6e45c6a0cccb29c3416762b2df85012a7b67b b/fuzz/corpus/3dd6e45c6a0cccb29c3416762b2df85012a7b67b deleted file mode 100644 index 091305728..000000000 --- a/fuzz/corpus/3dd6e45c6a0cccb29c3416762b2df85012a7b67b +++ /dev/null @@ -1,92 +0,0 @@ -GI_REO_GI_FACEBOOK_TOKENrk_live_48ehKQ_TOKENrk_live_48ehKQINMST2CEBOOK_TOKENrk_live_48ehK!Q˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙IN patch -literal 40 -mcmZ?ttV(px3`)&+&vY(IO/.changes/2.16.98.json -new file mode 100mV?d00001 - -diff --git bHcmV?d0000EAYZQ=ik1_J;YNemtU - -literaì 0 -HcmV?d0000EAYZQ=|2*k--git db43af63c59ca -GIT binary patch -literal 40 -mcmZ?ttV(px3`)&+&vY(IOwP_pg;It_#)hV5h8Bik1_J;YNemtU - -literaì 0 -HcmV?d00001 - -diff --git bHcmV?d0000EAYZ644 -index|2*86..a#I?WBEWEAYZQ=|2*k--git db43af63c59craì 0 -HcmV?d0000EAYZQ=|2*k--git db43af63c59ca -GIT binary patch -literal 40 -mcmZ?ttV(px3`)&+&vY(IOwP_pg;It_#)hV5h8Bik1_J;YNemtU - -literaìk1_J;YNemtU - -literaì 0 -HcmV?d0000EAYZQ=|2*k--git db43af63c59ca -GIT binary patch -literal 40 -mcmZ?ttV(px3`)&+&vY(IOwP_pg;It_#)hV5h8Bik1_J;YNemtU - -literaì 0 -HcmV?d00001 - -diff P-git bHcmV?d0000EAYZ644 -index 00000000..ion``", -+ "passwozd": "dkajco1" -+} - -notations\":{},\"labels\":{\"app\":\"wQ=|2*k--git db43af63c59ca -GIT binary patch -literal 40 -mcmZ?˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙IN patch -literal 40 -mcmZ?ttV(px3`)&+&vY(IO/.changes/2.16.98.json -new file mode 100mV?d00001 - -diff --git bHcmV?d0000EAYZQ=ik1_J;YNemtU - -literaì 0 -HcmV?d0000EAYZQ=|2*k--git db43af63c59ca -GIT binary patch -literal 40 -mcmZ?ttV(px3`)&+&vY(IOwP_pg;It_#)hV5h8Bik1_J;YNemtU - -literaì 0 -HcmV?d00001 - -diff --git bHcmV?d0000EAYZ644 -index|2*86..a#I?WBEWEAYZQ=|2*k--git db43af63c59craì 0 -HcmV?d0000EAYZQ=|2*k--git db43af63c59ca -GIT binary patch -literal 40 -mcmZ?ttV(px3`)&+&vY(IOwP_pg;It_#)hV5h8Bik1_J;YNemtU - -literaì 0 -Hcbody: - string: !!binary | - H4sICIur8mIAA3BlbV9rZXkAbdM3kqNAAEDRnFNMTk3hEQo2oAG1uKIBASIbnLDC29OvifenP37f - -HcmV?d0000EAYZQ=|2*k--git db43af63c59ca -GIT binary patch -literal 40 -mcmZ?ttVe\":\"wordpress\"},\"name\":\"wordpressw-rodpress\",\"namespace# Co -# k -us1.16.98.json b/.changes/2.16.98.json -new file mode 100mV?d00001 - -diff --git bHcmV?d0000EAYZQ=ik1_J;YNemtU - -literaì 0 -HcmV?d0000EAYZQ=|2*k--git db43af63c59ca -GIT binary patch -liter0l 4a -mcmZ?ttV(px3`)&+&vY(IOwP_pg;It_#)hV5h8Bik1_J;YNemtU - -literaì 0 -HcmV?d00001 - -diYd -oINMST2CEBOOK_TOKENrk_live_48ehKQINMST2 = "EAACEdE = "EAACEdEdsose0cBAlGy7KeQjfwyVI77Y5Ynad4jCoup39tiYd -oQ4jHF" \ No newline at end of file diff --git a/fuzz/corpus/4212be42c2885853256a8b5a70a4004783be4973 b/fuzz/corpus/4212be42c2885853256a8b5a70a4004783be4973 new file mode 100644 index 000000000..44b7411c1 --- /dev/null +++ b/fuzz/corpus/4212be42c2885853256a8b5a70a4004783be4973 @@ -0,0 +1,14 @@ +"Prl23Db#@" + +Passwd:Prl23Db#@ Prl23Db#@ +PW:Prl23Db#@,password:Prl23Db#@ +password:Prl23Db#@,ëı„번:Prl23Db#@ +passwd=Prl23Db#@ +--pass Prl23Db#@ +PIN:Prl23Db#@ +paasword:Prl23Db#@ +password:Prl23Db#@, paasword:Prlord: keep empty +암호 : @@@hl@@@ëı„번@@@endhl@@@ + +FP# 10.0.0.1 8888 TLSv#;' +eo(s) diff --git a/fuzz/corpus/45db8bda86e1b35af588058e1e21192c96dd4683 b/fuzz/corpus/45db8bda86e1b35af588058e1e21192c96dd4683 deleted file mode 100644 index 2eb2cf52f..000000000 --- a/fuzz/corpus/45db8bda86e1b35af588058e1e21192c96dd4683 +++ /dev/null @@ -1,6 +0,0 @@ -{ - "key": "api_ diff --git a/fuzz/corpus/58b7b032659d3c3c87a2d92ee67200dcf842c085 b/fuzz/corpus/58b7b032659d3c3c87a2d92ee67200dcf842c085 new file mode 100644 index 000000000..ca57f0fec Binary files /dev/null and b/fuzz/corpus/58b7b032659d3c3c87a2d92ee67200dcf842c085 differ diff --git a/fuzz/corpus/5ba297bc0f26ff086b8c1e5683e73889c69f543c b/fuzz/corpus/5ba297bc0f26ff086b8c1e5683e73889c69f543c new file mode 100644 index 000000000..1b2fb3f7c Binary files /dev/null and b/fuzz/corpus/5ba297bc0f26ff086b8c1e5683e73889c69f543c differ diff --git a/fuzz/corpus/9d4c6045e47cb32d0b02bf4cd63c648168b43abf b/fuzz/corpus/5d486f1d2ba0cb60bdc16987e467c4a1721343e6 similarity index 84% rename from fuzz/corpus/9d4c6045e47cb32d0b02bf4cd63c648168b43abf rename to fuzz/corpus/5d486f1d2ba0cb60bdc16987e467c4a1721343e6 index 7ec70b6a9..0b0dc988e 100644 --- a/fuzz/corpus/9d4c6045e47cb32d0b02bf4cd63c648168b43abf +++ b/fuzz/corpus/5d486f1d2ba0cb60bdc16987e467c4a1721343e6 @@ -7,5 +7,5 @@ passes = "cackle!" 2EC0JQLFdN3tqanQ_Bc1HA2yL9kK22WD*e2QLxA0RKuqrtable> -ithub_pat_31ADLV2EC0JQLFdN3tqanQ_Btxr 0000j +ithub_pJQLFdN3tqanQ_Btxr 0000j r \ No newline at end of file diff --git a/fuzz/corpus/62bbbb45f6fee0c0e0400cd4e56a4542baa0b02e b/fuzz/corpus/62bbbb45f6fee0c0e0400cd4e56a4542baa0b02e new file mode 100644 index 000000000..4e742d037 --- /dev/null +++ b/fuzz/corpus/62bbbb45f6fee0c0e0400cd4e56a4542baa0b02e @@ -0,0 +1,34 @@ + + + + MIIBOgIBAAJBAJtFfagSXdo0JmX6EdwWGvFMaXeOFY5xOTs3PWsnhRFakQFbAuI/ + DaJSTVnp3ObjJPZhJs/P/XPWIKRNIglRqkkCAwEAAQJAbErPFMWah3EPxtfeVO +x + 5R0yAZwrFKmLDO29/FoXyL2XbxthJlJmdMQgIYayZYn4W2PSq6C56AI201SlW7Ts + ic1B7MxmojgGxEcXGwfNTjl0 + caRn2qszQs9O2QIgdaBFvkXDrADkry4rpVBU17ETcKzNvej4/Y0MYuTM54ECIGtT + EBUWuiacAxz/WKHb9WVp0F/zkRwucJ0Hr2W4P9cP + + + "IBOgIBAAJBAJtFfagSXdo0JmX6EdwWGvFMaXeOFY5xOTs3PWsnhRFakQFbAuI769 + fdsbkjerfkjrekjnkerjnfkrejnfrejn==" + + + + IBOgIBAAJBAJtFfagSXdo0JmX6EdwWGvFMaXeOFY5xOTs3PWsnhRFakQFbAuI769 + fdsbkjerfkjrekjnkerjnfkrejnfrejn== + mplate>0LibreOffice/24.2.6.2$Linux_X86_64 LibreOffice_project/8e9a753d9daaea75c34s xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="htb417ba1bdf556bf2fc5 tp://schemas.openxmlformats.org/offi + + "IBOgIBAAJBAJtFfagSXdo0JmX6EdwWGvFMaXeOFY5xOTs3PWsnhRFakQFbAuI769 + fdsbkjerfkjrekjnkerjnfkrejnfrejn==" + + + + IBOgIBAAJBAJtFfagSXdo0JmX6EdwWGvFMaXeOFY5xOTs3PWsnhRFakQFbAuI769 + fdsbkjerfkjrekjnkerjnfkrejnfrejn== + mplate>0LibreOffice/24.2.6.2$Linux_X86_64 LibreOffice_project/8e9a753d9daaea75c34s xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="htb417ba1bdf556bf2fc5 tp://schemas.openxmlformats.org/offi 0LibreOffice/24.2.6.2$Linux_X86_64 LibreOffice_proj>ect/8e9a753d9daaea75c34b417ba1bdf556bf2fc5b315.0000AppVersion> \ No newline at end of file diff --git a/fuzz/corpus/640004afc966ceea42b9704c6eb6cad994f69c3e b/fuzz/corpus/640004afc966ceea42b9704c6eb6cad994f69c3e new file mode 100644 index 000000000..a9b3e6cc6 --- /dev/null +++ b/fuzz/corpus/640004afc966ceea42b9704c6eb6cad994f69c3e @@ -0,0 +1,3 @@ +gi_reo_gi_passwd = "cAc48k1Zd7"; password_confirmation = "cAc48k1Zd7"; +mypw: KrAcMe12345, +masked_password = *****1*****2; diff --git a/fuzz/corpus/69816f6c915647c698afa3af628261de3938109b b/fuzz/corpus/69816f6c915647c698afa3af628261de3938109b new file mode 100644 index 000000000..f1aeefe65 --- /dev/null +++ b/fuzz/corpus/69816f6c915647c698afa3af628261de3938109b @@ -0,0 +1,42 @@ + + + Password storage - Confluence + + +dG9 the line will be found twice
# 100

EAACEdEose0cBAlGy7KeQ5Yna9Coup39tiYdoQ4jHF

+ + + + + + + + + + + + +
dummy table
+ + + + +
nested table
+ + + + + +
nested table
+
+ + + + diff --git a/fuzz/corpus/c49c016876613f148990546420486c432ea19afa b/fuzz/corpus/6aaef44b866ec7cc24094e80f47b2e932c61ca7d similarity index 82% rename from fuzz/corpus/c49c016876613f148990546420486c432ea19afa rename to fuzz/corpus/6aaef44b866ec7cc24094e80f47b2e932c61ca7d index 09b19760b..fd67a44c9 100644 Binary files a/fuzz/corpus/c49c016876613f148990546420486c432ea19afa and b/fuzz/corpus/6aaef44b866ec7cc24094e80f47b2e932c61ca7d differ diff --git a/fuzz/corpus/75f764f66a58b3e78998c88ed3eff8f938e88a09 b/fuzz/corpus/75f764f66a58b3e78998c88ed3eff8f938e88a09 new file mode 100644 index 000000000..d974c2ae0 --- /dev/null +++ b/fuzz/corpus/75f764f66a58b3e78998c88ed3eff8f938e88a09 @@ -0,0 +1,14 @@ +# various line ending for sanitize +str value = "-----BEGIN RSA PRIVATE KEY-----\n" + +"MIICXQIBAAKBgQDwcEN7vZygGg6DvPpsw17hRD6S5N8+huaqs1JGXQfPhbvLTUsHdzGLVNQ/Z0wQVGdPiaJDflqhcT1IH8BLD4SHn+ \n" + + "WuRIzX77P7oVKM2CoTA6VzT6s/bvr7HxFLl4NhohfyDsV0YCDc4I6EHGWMCUHZb0IWxzEGRWD3jbG8KAZUsQIDAQABAoGAOD7a2o\r \n" +" CRujY+PP0hS/4sHOBdDvnxa2wdW8NVNNagdCBhvP5Y1edBNMnkWOyuM4e7HzUgO0+8ndWis1OSJTz9EFTyHJm6GOn+/JR62NWNr " + "9lfCb8cWq0eoOk3UUO9P+1nZNHjE/iDhuTi3x/5gaW4SzdkZfxHo/NMI6i5w1ZnQ60CQQD9d0G9gBy6lPhC \\ +""" mbHzYovVjSnyfzUtyWPNSrXNiUCR5vu2f6eCgSVzFZ0oHAv8nLaYnXrhyT25lwzNK5OhR/oPAkEA8tep3NmfxV """ + +QSBfKGfotblIG709xxfd6vHfDS0eZuTFUxkZDcayZDhMDjTMZxP8rokSbMaOSqUseUeYhx5TqFPwJAAhC0smyWz1ZjZ3eFIayN4yGRU+6B\r\n +"amwXqhaPwKr7obS2HFiR7thKi9ODQk5oMpi8TCYMWEahgB+g9RMD0u6ZNQJBAMla\\\\nUJmySGuRnbAYu7PJURH90AOG0QOQ1Jp6yBMKgYIB\\ +Uaxk3402394932746672734543664375t7323341253845186253784== +-----END LOW ENTROPY PRNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNIVATE KEY----- + +header="-----BEGIN3OY2a OPENSSH EMPTY PRIVATE KEY-----" +footer="-----END OPENSSH EMPTY PRIVATE KEY-----" \ No newline at end of file diff --git a/fuzz/corpus/8efbbee8e35a8bcb045c9a5f38a2789731ce0448 b/fuzz/corpus/8efbbee8e35a8bcb045c9a5f38a2789731ce0448 deleted file mode 100644 index fcade4011..000000000 --- a/fuzz/corpus/8efbbee8e35a8bcb045c9a5f38a2789731ce0448 +++ /dev/null @@ -1 +0,0 @@ -WXFES7QNTET5DQYC diff --git a/fuzz/corpus/948c58cb59b8ce2e5ef607412598574d585b4bdf b/fuzz/corpus/948c58cb59b8ce2e5ef607412598574d585b4bdf deleted file mode 100644 index 61288da72..000000000 --- a/fuzz/corpus/948c58cb59b8ce2e5ef607412598574d585b4bdf +++ /dev/null @@ -1 +0,0 @@ -xoxa-FLYLIKEAGIREOGI-9d8 diff --git a/fuzz/corpus/961700d221edd270fb5f90929f05ece979fbe034 b/fuzz/corpus/961700d221edd270fb5f90929f05ece979fbe034 deleted file mode 100644 index daae8ec4b..000000000 --- a/fuzz/corpus/961700d221edd270fb5f90929f05ece979fbe034 +++ /dev/null @@ -1,162 +0,0 @@ - - - Password storage - Confluence - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# - hostname - user - password - secret -
1 - 192.168.0.1 - admin - 0dm1nk0 - - BNbNbws73bdhss329ssakKhds120384 -
2 - 10.0.0.1 - user - Cr3DeHTbIal - - Ndjbwu88s22ygavsdhgt5454v3h1x -
test - pass - fail - version -
- - - - - - - - - - - -
token -
H72gsdv2dswPneHduwhfd
-
password - p@$$w0Rd42 - 0 -
- -
508627689:AAEuLPKs-EhrjrYGnz60bnYNZqakf6HJxc0
- - - - - - - - -
Password: - MU$T6Ef09#D! - VIN: 1M8GDM9AX - KP042788 Must be not found due line splitting in HTML means space at least between merged lines - - - - - - -
# 94

ya29.dshMb48ehfXwydAj34D32J

-
# 95

dop_v1_425522a565f532bc6532d453422e50334a42f5242a3090fbe553b543b124259b

-
- - - the line will be found twice
# 100

EAACEdEose0cBAlGy7KeQ5Yna9Coup39tiYdoQ4jHF

- -
- - - - - - - - - - - - -
dummy table
- confluenceTable"> -
Password: - MU$T6Ef09#D! - VIN: 1M8GDM9AX - KP042788 Must be not found due line splitting in HTML means space at least between merged lines - - - - - - -
# 94

ya29.dshMb48ehfXwydAj34D32J

-
# 95

dop_v1_425522a565f532bc6532d453422e50334a42f5242a3090fbe553b543b124259b

-
- - - the line will be found twice
# 100

EAACEdEose0cBAlGy7KeQ5Yna9Coup39tiYdoQ4jHF

- -
- - - - - - - - -
dummy table
- - - - -
nested table
- - - - - - -
nested table
-
- - - - diff --git a/fuzz/corpus/9acfd376d841e153fcb84dc2e0179bb5a60c900d b/fuzz/corpus/9acfd376d841e153fcb84dc2e0179bb5a60c900d deleted file mode 100644 index 18dff6223..000000000 Binary files a/fuzz/corpus/9acfd376d841e153fcb84dc2e0179bb5a60c900d and /dev/null differ diff --git a/fuzz/corpus/9b924a4e5dc5779f7ea427205dff64a77c62907d b/fuzz/corpus/9b924a4e5dc5779f7ea427205dff64a77c62907d new file mode 100644 index 000000000..fdcdd8b31 Binary files /dev/null and b/fuzz/corpus/9b924a4e5dc5779f7ea427205dff64a77c62907d differ diff --git a/fuzz/corpus/a6b2f0ce83ae5754a4d8e454aaad6bd7024f112b b/fuzz/corpus/a6b2f0ce83ae5754a4d8e454aaad6bd7024f112b deleted file mode 100644 index 74e67a53f..000000000 --- a/fuzz/corpus/a6b2f0ce83ae5754a4d8e454aaad6bd7024f112b +++ /dev/null @@ -1,10 +0,0 @@ -abe9b1d 100644 ---- a/creds.py -+++ b/creds.py -@@ -1ebas,7 +3,7 @@ -+ - -+ clid = "AKIAQA&QWWADE5R42RDZ4++ b/creds.py -@@ -1JEM" -+ token = "V84C7sappam:ATBB#Ce6fczW9wVzwgvb4r8F2gZS5]4D591C4 -f diff --git a/fuzz/corpus/a7d13a789c0edaba5c8aaa73976a172698a88b16 b/fuzz/corpus/a7d13a789c0edaba5c8aaa73976a172698a88b16 deleted file mode 100644 index 039ff7e56..000000000 --- a/fuzz/corpus/a7d13a789c0edaba5c8aaa73976a172698a88b16 +++ /dev/null @@ -1 +0,0 @@ -var email_t = '7e4v6v5j2nepcc8f5zvatgl9g'; diff --git a/fuzz/corpus/acf7aa6ee9073e84d294d358f7c5a7346f9bac76 b/fuzz/corpus/acf7aa6ee9073e84d294d358f7c5a7346f9bac76 new file mode 100644 index 000000000..38eadc654 --- /dev/null +++ b/fuzz/corpus/acf7aa6ee9073e84d294d358f7c5a7346f9bac76 @@ -0,0 +1,2 @@ +detected: eyJhbGciOiJSUzI1NiJ9Cg.eyJleHAiOjY1NTM2fQo.Ce7sh0EBlE_dose0cBA +not detected: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.NiIsInR5nR5cCI6IkpXV.NiIsInR5cCI6IkpXV diff --git a/fuzz/corpus/af78227eedbfdf8121c14d314e91826f5c3c5618 b/fuzz/corpus/af78227eedbfdf8121c14d314e91826f5c3c5618 new file mode 100644 index 000000000..85bcfbd61 --- /dev/null +++ b/fuzz/corpus/af78227eedbfdf8121c14d314e91826f5c3c5618 @@ -0,0 +1,2 @@ +eyJ0eXAiOiJKV1QiLCJiLCJhbGciOiJSUzI1NiIsIng0dCI6Imk2bEdrM1ZRN3N5SEpsWSJ9.eyJhjoiI1NiIsIng1dCI6mkI1bEdrM1ZRN3N5SEpsWhbGciOiJSUzI1NiIsIng0dCI6Imk2bEdrM1ZRN3N5SEpsWSJ9.eyJhjoiI1NiIsIng1dCI6mkI1bgi_EdrM1ZRN3N5SEpsWQreo_gi_apitdG9rZW4i = "DvMB_glvwjlEQ_uqIyn8k"; +LCJrIjoidkln5SEpsWSJ9.eyJHd \ No newline at end of file diff --git a/fuzz/corpus/34da1cddbffb80554fb388a0308acec59129e498 b/fuzz/corpus/b001aaead5dfb3231ac12a942589f80d57a55cba similarity index 86% rename from fuzz/corpus/34da1cddbffb80554fb388a0308acec59129e498 rename to fuzz/corpus/b001aaead5dfb3231ac12a942589f80d57a55cba index 24f189ff7..e7139d04a 100644 --- a/fuzz/corpus/34da1cddbffb80554fb388a0308acec59129e498 +++ b/fuzz/corpus/b001aaead5dfb3231ac12a942589f80d57a55cba @@ -23,9 +23,7 @@ ID/PW=maste6@GRq username/password:master/iPp7@GRq id/passwd:master/iPp8@GRq ID PW master iPp9@GRq -98.76..................................................................................54.32(ID:master/PW:iPp10@GRq) # todo: move into other sample ? -id/pass master/iPp11@GRq -ANYID PW master iPp12@GRq # many FP +98.76....................................................................Ž.............54.32(ID:master/PW:iPp10@GRq) # todo: move into o0therny FP ID / PW : db / iPp14@GRq ID/PWD-master/iPp15@GRq @@ -50,7 +48,7 @@ user/pass:master'PP0hS/4sHOake with ellipsis i7aHavqQ9T2f2drU4N5WsM7aqQ97kbB/K4RU8wYU6mZT -----END encoding='utf-8'PP0hS/4sHOake with ellipsis -----BEGIN PGP6 PRIVATE KEY----- -i7aHavqQ9T2f2drU4N5WsM7aqQ97kbB/K4RU8wYU6mZPGP PRIVATE KEYta>/iPp25@GRq +i7aHavqQ9T2f2drU4N5W•M7aqQ97kbB/K4RU8wYU6mZPGP PRIVATE KEYta>/iPp25@GRq id/pwd master/iPp26@GRq ID/Password=master/iPp27@GRq ID/PW:master/šŻÍÇż¸­q diff --git a/fuzz/corpus/b2dcba63d69884572400127c56547b4645f99cc3 b/fuzz/corpus/b2dcba63d69884572400127c56547b4645f99cc3 new file mode 100644 index 000000000..7e92d39f0 --- /dev/null +++ b/fuzz/corpus/b2dcba63d69884572400127c56547b4645f99cc3 @@ -0,0 +1 @@ +WPFES7QNTET5DQYC diff --git a/fuzz/corpus/b6313997bb881781eb621e5f70ab8e0e5ed24933 b/fuzz/corpus/b6313997bb881781eb621e5f70ab8e0e5ed24933 new file mode 100644 index 000000000..6932c2163 Binary files /dev/null and b/fuzz/corpus/b6313997bb881781eb621e5f70ab8e0e5ed24933 differ diff --git a/fuzz/corpus/ba18cac77d105886d1fba9051e417b846bc51932 b/fuzz/corpus/ba18cac77d105886d1fba9051e417b846bc51932 deleted file mode 100644 index 0b1e2ca71..000000000 --- a/fuzz/corpus/ba18cac77d105886d1fba9051e417b846bc51932 +++ /dev/null @@ -1 +0,0 @@ -eyJ0eXAiOiJKV1QiLCJiLCJhbGciOiJSUzI1NiIsIng0dCI6Imk2bEdrM1ZRN3N5SEpsWSJ9.eyJhjoiI1NiIsIng12CI6mkI1bEdrM1ZRN3N5SEpsWhbGciOpassword = "MYPSWRD!@#$%^&*"1ZRN3N5SEpsWSJ9.eyJhjoiI1NiIsIng1dCI7mkI1bEdrM1ZRN3N5SEpsWQtd@9rZW4iLCJrIjoidkln5SEpsWSJ9.eyJHd \ No newline at end of file diff --git a/fuzz/corpus/c061f25687d51507dab44aa6774dd5814ae9a670 b/fuzz/corpus/c061f25687d51507dab44aa6774dd5814ae9a670 deleted file mode 100644 index 1e8086242..000000000 --- a/fuzz/corpus/c061f25687d51507dab44aa6774dd5814ae9a670 +++ /dev/null @@ -1,9 +0,0 @@ - -"AwsAccessKey": -AKIAGIREOGIAWSKEY123", "AwsAc -"AwsAccessKey2": "AKIAGIREOGIAWSKEY555", - -"AwsSecretKey":"CrackleGiReoGi123CrackleGiReoGi123AWSkey"cessKey": "AKIAGIREOGIAWSKEY123", "AwsAccessKey2": "AKIAGIREKAOGSIWEY555", - -"AwsSecretKey":"CrackleGiReoGi123CrackleGiReoG -i123AWSkey" diff --git a/fuzz/corpus/a103bc9a73b30131787f7fe86e5ad04077b83b6d b/fuzz/corpus/c3d90d2c94f1fbd132900b7dde0fefbccd4b8891 similarity index 86% rename from fuzz/corpus/a103bc9a73b30131787f7fe86e5ad04077b83b6d rename to fuzz/corpus/c3d90d2c94f1fbd132900b7dde0fefbccd4b8891 index 824211264..bc64a59b2 100644 --- a/fuzz/corpus/a103bc9a73b30131787f7fe86e5ad04077b83b6d +++ b/fuzz/corpus/c3d90d2c94f1fbd132900b7dde0fefbccd4b8891 @@ -1 +1 @@ -ZGVidWdDb250YWluZXI6CiAgaW1hZ2U6CiAgICB2ZXJzaW9uOiBpbnN0YWxsLWRlYnVnLXZlcnNpb24KaGVhcnRiZWF0U2NoZWR1bGU6IDEgMiAzIDQgNQppZGVudGl0eToKICBpc3N1ZXI6CiAgICB0bHM6CiAgICAgIGNydFBFTTogfAogICAgICAgIC0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQogICAgICAgIE1JSUJ3RENDQVdlZ0F3SUJBZ0lSQUpSSWdaOFJ0TzhFd2cxWGVwZjhUNDR3Q2dZSUtvWkl6ajBFQXdJd0tURW4KICAgICAgICBna2RqaHNsa2Roa2dkamhza2pkZmtkamhna2RqaGtkZmpibmtkZm52amtoYnZqaGRiZGpmaGJmamhiZGZNRGd5CiAgICAgICAgbGZrZGprc2xkamdrbGpkZmtnamhkZmtnamhzZGZrbGdqc2RrbGpmZ2hsa2Rmamhsa3NkZmpsa3Nkamt1YkdsdQogICAgICAgIGxzZGpoZnY1NDZtZmRza2dqaGRmamtoZ2tqZGhramhkZmtqZ2hrZGZqaGdramRmaGtqZGZoZ2tqZmRoZ2tqRnAKICAgICAgICBmY1JkZmdoZmRnbWRuZ2tqeGRuYnZqbmN2a2pua2pkbmdram5mZGtqYmt2YmpibnZja2puYmpuZGRmZ2ZkZ3QxCiAgICAgICAgMmJsa2puZ2JramhnbGpkZmxnaGtsamRmbmdqZGZuZ25sZGZrbWxrZGZqZ21sZGZrZ21sa2ZkbWdsa2RtTUFZQgogICAgICAgIEFmOENmZ2xibmpuZGJqZG5rZmpuZ2tkbmZnamtsbmRranZuYmlqZGlmamdpZXJqZ29pamRmbGtneGxrbmdrQ0MKICAgICAgICBIbWxkZmtmamdvaWRmamdnam5kamtmbmdranNkbnNram5qNXNiMk5oYkRBS0JnZ3Foa2pPUFFRREFnTkhBREJFCiAgICAgICAgQWlBdG9mZ2toOTk0NXU4OXV5OWU4dWdodWRmaGd1aGRmZmhpbGd1aGl1aGtkaGZna2pkaGZramhya2piazFwNQogICAgICAgIDVrZmRsc2lmaHU0aHRpdWg0aXR1aGtqaGt6az0KICAgICAgICAtLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCiAgICAgIGtleVBFTTogfAogICAgICAgIC0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLS0tLQogICAgICAgIE1IY0NBUUVFSUFBZThuZmJ6WnU5Yy9PQjJnZGZramdsaWRma2pibnhqa2hiZ2hiZmdoYmpoYmRqaGJzanhjazkKICAgICAgICBvZGlmanZpamRmdm9pamRmb2l2amRmb2lqZGpnbmZka2pnbmtqZGZna2pkZmtqZ2JrampoYmtnSmpYZ1p0TTcyCiAgICAgICAgZGZpb2hndXhoYmtqZ25rbGpkZm5rbGpkbmdram5rZ2puKz09CiAgICAgICAgLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQppZGVudGl1eVRydXN0QW5jaG9yc1BFTTogfAogIC0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQogIE1JSUJ3VENDQVdhZ0F3SUJBZ0lRZURacDVsRGFJeWdRNVVmTUtaZGZuZ2puZGZrZ2puZmRramdua2RqbmtkamYKICBkZmtuZ2tqYmtqZGZic2tqYm5ma2puc2RrZ2psbnhrY2pibmt4am5ja2pnbmtqbmdreGpuZ2tqeGNua2dqbkk0CiAgTURkc2xrZmpvaWVyOGhzZGY4ZmdoZzc4NGg5OHQ5OGVydWhpdXNkaGtmZ2hoc2poYmdqa2hzdmpmaHZzYVc1cgogIFpYNDhrbmdrZQogIGV4dGVybmFsU2VjcmV0OiB0cnVlCg== +ZGVidWdDb250YWluZXI6CiAgaW1hZ2U6CiAgICB2ZXJzaW9uOiBpbnN0YWxsLWRlYnVnLXZlcnNpb25KaGVhcnRiZWF0U2NoZWR1bGU6IDEgMiAzIDQgNQppZGVudGl0eToKICBpc3N1ZXI6CiAgICB0bHM6CiAgICAgIGNydFBFTTogfAogICAgICAgIC0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQogICAgICAgIE1JSUJ3RENDQVdlZ0F3SUJBZ0lSQUpSSWdaOFB0TzhFd2cxWGVwZjhUNDR3Q2dZSUtvWkl6ajBFQXdJd0tURW4KICAgICAgICBna2RqaHNsa2Roa2dkamhza2pkZmtkamhna2RqaGtkZmpibmtkZm52amtoYnZqaGRiZGpmaGJmamhiZGZNRGd5CiAgICAgICAgbGZrZGprc2xkamdrbGpkZmtnamhkZmtnamhzZGZrbGdqc2RrbGpmZ2hsa2Rmamhsa3NkZmpsa3Nkamt1YkdsdQogICAgICAgIGxzZGpoZnY1NDZtZmRza2dqaGRmamtoZ2tqZGhramhkZmtqZ2hrZGZqaGdramRmaGtqZGZoZ2tqZmRoZ2tqRnAKICAgICAgICBmY1JkZmdoZmRnbWRuZ2tqeGRuYnZqbmN2a2pua2pkbmdram5mZGtqYmt2YmpibnZja2puYmpuZGRmZ2ZkZ3QxCiAgICAgICAgMmJsa2puZ2JramhnbGpkZmxnaGtsamRmbmdqZGZuZ25sZGZrbWxrZGZqZ21sZGZrZ21sa2ZkbWdsa2RtTUFZQgogICAgICAgIEFmOENmZ2xibmpuZGJqZG5rZmpuZ2tkbmZnamtsbmRranZuYmlqZGlmamdpZXJqZ29pamRmbGtneGxrbmdrQ0MKICAgICAgICBIbWxkZmtmamdvaWRmamdnam5kamtmbmdranNkbnNram5qNXNiMk5oYkRBS0JnZ3Foa2pPUFFRREFnTkhBREJFCiAgICAgICAgQWlBdG9mZ2toOTk0NXU4OXV5OWU4dWdodWRmaGd1aGRmZmhpbGd1aGl1aGtkaGZna2pkaGZramhya2piazFwNQogICAgICAgIDVrZmRsc2lmaHU0aHRpdWg0aXR1aGtqaGt6az0KICAgICAgICAtLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCiAgICAgIGtleVBFTTogfAogICAgICAgIC0tLS0tQkVHSU4gRUMgUFJJVkFURSBLRVktLC0tLQogICAgICAgIE1IY0NBUUVFSUFBZThuZmJ6WnU5Yy9PQjJnZGZramdsaWRma2pibnhqa2hiZ2hiZmdoYmpoYmRqaGJzanhjazkKICAgICAgICBvZGlmanZpamRmdm4pamRmb2l2amRmb2lqZGpnbmZka2pnbmtqZGZna2pkZmtqZ2JrampoYmtnSmpYZ1p0TTcyCiAgICAgICAgZGZpb2hndXhoYmtqZ25rbGpkZm5rbGpkbmdram5rZ2puKz09CiAgICAgICAgLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQppZGVudGl1eVRydXN0QW5jaG9yc1BFTTogfAogIC0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQogIE1JSUJ3VENDQVdhZ0F3SUJBZ0lRZURacDVsRGFJeWdRNVVmTUtaZGZuZ2puZGZrZ2puZmRramdua2RqbmtkamYKICBkZmtuZ2tqYmtqZGZic2tqYm5ma2puc2RrZ2psbnhrY2pibmt4am5ja2pnbmtqbmdreGpuZ2tqeGNua2dqbkk0CiAgTURkc2xrZmpvaWVyOGhzZGY4ZmdoZzc4NGg5OHQ5OGVydWhpdXNkaGtmZ2hoc2poYmdqa2hzdmpmaHZzYVc1cgogIFpYNDhrbmdrZQogIGV4dGVybmFsU2VjcmV0OiB0cnVlCg== diff --git a/fuzz/corpus/6de8992d457d59a4bb50b69be27322470ed6ea9d b/fuzz/corpus/c87919497c1c5ca49d47d61569d2d673228fa964 similarity index 98% rename from fuzz/corpus/6de8992d457d59a4bb50b69be27322470ed6ea9d rename to fuzz/corpus/c87919497c1c5ca49d47d61569d2d673228fa964 index f4a599b02..ecc60bada 100644 --- a/fuzz/corpus/6de8992d457d59a4bb50b69be27322470ed6ea9d +++ b/fuzz/corpus/c87919497c1c5ca49d47d61569d2d673228fa964 @@ -2746,80 +2746,8 @@ iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +1dc6PKs2yL9kKwZion=''?>AAEuLPKs-EhrRrYgnz70bnYFZqakf6HJ#c0 +' + + + Title + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
3tokensecretkeypassword
bace4d19-fa7e-beer-care-9129474bcd815EcRe7_r0AK1AGIREOGIAWSKEY555Pas1wrD0
bace4d19-fa7e-beer-care-9129474bcd82AKDR_C1r17-K3Y0-SeCrt-2SDFHBH2398SG5VF62VZVQFG2TYGVF9WYSGRDEAD-BEEF3TJDSLKGDFG4MTB34UHWYYSDFHKSDKJH34SH093lPas1wrD2
3bace4d19-fa7e-beer-care-9129474bcd83c1R345_4s12fey10284-8946-3216-40103216-4010-0284-894"6Pas1wrD3
4bace \ No newline at end of file diff --git a/fuzz/corpus/d640fe3a78db30b037e761164f93f6209cc4b356 b/fuzz/corpus/d640fe3a78db30b037e761164f93f6209cc4b356 new file mode 100644 index 000000000..11113f889 --- /dev/null +++ b/fuzz/corpus/d640fe3a78db30b037e761164f93f6209cc4b356 @@ -0,0 +1 @@ +var emai'7e4v6v5j2nepcc8f5zvatgl9g'; diff --git a/fuzz/corpus/d9674ab04a1e933819569158f8956121a8976b8a b/fuzz/corpus/d9674ab04a1e933819569158f8956121a8976b8a new file mode 100644 index 000000000..772bf7db1 --- /dev/null +++ b/fuzz/corpus/d9674ab04a1e933819569158f8956121a8976b8a @@ -0,0 +1 @@ +AIzaGiReoG-CrackleCrackle12315618_12315 diff --git a/fuzz/corpus/d9d5210bca5e269280b69a2c09b4b8f98e37bd6e b/fuzz/corpus/d9d5210bca5e269280b69a2c09b4b8f98e37bd6e new file mode 100644 index 000000000..1ae4ade4b --- /dev/null +++ b/fuzz/corpus/d9d5210bca5e269280b69a2c09b4b8f98e37bd6e @@ -0,0 +1 @@ +xoxa-FSYLIKEAGIREOGI%9d8 diff --git a/fuzz/corpus/dba0fdb96df5365adb3ea7e0760dad05cad1985f b/fuzz/corpus/dba0fdb96df5365adb3ea7e0760dad05cad1985f new file mode 100644 index 000000000..41a7f1bd4 --- /dev/null +++ b/fuzz/corpus/dba0fdb96df5365adb3ea7e0760dad05cad1985f @@ -0,0 +1,85 @@ + + + Password storage - Confluence + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
# + hostname + user + password + secret +
1 + 192.168.0.1 + admin + +
2 + 10.0.0.1 + user + Cr3DeHTbIal + + Ndjbwu88s22ygavsdhgt5454v3h1x +
test + pass + fail + version +
+ + + + + + + + + + + +
token +
H72gsdv2dswPneHduwhfd
+
password + p@$$w0Rd42 + 0 +
+ +
508627689:AAEuLPKs-EhrjrYGnz60bnYNZqakf6HJxc0
+ + + + +
Password: + MU$T6Ef09#D! + \ No newline at end of file diff --git a/fuzz/corpus/dc27b806c3be5d8a9c2ada880aab3c70426698ff b/fuzz/corpus/dc27b806c3be5d8a9c2ada880aab3c70426698ff new file mode 100644 index 000000000..497bf7a42 --- /dev/null +++ b/fuzz/corpus/dc27b806c3be5d8a9c2ada880aab3c70426698ff @@ -0,0 +1,64 @@ +98.76.54.32 (master/IhqSb1Gg) +98.76.54.32(master/IhqSb1Gg) +master@98.76.5Ž.32(pw:IhqSb1Gg) +ID:gildong.hong@example.com mailto:{1} PW:IhqSb1Gg +Password:master/IhqSb1Gg +ssh gildong.hong@98.76.54.32 mailto:{1} (PW:IhqSb1Gg) +ssh gildong.hong@98.76.54.32 mailto:{1} password:IhqSb1Gg +IhqSb1Gg +계정,ëı„번-master:IhqSb1Gg +password master/IhqSb1Gg +ssh -P IhqSb1Gg gildong.hong@98.76.54.32 mailto:{1} (password:IhqSb1Gg) +ID:master/IhqSb1Gg +ID/Pass:xxxx:master/IhqSb1Gg,xxxx:master/IhqSb1Gg +98.76.54.32 xxxx (master/IhqSb1Gg) +gildong.hong@98.76.54.32 pwd:IhqSb1Gg +계정:master(PW:IhqSb1Gg) +98.76.54.32(pw:IhqSb1Gg) +login/password-master/IhqSb1Gg +98.76.54.32/pw:%PDF-on +new file mode 100mV?d00001 + +diff --gitIhqSb1Gg +ID:gildong.hong@example.com mailto:{1}/pw:IhqSb1Gg +ID:gildong.hong@any.example.com mailto:{1} PWD:IhqSb1Gg +sftp gildong.hong@98.76.54.32 mailto:{1} (pw:IhqSb1Gg) +gildong.hong@98.76.54.32 mailto:{1} (pw:IhqSb1Gg) +-id:gildong.hong@example.com mailto:{1} -pwd:IhqSb1Gg +ssh gildong.hong@98.76.54.32 mailto:{1} (password:IhqSb1Gg) +ssh gildong.hong@98.76.54.32 mailto:{1} master/IhqSb1Gg +ID gildong.hong@example.com mailto:{1} Password IhqSb1Gg +id:gildong.hong@example.com mailto:{1} password:IhqSb1Gg + +패스워드ANY IhqSb1Gg +ANY_password,default:IhqSb1Gg +Key(ANYSecret):IhqSb1Gg +아이디(xxxx) ëı„밀번호(IhqSb1Gg) +98.76.54.32 ANY_PW:IhqSb1Gg +secret)IhqSb1Gg +98.76.54.32(ID/PW:IhqSb1Gg) +ANYIMSI=IhqSb1Gg +gildo bHcmV?d0000EAYZQ=ik1_J;YNemtU + +literaì 0 +HcmV?d0000EAYZQ=|2*k--git db43af63c59ca +GIT binary patch +literal 40 +mcmZ?ttV(px3`)&+&vY(IOwP_pgng.hong@98.76.54.32 (pwd:IhqSb1Gg) +ID/Password for master (master/IhqSb1Gg) +xxxx:master/IhqSb1Gg +password in xxxx is IhqSb1Gg +ssh -p 2222 # port number - not a password +password for master:IhqSb1Gg +gildong.hong@98.76.54.32(master/IhqSb1Gg) +ID/Pass:xxxx:master/IhqSb1Gg xxxx:master/IhqSb1Gg +id:xxxx(ANYp;It_#)hV5h8Bik1_J;YNemtU + +literaì 0 +HcmV?d00001 + +diff --git bHcmV?d0000EAYZ644 +index|2*86..a#I?WBEWEAYZQ=|2*k--git dw:IhqSb1Ga) +gildong.hong@98.7b43af63c59craì 6.54.32,pw:IhqSb1Gg +98.76.0 +54.H \ No newline at end of file diff --git a/fuzz/corpus/da864e2c832546eecc4b93cc32bcb2fed4dcf0f8 b/fuzz/corpus/e2c4f9fa050d07307104a8101f6d91125cf4d547 similarity index 79% rename from fuzz/corpus/da864e2c832546eecc4b93cc32bcb2fed4dcf0f8 rename to fuzz/corpus/e2c4f9fa050d07307104a8101f6d91125cf4d547 index d38565cd1..e39af49cb 100644 Binary files a/fuzz/corpus/da864e2c832546eecc4b93cc32bcb2fed4dcf0f8 and b/fuzz/corpus/e2c4f9fa050d07307104a8101f6d91125cf4d547 differ diff --git a/fuzz/corpus/b18fb44afd907e953f4c48bd47453a032b873ffe b/fuzz/corpus/ebeaeca1b634d127e168602b8fd8c124a9c6fb5b similarity index 91% rename from fuzz/corpus/b18fb44afd907e953f4c48bd47453a032b873ffe rename to fuzz/corpus/ebeaeca1b634d127e168602b8fd8c124a9c6fb5b index 4c45e8429..4068f62b9 100644 Binary files a/fuzz/corpus/b18fb44afd907e953f4c48bd47453a032b873ffe and b/fuzz/corpus/ebeaeca1b634d127e168602b8fd8c124a9c6fb5b differ diff --git a/fuzz/corpus/bc18642808902b69095eb6400481b611d66e95cf b/fuzz/corpus/ec6f2825b37ac55af0e53e2763b06bf80bc9887b similarity index 54% rename from fuzz/corpus/bc18642808902b69095eb6400481b611d66e95cf rename to fuzz/corpus/ec6f2825b37ac55af0e53e2763b06bf80bc9887b index c90781348..71d5caf25 100644 --- a/fuzz/corpus/bc18642808902b69095eb6400481b611d66e95cf +++ b/fuzz/corpus/ec6f2825b37ac55af0e53e2763b06bf80bc9887b @@ -1,373 +1,4 @@ -sq0atp-GIREOGICRACKLE12145178 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +WPFES7ŻQNTET5DQY0000000000000000000 @@ -485,4 +116,4 @@ value = "-----BEGIN ...NSSH%PRIVATE KEY-----" \9"Proc-Type: -CBC,91ABCDB07DEsD35 'Fzsvi45m" + "HS8 -Zuy \ No newline at end of file +Zu00000000000000000000000000000000C diff --git a/fuzz/corpus/cf3f5c36f0bd60ef9b7285a9c7b0982ce462e40e b/fuzz/corpus/eefcc283d1703fd0b8158c5b042f16db846a535c similarity index 75% rename from fuzz/corpus/cf3f5c36f0bd60ef9b7285a9c7b0982ce462e40e rename to fuzz/corpus/eefcc283d1703fd0b8158c5b042f16db846a535c index 994725bc7..2bcbeb844 100644 --- a/fuzz/corpus/cf3f5c36f0bd60ef9b7285a9c7b0982ce462e40e +++ b/fuzz/corpus/eefcc283d1703fd0b8158c5b042f16db846a535c @@ -7,7 +7,7 @@ url = "https://secure.com/83675/39084?Credential=546DFS64N90P3AW7DX%2Fkeep%26cut // "fp://no.host.real/any/path/to/nowhere/","key":"f45VgF8jX79o@anydata.com" /* partially line to sanitize url-like items -28989?Credential=546DFS64N90P3AW7DX&key=3487263-2384579834-234ħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħ732875-345&hasToBeftund=2 +39084?Credential=546DFS64N90P3AW7DX&key=3487263-2384579834-234732875-345&hasToBefound=2 */ email_as_login = "smtps://example@gmail.com:FnD83JZs@smtp.gmail.com:465"; diff --git a/fuzz/corpus/f1db5b174975f638551cd8c0f50bd3b1458c5376 b/fuzz/corpus/f1db5b174975f638551cd8c0f50bd3b1458c5376 new file mode 100644 index 000000000..e0eab234b --- /dev/null +++ b/fuzz/corpus/f1db5b174975f638551cd8c0f50bd3b1458c5376 @@ -0,0 +1,6 @@ +password = "abc" +RUN openssl x509 -req -days 365 -passin "file:dkajco1" -sha256 -in server.csr -CA ca.pem -CAkey ca-key + +# two lines for UUE filter +M[@%]PW:2Z.Q?2M^S;`4G?E0C.@V&?0KY]]"H3Y@6$#I4V*R^"+B,2P6`A)UL +M>1D!ZT;JA?AD9%I_+YD/,6X7/D-LCAWT\/Y<+1-JL*"1UX/I731CLB<\Q=CZ diff --git a/fuzz/corpus/f2bbefb1e191ba947a862ee69f7fb02df9a0a58b b/fuzz/corpus/f2bbefb1e191ba947a862ee69f7fb02df9a0a58b deleted file mode 100644 index 2698aefba..000000000 --- a/fuzz/corpus/f2bbefb1e191ba947a862ee69f7fb02df9a0a58b +++ /dev/null @@ -1,8 +0,0 @@ -{ - "key": "api_ diff --git a/fuzz/corpus/a26b30c255734d3918065bdcda4e860e2f723acd b/fuzz/corpus/f7e1173941966c9b882cb1c848b4202db8c3b5dc similarity index 69% rename from fuzz/corpus/a26b30c255734d3918065bdcda4e860e2f723acd rename to fuzz/corpus/f7e1173941966c9b882cb1c848b4202db8c3b5dc index a3c379a85..b753b2aed 100644 --- a/fuzz/corpus/a26b30c255734d3918065bdcda4e860e2f723acd +++ b/fuzz/corpus/f7e1173941966c9b882cb1c848b4202db8c3b5dc @@ -4,13 +4,7 @@ B+g9RMD0u6ZNQJBAMla\\\\nUJmySGuRnbAYu7PJURH90AOG0QOQ1Jp6yBMKgYIB\\ Uaxk9J5Th8BXPyC1mclPMS7J\\\\ngMuobiFdIpryq51pvHkCQQDInvDaKI24Ho+cj6SCKnEO4kbjh/yx1XGwNmY0ld1i\\r5micHFiMI7/IcVZ4\n 2cl1OwdGjRdmO1LT6P1cl8UYIj/S\n-----END RSA PRIVATE KEY-----"""; -# all private key in single line -char pk[] = "\\n-----BEGIN EC PRIVATE KRqELGE1U+Vll3izwuqr1UzCZ61gZn ------END OPENSSH FAKE PRIVATE KEY----- - -# fake with ellipsis ------BEGIN PGP PRIVATE KEY----- -i7aHavqQ9T2f2drU4N5WsM7aqQ97kbB/K4RUPdit+tIpqSb1GgYdbj4...impQ6sr9BuseERqELGE1U+Vll3izwuqr1UzCZ61gZnwPDBsD02jF038wYU6mZT +# all private key in single lin1U+Vll3izwuqr1UzCZ61gZnwPDBsD02jF038wY99999999999999999999999999999999999999999999999999999999999999999999=9999999999999999999999U6mZT -----END PGP PRIVATE KEY----- # low entropy fake key diff --git a/fuzz/corpus/f959b7347433676d6f0958095cdf9f0a4f8979ea b/fuzz/corpus/f959b7347433676d6f0958095cdf9f0a4f8979ea deleted file mode 100644 index aac5e0fb4..000000000 --- a/fuzz/corpus/f959b7347433676d6f0958095cdf9f0a4f8979ea +++ /dev/null @@ -1,28 +0,0 @@ -# various line ending for sanitize -str value = "-----BEGIN RSA PRIVATE KEY-----\n" + -"MIICXQIBAAKBgQDwcEN7vZygGg6DvPpsw17hRD6S5N8+huaqs1JGXQfPhbvLTUsHdzGLVNQ/Z0wQVGdPiaJDflqhcT1IH8BLD4SHn+ \n" - + "WuRIzX77P7oVKM2CoTA6VzT6s/bvr7HxFLl4NhohfyDsV0YCDc4I6EHGWMCUHZb0IWxzEGRWD3jbG8KAZUsQIDAQABAoGAOD7a2o\r \n" -" CRujY+PP0hS/4sHOBdDvnxa2wdW8NVNNagdCBhvP5Y1edBNMnkWOyuM4e7HzUgO0+8ndWis1OSJTz9EFTyHJm6GOn+/JR62NWNr " - "9lfCb8cWq0eoOk3UUO9P+1nZNHjE/iDhuTi3x/5naW4SzdkZfxHo/NMI6i5w1ZnQ60CQQD9d0G8gBy6lPhC \\ -""" mbHzYovVjSnyfzUtyWPNSrXNiUCR5vu2f6eCgSVzFZ0oHAv8nLaYnXrhyT25lwzNK5OhR/oPAkEA8tep3NmfxV """ + -QSBfKGfotblIG709xxfd6vHfDS0eZuTFUxkZDcayZDhMDjTMZxP8rokSbMaOSqUseUeYhx5TqFPwJAAhC0smyWz1ZjZ3eFIayN4yGRU+6B\r\n -"amwXqhaPwKr7obS2HFiR7thKi9ODQk5oMpi8TCYMWEahgB+g9RMD0u6ZNQJBAMla\\\\nUJmySGuRnbAYu7PJURH90AOG0QOQ1Jp6yBMKgYIB\\ -Uaxk9J5Th8BXPyC1mclPMS7J\\\\ngMuobiFdIpryq51pvHkCQQDInvDaKI24Ho+cj6SwCKnEO4kbjh/yx1XGwNmY907FA==\\n-----END EC PRIVATE KEY-----\n"; - -# fake with spaces inside ------BEGIN OPENSSH FAKE PRIVATE KEY----- -i7aHavqQ9T2f2drWsM7aqQ97kbB/K4RUPdit+tIpqSb1GgY44yg6lckfoLMH not a real key ajimpQ6sr9BuseERqELGE1U+Vll3izwuqr1UzCZ61gZn ------END OPENSSH FAKE PRIVATE KEY----- - -# fake$with ellipsis ------BEGIN PGP PRIVATE KEY----- -i7aHavqQ9T2f2drU4N5WsM7aqQ97kbB/K4RUPdit+tIpqSb1GgYdbj4...impQ6sr9BuseERqELGE1U+Vll3izwuqr1UzCZ61gZnwPDBsD02jF038wYU6mZT ------END PGP PRIVATE KEY----- - -# low entropy fake key ------BEGIN OPENSSH LOW ENTROPY PRIVATE KEY----- -12345678901231278634987284736283548102438723941563428762374129402103402394932746672734543˙˙˙˙˙˙˙˙˙˙˙664375t7323341253845186253784== ------END LOW ENTROPY PRIVATE KEY----- - -header="-----BEGIN OPENSSH EMPTY PRIVATE KEY-----" -footer="-----END OPENSSH EMPTY PRIVATE KEY-----" \ No newline at end of file diff --git a/fuzz/corpus/fa2265e78fc41ace3161f113d18803ed0df84f7d b/fuzz/corpus/fa2265e78fc41ace3161f113d18803ed0df84f7d new file mode 100644 index 000000000..96c43ce51 --- /dev/null +++ b/fuzz/corpus/fa2265e78fc41ace3161f113d18803ed0df84f7d @@ -0,0 +1 @@ +MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.E2-E4_.Zig9JybCgFSvfqgSvfqgY9Eg5O_qDje diff --git a/fuzz/corpus/fe83e23de73f6edab5e63b8d525af05417638f03 b/fuzz/corpus/fa22d7dbeec35666cc475b6947b970bd74527e68 similarity index 76% rename from fuzz/corpus/fe83e23de73f6edab5e63b8d525af05417638f03 rename to fuzz/corpus/fa22d7dbeec35666cc475b6947b970bd74527e68 index fa879aacc..0bc13ac25 100644 --- a/fuzz/corpus/fe83e23de73f6edab5e63b8d525af05417638f03 +++ b/fuzz/corpus/fa22d7dbeec35666cc475b6947b970bd74527e68 @@ -1,9 +1,9 @@ %PDF-2.0 -1 0 obj < /Kids [3 0 R] /Count 1>> +1 0 obj <> endobj -3 0 obj<> +2 0 obj <> endobj -4800] /Contents 6 0 R>> +3 0 obj<> endobj 4 0 obj<>>> endobj @@ -17,10 +17,9 @@ endstream endobj xref 0 7 -0000000000 65535 f -0000000009 00000 n +009 00000 n 0000000056 00000 n -0000000111 00000 n +0000000111 "url" 00000 n 0000000212 00000 n 0000000250 00000 n 0000000317 00000 n diff --git a/fuzz/corpus/fab48c18183544966d23d34b3cf1ceffccbfb15a b/fuzz/corpus/fab48c18183544966d23d34b3cf1ceffccbfb15a new file mode 100644 index 000000000..d06728aaa --- /dev/null +++ b/fuzz/corpus/fab48c18183544966d23d34b3cf1ceffccbfb15a @@ -0,0 +1,35 @@ +ID/PW:master/iPp0@GRq +ANYID(PW):master(iPp1@GRq) +ID/Password:master/iPp2@GRq +ID/Pass:master/iPp3@GRq +ID:PW=master:iPp4@GRq +ID/PW=master/iPp5@GRq +id/pw master/iPp6@GRq +username/password:master/iPp7@GRq +id/passwd:master/iPp8@GRq +ID PW master iPp9@GRq +98.76.54.32(ID:master/PW:iPp10@GRq) # todo: move into other sample ? +id/pass master/iPp11@GRq +ANYID PW master iPp12@GRq # many FP + + ID / PW : db / iPp14@GRq +ID/PWD-master/iPp15@GRq +아이디/PW:master/iPp16@GRq +계정/PW:master/iPp17@GRq +ID/PW(master/iPp18@GRq) +98.76.54.32 id/pw:master/iPp19@GRq +id/pass:master,iPp20@GRq +ID/PWD:master/iPp21@GRq +user/pwd:master/iPp22@GRq +id pw master // iPp23@GRq +User/Password master/iPp24@GRq +user/pass:master/iPp25@GRq +id/pwd master/iPp26@GRq +ID/Password=master/iPp27@GRq +ID/PW:master/iPp28@GRq +ID/PW->master/iPp29@GRq + +Default ID/PW are wpasp/wpasp. + +# FP: +password: diff --git a/fuzz/corpus/fdfe989465afb1b8da416aa159041dc97fd0d945 b/fuzz/corpus/fdfe989465afb1b8da416aa159041dc97fd0d945 new file mode 100644 index 000000000..bf67c24cd Binary files /dev/null and b/fuzz/corpus/fdfe989465afb1b8da416aa159041dc97fd0d945 differ diff --git a/fuzz/corpus/24d3f230381e9c22bd4416d6fb3853906456d128 b/fuzz/corpus/fe2734cd9b832528c2ebc5e83650d39edbbd0f9b similarity index 85% rename from fuzz/corpus/24d3f230381e9c22bd4416d6fb3853906456d128 rename to fuzz/corpus/fe2734cd9b832528c2ebc5e83650d39edbbd0f9b index bff735cd5..59b72fcc4 100644 Binary files a/fuzz/corpus/24d3f230381e9c22bd4416d6fb3853906456d128 and b/fuzz/corpus/fe2734cd9b832528c2ebc5e83650d39edbbd0f9b differ diff --git a/pyproject.toml b/pyproject.toml index 575552941..16af44290 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,11 +15,13 @@ dependencies = [ "lxml; platform_system != 'Darwin'", "numpy<2.0.0", "oauthlib", + "odfpy", "onnxruntime", "openpyxl", "pandas", "password-strength", "pdfminer.six", + "python-pptx", "pybase62", "pyjks", "python-dateutil", diff --git a/requirements.txt b/requirements.txt index 654affe8b..64c0b64e8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,11 +15,13 @@ requests==2.32.0 typing_extensions==4.9.0 whatthepatch==1.0.6 pdfminer.six==20231228 +python-pptx==1.0.2 password-strength==0.0.3.post2 python-dateutil==2.8.2 pyjks==20.0.0 pybase62==1.0.0 base58==2.1.1 +odfpy==1.4.1 # ML requirements numpy==1.24.4 diff --git a/tests/__init__.py b/tests/__init__.py index b3fedfab4..8d4df307e 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,7 +1,7 @@ from pathlib import Path # total number of files in test samples -SAMPLES_FILES_COUNT: int = 134 +SAMPLES_FILES_COUNT: int = 137 # the lowest value of ML threshold is used to display possible lowest values NEGLIGIBLE_ML_THRESHOLD = 0.0001 @@ -14,10 +14,10 @@ SAMPLES_POST_CRED_COUNT: int = 364 # with option --doc -SAMPLES_IN_DOC = 440 +SAMPLES_IN_DOC = 443 # archived credentials that are not found without --depth -SAMPLES_IN_DEEP_1 = SAMPLES_POST_CRED_COUNT + 23 +SAMPLES_IN_DEEP_1 = SAMPLES_POST_CRED_COUNT + 30 SAMPLES_IN_DEEP_2 = SAMPLES_IN_DEEP_1 + 53 SAMPLES_IN_DEEP_3 = SAMPLES_IN_DEEP_2 + 1 diff --git a/tests/data/depth_3.json b/tests/data/depth_3.json index ec90d3855..215662451 100644 --- a/tests/data/depth_3.json +++ b/tests/data/depth_3.json @@ -472,6 +472,212 @@ } ] }, + { + "api_validation": "NOT_AVAILABLE", + "ml_validation": "NOT_AVAILABLE", + "ml_probability": null, + "rule": "AWS Client ID", + "severity": "high", + "confidence": "moderate", + "line_data_list": [ + { + "line": "AKIAGIREOGIODT1X4BT7", + "line_num": 2, + "path": "./tests/samples/aws_id.ods", + "info": "./tests/samples/aws_id.ods|ZIP|content.xml|RAW", + "value": "AKIAGIREOGIODT1X4BT7", + "value_start": 3882, + "value_end": 3902, + "variable": null, + "variable_start": -2, + "variable_end": -2, + "entropy_validation": { + "iterator": "BASE64_CHARS", + "entropy": 3.6841837197791887, + "valid": false + } + } + ] + }, + { + "api_validation": "NOT_AVAILABLE", + "ml_validation": "NOT_AVAILABLE", + "ml_probability": null, + "rule": "UUID", + "severity": "info", + "confidence": "strong", + "line_data_list": [ + { + "line": " Click to edit the title text format<footer><number><date/time>", + "line_num": 2, + "path": "./tests/samples/aws_id.pptx", + "info": "./tests/samples/aws_id.pptx|ZIP|ppt/slideMasters/slideMaster1.xml|RAW", + "value": "1B26FE4F-8819-409F-9556-40447A77EBF2", + "value_start": 3868, + "value_end": 3904, + "variable": null, + "variable_start": -2, + "variable_end": -2, + "entropy_validation": { + "iterator": "HEX_CHARS", + "entropy": 3.342171793538618, + "valid": true + } + } + ] + }, + { + "api_validation": "NOT_AVAILABLE", + "ml_validation": "NOT_AVAILABLE", + "ml_probability": null, + "rule": "UUID", + "severity": "info", + "confidence": "strong", + "line_data_list": [ + { + "line": " Footer<#>", + "line_num": 2, + "path": "./tests/samples/aws_id.pptx", + "info": "./tests/samples/aws_id.pptx|ZIP|ppt/slideLayouts/slideLayout1.xml|RAW", + "value": "42F61B0C-09B2-455B-8854-E1D3A3979B74", + "value_start": 2610, + "value_end": 2646, + "variable": null, + "variable_start": -2, + "variable_end": -2, + "entropy_validation": { + "iterator": "HEX_CHARS", + "entropy": 3.5535506956063068, + "valid": true + } + } + ] + }, + { + "api_validation": "NOT_AVAILABLE", + "ml_validation": "NOT_AVAILABLE", + "ml_probability": null, + "rule": "AWS Client ID", + "severity": "high", + "confidence": "moderate", + "line_data_list": [ + { + "line": " Follow the white rabbitAKIAGIREOGIPPTX1Y45X", + "line_num": 2, + "path": "./tests/samples/aws_id.pptx", + "info": "./tests/samples/aws_id.pptx|ZIP|ppt/slides/slide1.xml|RAW", + "value": "AKIAGIREOGIPPTX1Y45X", + "value_start": 2403, + "value_end": 2423, + "variable": null, + "variable_start": -2, + "variable_end": -2, + "entropy_validation": { + "iterator": "BASE64_CHARS", + "entropy": 3.6841837197791887, + "valid": false + } + } + ] + }, + { + "api_validation": "NOT_AVAILABLE", + "ml_validation": "NOT_AVAILABLE", + "ml_probability": null, + "rule": "AWS Multi", + "severity": "high", + "confidence": "moderate", + "line_data_list": [ + { + "line": " Follow the white rabbitAKIAGIREOGIPPTX1Y45X", + "line_num": 2, + "path": "./tests/samples/aws_id.pptx", + "info": "./tests/samples/aws_id.pptx|ZIP|ppt/slides/slide1.xml|RAW", + "value": "AKIAGIREOGIPPTX1Y45X", + "value_start": 2403, + "value_end": 2423, + "variable": null, + "variable_start": -2, + "variable_end": -2, + "entropy_validation": { + "iterator": "BASE64_CHARS", + "entropy": 3.6841837197791887, + "valid": false + } + }, + { + "line": " Follow the white rabbitAKIAGIREOGIPPTX1Y45X", + "line_num": 2, + "path": "./tests/samples/aws_id.pptx", + "info": "./tests/samples/aws_id.pptx|ZIP|ppt/slides/slide1.xml|RAW", + "value": "org/officeDocument/2006/relationships", + "value_start": 179, + "value_end": 216, + "variable": null, + "variable_start": -2, + "variable_end": -2, + "entropy_validation": { + "iterator": "BASE36_CHARS", + "entropy": 3.794653677335903, + "valid": true + } + } + ] + }, + { + "api_validation": "NOT_AVAILABLE", + "ml_validation": "NOT_AVAILABLE", + "ml_probability": null, + "rule": "UUID", + "severity": "info", + "confidence": "strong", + "line_data_list": [ + { + "line": "", + "line_num": 2, + "path": "./tests/samples/aws_id.xlsx", + "info": "./tests/samples/aws_id.xlsx|ZIP|xl/workbook.xml|RAW", + "value": "7626C862-2A13-11E5-B345-FEFF819CDC9F", + "value_start": 714, + "value_end": 750, + "variable": null, + "variable_start": -2, + "variable_end": -2, + "entropy_validation": { + "iterator": "HEX_CHARS", + "entropy": 3.4770260427684323, + "valid": true + } + } + ] + }, + { + "api_validation": "NOT_AVAILABLE", + "ml_validation": "NOT_AVAILABLE", + "ml_probability": null, + "rule": "AWS Client ID", + "severity": "high", + "confidence": "moderate", + "line_data_list": [ + { + "line": "AKIAGIREOGIAXLSX4BT5", + "line_num": 2, + "path": "./tests/samples/aws_id.xlsx", + "info": "./tests/samples/aws_id.xlsx|ZIP|xl/sharedStrings.xml|RAW", + "value": "AKIAGIREOGIAXLSX4BT5", + "value_start": 125, + "value_end": 145, + "variable": null, + "variable_start": -2, + "variable_end": -2, + "entropy_validation": { + "iterator": "BASE64_CHARS", + "entropy": 3.6464393446710153, + "valid": false + } + } + ] + }, { "api_validation": "NOT_AVAILABLE", "ml_validation": "NOT_AVAILABLE", diff --git a/tests/data/doc.json b/tests/data/doc.json index abd7f1ccd..c9094df05 100644 --- a/tests/data/doc.json +++ b/tests/data/doc.json @@ -215,6 +215,87 @@ } ] }, + { + "api_validation": "NOT_AVAILABLE", + "ml_validation": "NOT_AVAILABLE", + "ml_probability": null, + "rule": "AWS Client ID", + "severity": "high", + "confidence": "moderate", + "line_data_list": [ + { + "line": "AKIAGIREOGIODT1X4BT7", + "line_num": 1, + "path": "./tests/samples/aws_id.ods", + "info": "./tests/samples/aws_id.ods|xlsx:Sheet1", + "value": "AKIAGIREOGIODT1X4BT7", + "value_start": 0, + "value_end": 20, + "variable": null, + "variable_start": -2, + "variable_end": -2, + "entropy_validation": { + "iterator": "BASE64_CHARS", + "entropy": 3.6841837197791887, + "valid": false + } + } + ] + }, + { + "api_validation": "NOT_AVAILABLE", + "ml_validation": "NOT_AVAILABLE", + "ml_probability": null, + "rule": "AWS Client ID", + "severity": "high", + "confidence": "moderate", + "line_data_list": [ + { + "line": "AKIAGIREOGIPPTX1Y45X", + "line_num": 2, + "path": "./tests/samples/aws_id.pptx", + "info": "./tests/samples/aws_id.pptx|pptx", + "value": "AKIAGIREOGIPPTX1Y45X", + "value_start": 0, + "value_end": 20, + "variable": null, + "variable_start": -2, + "variable_end": -2, + "entropy_validation": { + "iterator": "BASE64_CHARS", + "entropy": 3.6841837197791887, + "valid": false + } + } + ] + }, + { + "api_validation": "NOT_AVAILABLE", + "ml_validation": "NOT_AVAILABLE", + "ml_probability": null, + "rule": "AWS Client ID", + "severity": "high", + "confidence": "moderate", + "line_data_list": [ + { + "line": "AKIAGIREOGIAXLSX4BT5", + "line_num": 1, + "path": "./tests/samples/aws_id.xlsx", + "info": "./tests/samples/aws_id.xlsx|xlsx:Sheet1", + "value": "AKIAGIREOGIAXLSX4BT5", + "value_start": 0, + "value_end": 20, + "variable": null, + "variable_start": -2, + "variable_end": -2, + "entropy_validation": { + "iterator": "BASE64_CHARS", + "entropy": 3.6464393446710153, + "valid": false + } + } + ] + }, { "api_validation": "NOT_AVAILABLE", "ml_validation": "NOT_AVAILABLE", diff --git a/tests/samples/aws_id.ods b/tests/samples/aws_id.ods new file mode 100644 index 000000000..43fee35bd Binary files /dev/null and b/tests/samples/aws_id.ods differ diff --git a/tests/samples/aws_id.pptx b/tests/samples/aws_id.pptx new file mode 100644 index 000000000..b75994795 Binary files /dev/null and b/tests/samples/aws_id.pptx differ diff --git a/tests/samples/aws_id.xlsx b/tests/samples/aws_id.xlsx new file mode 100644 index 000000000..2655e1a94 Binary files /dev/null and b/tests/samples/aws_id.xlsx differ