certipy-ad 5.1.0-1
Package Information
| Description | Tool for Active Directory Certificate Services enumeration and abuse Powerful offensive and defensive toolkit for enumerating and abusing Active Directory Certificate Services (AD CS). Helps red teamers, penetration testers, and defenders assess AD CS misconfigurations - including full support for identifying and exploiting all known ESC1-ESC17 attack paths. |
|---|---|
| Maintainer | Debian Python Team <team+python@tracker.debian.org> |
| Changed By | Lester Guerzon <lester@guerzon.net> |
| Sponsor | eamanu@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/python-team/packages/certipy-ad.git (browse) |
| Closes | #1146839 |
| Tracker | https://tracker.debian.org/pkg/certipy-ad |
| Uploaded | 2 hours ago |
New Package Report
.changes
| Date | Sun, 06 Sep 2026 12:47:05 +0800 |
|---|---|
| Source | certipy-ad |
| Version | 5.1.0-1 |
| Changed-By | Lester Guerzon <lester@guerzon.net> |
| Architecture | source all |
| Distribution | unstable |
Changelog
certipy-ad (5.1.0-1) unstable; urgency=medium . * Initial release. (Closes: #1146839)
.dsc
| Priority | optional |
|---|---|
| Component | main |
| Package-List | python3-certipy-ad deb python optional arch=all |
| Section | python |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: Certipy Upstream-Contact: Oliver Lyak Source: https://github.com/ly4k/Certipy Files: * Copyright: 2021 ly4k License: Expat Files: debian/* Copyright: 2026 Lester Guerzon <lester@guerzon.net> License: Expat License: Expat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 1 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 1 hour ago.
Report
DFSG NEW review for certipy-ad version 5.1.0-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 1 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
debian/copyright is DEP-5 with the correct Format URL. Every upstream file is covered by Files: * with Copyright 2021 ly4k, which is exactly what LICENSE says (MIT License / Copyright (c) 2021 ly4k), and Files: debian/* names Lester Guerzon. The Expat text is reproduced in full in a stand-alone License paragraph, so the notice is preserved. Nothing in the tree is under other terms: no second LICENSE/NOTICE, no non-commercial or no-modification wording, no vendored third-party code, no built files, minified code, PDFs or images. The pre-scan's author check found no holder that the copyright file omits.
Packaging
Conventional Debian Python Team packaging: 3.0 (quilt), debhelper compat 14 with dh-sequence-python3 and pybuild-plugin-pyproject, Standards-Version 4.7.4 against Policy 4.7.4.1, Vcs-* and Homepage set, autopkgtest present, man page generated by help2man and installed, and one applied quilt patch. Every third-party module imported by the code is provided by a package in Depends, and all of them (plus the Build-Depends) exist in unstable at usable versions. The Conflicts with python3-certipy is correct: that package also ships /usr/bin/certipy and already declares the reverse conflict. The only defect is the DEP-3 header of the patch.
Issues
minor packaging 1. relax-dependencies.patch's DEP-3 Description says 'remove dependencies' but the patch only relaxes two version constraints ◂
-
Files:
debian/patches/relax-dependencies.patch:1-2 -
Basis: checked, in the package or with a reference tool
-
Evidence:
Description: remove dependencies --- a/pyproject.toml - "cryptography~=42.0.8", + "cryptography>=42.0.8", - "beautifulsoup4~=4.13.4", + "beautifulsoup4>=4.13.4", -
Problem: DEP-3 defines Description as the purpose of the patch. No dependency is removed: two of the eleven entries in pyproject.toml merely lose their
~=upper bound so that Debian's newer cryptography and beautifulsoup4 can be used. A later maintainer reading the header will look for a removed dependency that is not there, and its purpose, when the bounds may be restored, is lost. -
Fix: Rewrite the Description to what the patch does, e.g. "Relax the cryptography and beautifulsoup4 version constraints for the versions in Debian" (and optionally note in the body that both are
~=upper bounds).
Verified ◂
- Inventoried the whole upstream tree (66 files, excluding .pc/ and debian/): only Python sources under certipy/, pyproject.toml, LICENSE, README.md, CONTRIBUTING.md, Certipy.spec, .flake8, pyrightconfig.json, .gitignore and .github/ files. No binaries, archives, minified files, PDFs, images or fonts; nothing for the pre-scan's built-file or non-free-wording checks to list.
- LICENSE is the Expat/MIT text with
Copyright (c) 2021 ly4k; debian/copyrightFiles: *matches that holder and licence, and the stand-alone License: Expat paragraph reproduces the full text (one comma differs from LICENSE, no change of meaning). - A grep of the whole tree for Copyright, (C), (c), SPDX-License-Identifier, Licensed under, Permission is hereby granted, GNU, Apache License, Mozilla Public, public domain and All rights reserved matches only LICENSE and debian/copyright; there is no subdirectory licence file and no vendored library, so no second holder or licence needs a stanza.
- debian/copyright is machine-readable: Format is the exact copyright-format/1.0 URL,
Files: *precedes the later, overridingFiles: debian/*, both stanzas carry Copyright and License, and the short name Expat is defined by a stand-alone License paragraph. - Pre-scan author check (
dfsg-author-check) reportedevery holder found is named in debian/copyrightand listed no file to account for. - Runtime dependencies checked against imports in all of certipy/: asn1crypto, cryptography, impacket, ldap3, pyasn1, dns (dnspython), requests, Cryptodome (pycryptodome), bs4, httpx, argcomplete are all in Depends; there is no undeclared third-party import. neo4j appears only inside an optional
bloodhoundextra, is not needed for the package's commands and is not in Debian. - Every package named in Depends and Build-Depends exists in unstable: python3-cryptography 49.0.0, python3-bs4 4.15.0, python3-impacket 0.13.1, python3-ldap3 2.9.1, python3-pyasn1 0.6.5, python3-asn1crypto 1.5.1, python3-dnspython 2.8.0, python3-pycryptodome 3.20.0, python3-requests 2.34.2, python3-httpx 0.28.1, python3-argcomplete 3.7.0.
- Standards-Version 4.7.4 matches the reviewing system's Policy 4.7.4.1 in its first two components (policy tool, table of contents), so it is current; debhelper-compat (= 14) is the recommended level; at compat 14 dh_gencontrol adds ${misc:Depends}/${shlibs:Depends}/${python3:Depends} itself, so their absence from control is not a fault.
- Conflicts: python3-certipy is justified: the archive's python3-certipy 0.2.3-2 (LLNL) installs /usr/bin/certipy (apt-cache:
Commands: certipy) and itself declaresConflicts: python3-certipy-ad, so the two packages cannot be co-installed, and Conflicts (with no Replaces needed) is the right relation. - Man page: help2man is in Build-Depends and generate the page in execute_after_dh_auto_install from the pybuild-installed script at debian/python3-certipy-ad/usr/bin/certipy with PYTHONPATH set to pybuild's install dir (DEFAULT_INSTALL_DIR
/usr/lib/python{version}/dist-packages, so the path in debian/rules matches); debian/certipy.1 is removed by debian/clean.dh $@is the first target, so the default goal is right. debian/manpages is the prefix-less form; Dh_Lib::pkgfile triesdebian/manpagesfor the main package, so dh_installman installs the generated page. certipy --help(used by the man page and by the autopkgtest) imports only argcomplete at top level: certipy/commands/parsers/init.py loads the parsers, which import argparse/typing and the command modules only inside functions; python3-argcomplete and python3-impacket are in Build-Depends, so the build-time run has what it needs.- debian/tests/control runs
certipy --helpwithRestrictions: superficial, allow-stderr; entry.py prints its banner to stderr and argparse exits 0 for --help, so the test is meaningful and not failed by the banner. Testsuite: autopkgtest is in the .dsc. - gbp.conf's
cleaner = /bin/trueis redundant rather than harmful: gbp-buildpackage(1) documents /bin/true as the default --git-cleaner. - 3.0 (quilt) with a single patch whose header has Description/Author/Forwarded/Last-Update; the patch is applied (quilt series, .pc/applied-patches) and the patched pyproject.toml in the tree shows both new constraints.
- debian/changelog: certipy-ad 5.1.0-1, unstable, urgency=medium, Initial release closing #1146839; version matches the .dsc and the orig tarball.
- uscan found the packaged version as the newest upstream release (upstream
5.1.0, packaged5.1.0).
Not confirmed ◂
- Whether every code path works with Debian's python3-cryptography 49.0.0 and python3-pycryptodome 3.20.0, which are outside upstream's declared
cryptography~=42.0.8andpycryptodome~=3.22.0(the patch relaxes only the first); the program cannot be executed in this read-only review and the autopkgtest only checks --help. - The package was not built and its autopkgtest was not run; only the packaging as written could be inspected.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader was emailed about the review 1 hour ago.