// pypi 패키지
noteparse
a package for parse html to noteinfo
버전
36
메인테이너
1
라이선스
MIT
최초 publish
2024-12-05
publisher
maoyuyan
tarball
30,701 B
AUTO-PUBLISHED·1개 버전 인덱싱됨·최근 publish: 2026-05-26
// exfil path
what is read → where it shipssteals
- ○ home dir
sends to
(no destination string extracted — payload may be dynamic / obfuscated)
evidence in excerpt
> # url="https://github.com/m294567571/noteparse.git", # 自己项目地址,比如github的项目地址 > # http://gitlab.uniview.com/mkt_uic/uic-spider.git
// offending code· @1.1.27· 3 files flagged
llm: benign · 0.85→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s).
- @1.1.27··AUTO-PUBLISHED·publisher: maoyuyanheuristic 75/100static flags 4llm benign (0.85) via ollamapypi-sdist-setup-pynew-publisher:0dmature-packageosv-flagged:MAL-2026-4813public-github-pushreads-homedirarchive-then-uploadpy-requests-post
→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s).
// offending code· 3 files flaggedpatterns: 4
--- noteparse-1.1.27/setup.py (excerpt) --- import setuptools # 导入setuptools打包工具 # with open("README.md", "r", encoding="utf-8") as fh: # long_description = fh.read() setuptools.setup( name="noteparse", # 用自己的名替换其中的YOUR_USERNAME_ version="1.1.27", # 包版本号,便于维护版本,保证每次发布都是版本都是唯一的 author="maoyuyan", # 作者,可以写自己的姓名 author_email="294567571@qq.com", # 作者联系方式,可写自己的邮箱地址 description="a package for parse html to noteinfo", # 包的简述 long_description=open("README.md", "r", encoding="utf-8").read(), # 包的详细介绍,一般在README.md文件内 long_description_content_type="text/markdown", platforms=["all"], # url="https://github.com/m294567571/noteparse.git", # 自己项目地址,比如github的项目地址 # http://gitlab.uniview.com/mkt_uic/uic-spider.git packages=setuptools.find_packages(), # entry_points={ # "console_scripts" : ['noteparse = noteparse.__init__:init'] # }, #安装成功后,在命令行输入mwjApiTest 就相当于执行了mwjApiTest.manage.py中的run了 install_requires=[ 'requests>=2.32.3', 'bs4>=0.0.2', 'fastapi>=0.115.4', 'pydantic>=2.7.3', 'loguru>=0.7.2', 'zhipuai>=2.1.5.20230904', 'selenium>=4.21.0', 'fake-useragent>=1.5.1' ], classifiers=[ # 发展时期,常见的如下 # 3 - Alpha # 4 - Beta # 5 - Production/Stable 'Development Status :: 4 - Beta', # 开发的目标用户 'Intended Audience :: Developers', # 许可证信息 'License :: OSI Approved :: MIT License', --- noteparse-1.1.27/noteparse/configReader.py (excerpt) --- import os import configparser from io import StringIO from minio import Minio from minio.error import S3Error import traceback _end_point = "uicfile.uniview.com" _bucket_name = "uicpro" _access_key = "uicpro" _secret_key = "uicpropass123*" # ossconfig地址 object_name = 'uic-config.ini' download_path = 'uicfile.uniview.com/uicpro/uic-config.ini' configPath = '/home' def reSetConfigPath(path): global configPath configPath = path # def readConfig(*keys,section): # readConfigFromOss(*keys,section) # keys传入多个key,section传入对应的type def readConfigWithPath(*keys,section): # windows环境文件放E盘根目录 # linux环境文件放/root/.crawlab目录下 if 'nt' == os.name: configPath = 'E:\\' else: configPath = '/root/.crawlab' # 使用 os.path.expanduser 获取当前用户的 home 目录 home_dir = os.path.expanduser(configPath) # 构建完整路径到 .ini 文件 ini_file_path = os.path.join(home_dir, 'uic_config.ini') # 初始化 ConfigParser config = configparser.ConfigParser() result = {} # 读取配置文件 if os.path.exists(ini_file_path): config.read(ini_file_path) for key in keys: # 假设 [Credentials] 是 section 名称 try: val = config.get(section, key) result[key] = val except configparser.NoSectionError as e: print("Error reading the file for key:",key, e) else: print(f"The file {ini_file_path} does not exist.") return --- noteparse-1.1.27/noteparse/daily_driver.py (excerpt) --- from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import zipfile import string import time from datetime import datetime import noteparse.proxyHelper as proxy import traceback from fake_useragent import UserAgent from noteparse.configReader import readConfig proxyConf = readConfig('minute_url','minute_user','minute_pwd','daily_url','daily_user','daily_pwd',section='proxyConfig') # 带账密的代理selenium def create_proxy_auth_extension(proxy_host, proxy_port, proxy_username, proxy_password, scheme='http', plugin_path=None): if plugin_path is None: plugin_path = r'{}_{}@http-dyn.dobel.com_9020.zip'.format(proxy_username, proxy_password) manifest_json = """ { "version": "1.0.0", "manifest_version": 2, "name": "Dobel Proxy", "permissions": [ "proxy", "tabs", "unlimitedStorage", "storage", "<all_urls>", "webRequest", "webRequestBlocking" ], "background": { "scripts": ["background.js"] }, "minimum_chrome_version":"22.0.0" } """ background_js = string.Template( """ var config = { mode: "fixed_servers", rules: { sin
